예제 #1
0
    void RespawnRoomba()
    {
        GameObject roombaGO =
            Instantiate(roomba, transform.position, transform.rotation);

        roombaGO.transform.parent     = transform;
        roombaGO.transform.localScale = new Vector3(1f, 1f, 1f);
        // set boss and hacker
        ControlStatus cs = roombaGO.GetComponent <ControlStatus> ();

        if (cs)
        {
            cs.Boss   = this.transform;
            cs.Hacker = hacker;
        }
        if (hasOldRoomba)
        {
            FieldOfView fov = roombaGO.GetComponent <FieldOfView> ();
            if (fov)
            {
                fov.radius            = oldFovRadius;
                fov.ignoreVisionBlock = oldIgnoreVisionBlock;
            }
        }
        if (uncontrolled)
        {
            cs.controller = Controller.None;
            cs.GetComponent <LineUpdate> ().DisableLine();
        }
    }