//apply once upon instantiation public void AppendGO(SparseGrid.Voxel voxel) { if ((voxel.Index.x + voxel.Index.y + voxel.Index.z) % 2 == 0) { GameObject go = Instantiate(_A, voxel.Center, Quaternion.identity); voxel.DisplayCell = go; voxel.SwitchOff(); } else { GameObject go = Instantiate(_B, voxel.Center, Quaternion.identity); voxel.DisplayCell = go; voxel.SwitchOff(); } }
//checks to see if there is an empty space below, if so, it moves there public void CheckBottom(SparseGrid.Voxel voxel) { if (voxel.AtWork == false) { var neighbourLow = voxel.GetBottomNeighbour(); if (neighbourLow != null) { if (neighbourLow.On == false) { neighbourLow.SwitchOn(); neighbourLow.Job = voxel.Job; neighbourLow.AtWork = voxel.AtWork; neighbourLow.Idle = voxel.Idle; neighbourLow.Commute = voxel.Commute; voxel.SwitchOff(); voxel.Job = null; voxel.AtWork = false; voxel.Idle = false; voxel.Commute = false; } } } }