private int SortByDistanceFromKids(RoomObjective roomA, RoomObjective roomB) { var distA = (roomA.DoorPos - _kidPos).sqrMagnitude; var distB = (roomB.DoorPos - _kidPos).sqrMagnitude; return(distA.CompareTo(distB)); }
private void Start() { room = GetComponentInParent <RoomObjective>(); var lm = FindObjectOfType <LevelManager>(); OnDestroyed += lm.AddDamageCashValue; }
public void SetUpObjective() { switch (activeObjective) { case RoomObjectiveType.None: break; case RoomObjectiveType.KillAll: Objective = new RoomObjectiveKillAll(this, parentRoom, roomEnemyManager); break; case RoomObjectiveType.DestroyFeature: break; case RoomObjectiveType.EnemyWaves: break; case RoomObjectiveType.Rescue: break; } }
public void EnterOrLeaveRoom(RoomObjective room) { //IsInRoom = !IsInRoom; if (IsInRoom) { room.SetLights(true); room.OnPlayerEntered += _owner.RunAway; room.OnRoomDestroyed += RoomIsDestroyed; } room.OnPlayerEntered -= _owner.RunAway; room.OnRoomDestroyed -= RoomIsDestroyed; }
public override void Init() { target = Owner.TargetRoom; Nav.isStopped = false; if (target == null) { Owner.Fsm.ChangeState(Owner.Fsm.LeaveLevel); return; } Nav.SetDestination(target.transform.position); }
private void RemoveRoom(RoomObjective room) { _rooms.Remove(room); }
private void Start() { _room = GetComponentInParent <RoomObjective>(); Setup(); }
private void SetCurrentObjective(GameObject room) { CurrentObjective = room.GetComponent <RoomObjective>(); CurrentObjective.OnObjectiveComplete = ProgressToNextRoom; }
public void SetObjective(RoomObjective room) { _owner.TargetRoom = room; }
private void RoomIsDestroyed(RoomObjective room) { Debug.Log("room destroyed"); ChangeState(LeaveRoom); }