Esempio n. 1
0
    //  public void SignCameraUpdate()
    // {
    //     sign.transform.LookAt(FollowingCamera.camPos);
    // }

    override public void StopWork()
    {
        if (destroyed)
        {
            return;
        }
        else
        {
            destroyed = true;
        }
        if (workersCount > 0)
        {
            GameMaster.colonyController.AddWorkers(workersCount);
            workersCount = 0;
        }
        if (sign != null)
        {
            // FollowingCamera.main.cameraChangedEvent -= SignCameraUpdate;
            Destroy(sign.gameObject);
        }
        if (workObject != null)
        {
            if (workObject.excavatingStatus == 0)
            {
                workObject.myChunk.AddBlock(new ChunkPos(workObject.pos.x, workObject.pos.y + 1, workObject.pos.z), BlockType.Surface, workObject.material_id, false);
            }
            if (workObject.worksite == this)
            {
                workObject.ResetWorksite();
            }
        }
        if (worksitesList.Contains(this))
        {
            worksitesList.Remove(this);
        }
        if (subscribedToUpdate)
        {
            GameMaster.realMaster.labourUpdateEvent -= WorkUpdate;
            subscribedToUpdate = false;
        }
        if (showOnGUI)
        {
            observer.SelfShutOff();
            showOnGUI = false;
        }
        Destroy(this);
    }
Esempio n. 2
0
 override public void StopWork()
 {
     if (destroyed)
     {
         return;
     }
     else
     {
         destroyed = true;
     }
     if (workersCount > 0)
     {
         GameMaster.colonyController.AddWorkers(workersCount);
         workersCount = 0;
     }
     if (sign != null)
     {
         Destroy(sign.gameObject);
     }
     if (worksitesList.Contains(this))
     {
         worksitesList.Remove(this);
     }
     if (subscribedToUpdate)
     {
         GameMaster.realMaster.labourUpdateEvent -= WorkUpdate;
         subscribedToUpdate = false;
     }
     if (workObject != null)
     {
         if (workObject.worksite == this)
         {
             workObject.ResetWorksite();
         }
         workObject = null;
     }
     if (showOnGUI)
     {
         observer.SelfShutOff();
         showOnGUI = false;
     }
     Destroy(this);
 }