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(); } }