public void ReleaseQuest() { _lockedQuest = null; UIEvents.LockedQuest_Release(); foreach (OpenQuest oq in _openQuests) { oq.gameObject.SetActive(true); } }
public void LockQuest(OpenQuest openQuest) { _lockedQuest = openQuest; UIEvents.LockedQuest_Lock(_lockedQuest); foreach (OpenQuest oq in _openQuests) { oq.gameObject.SetActive(false); } }
public void RemoveOpenQuest(OpenQuest oq) { _openQuests.Remove(oq); UIEvents.OpenQuests_Set(_openQuests); if (_openQuests.Count == 0) { foreach (GameObject go in _questGameObjects) { go.SetActive(false); } } }
public void AddOpenQuest(OpenQuest oq) { _openQuests.Add(oq); UIEvents.OpenQuests_Set(_openQuests); if (_openQuests.Count == 1) { foreach (GameObject go in _questGameObjects) { go.SetActive(true); } } }
public Vector3 GetClosestTargetPosition() { Vector3 closestPosition = Vector3.zero; if (QuestsActive()) { Vector3 playerPos = Core.instance.GetPlayer().transform.position; ActiveQuest closestTarget = null; float closestDistance = -1; foreach (ActiveQuest aq in _activeQuests) { float distance = Vector3.Distance(playerPos, aq.transform.position); if (distance < closestDistance || closestDistance < 0) { closestTarget = aq; closestDistance = distance; } } closestPosition = closestTarget.transform.position; } else if (QuestsOpen()) { Vector3 playerPos = Core.instance.GetPlayer().transform.position; OpenQuest closestTarget = null; float closestDistance = -1; foreach (OpenQuest oq in _openQuests) { float distance = Vector3.Distance(playerPos, oq.transform.position); if (distance < closestDistance || closestDistance < 0) { closestTarget = oq; closestDistance = distance; } } closestPosition = closestTarget.transform.position; } return(closestPosition); }
void LockedQuestChanged() { lockedQuest = events.LockedQuest_Get(); TextUpdate(); }
public void LockedQuest_Release() { _lockedQuest = null; LockedQuest_Changed.Invoke(); }
//----------------------------------------------------------------------------- // LOCKED QUESTS public void LockedQuest_Lock(OpenQuest quest) { _lockedQuest = quest; LockedQuest_Changed.Invoke(); }
void Awake() { instance = this; }