Ejemplo n.º 1
0
 //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();
     }
 }
Ejemplo n.º 2
0
    //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;
                }
            }
        }
    }