mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-05 02:51:49 +00:00
GfxContext, render refactor
This commit is contained in:
parent
ea729760d4
commit
e3743b8463
12 changed files with 270 additions and 103 deletions
|
|
@ -215,8 +215,21 @@ void PlayerController::updateInteraction(){
|
|||
Camera* camera = player->camera;
|
||||
vec3 end;
|
||||
vec3 norm;
|
||||
|
||||
bool xkey = Events::pressed(keycode::X);
|
||||
bool lclick = Events::jclicked(mousecode::BUTTON_1) ||
|
||||
(xkey && Events::clicked(mousecode::BUTTON_1));
|
||||
bool rclick = Events::jclicked(mousecode::BUTTON_2) ||
|
||||
(xkey && Events::clicked(mousecode::BUTTON_2));
|
||||
float maxDistance = 10.0f;
|
||||
if (xkey) {
|
||||
maxDistance *= 20.0f;
|
||||
}
|
||||
vec3 iend;
|
||||
voxel* vox = chunks->rayCast(camera->position, camera->front, 10.0f, end, norm, iend);
|
||||
voxel* vox = chunks->rayCast(camera->position,
|
||||
camera->front,
|
||||
maxDistance,
|
||||
end, norm, iend);
|
||||
if (vox != nullptr){
|
||||
player->selectedVoxel = *vox;
|
||||
selectedBlockId = vox->id;
|
||||
|
|
@ -238,11 +251,11 @@ void PlayerController::updateInteraction(){
|
|||
}
|
||||
|
||||
Block* block = Block::blocks[vox->id];
|
||||
if (Events::jclicked(mousecode::BUTTON_1) && block->breakable){
|
||||
if (lclick && block->breakable){
|
||||
chunks->set(x,y,z, 0, 0);
|
||||
lighting->onBlockSet(x,y,z, 0);
|
||||
}
|
||||
if (Events::jclicked(mousecode::BUTTON_2)){
|
||||
if (rclick){
|
||||
if (block->model != BlockModel::xsprite){
|
||||
x = (int)(iend.x)+(int)(norm.x);
|
||||
y = (int)(iend.y)+(int)(norm.y);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue