public bool CanActivate() { for (int i = 0; i < conditions.Count; i++) { ICondition condition = conditions[i]; condition.Initialize(QuestManager.current.PlayerInfo.gameObject, QuestManager.current.PlayerInfo, QuestManager.current.PlayerInfo.gameObject.GetComponent <Blackboard>()); condition.OnStart(); if (condition.OnUpdate() == ActionStatus.Failure) { condition.OnEnd(); return(false); } } return(Status == Status.Inactive || (Status == Status.Canceled && this.m_RestartCanceled)); }
public bool CheckConditions() { for (int i = 0; i < conditions.Count; i++) { ICondition condition = conditions[i]; condition.Initialize(InventoryManager.current.PlayerInfo.gameObject, InventoryManager.current.PlayerInfo, InventoryManager.current.PlayerInfo.gameObject.GetComponent <Blackboard>()); condition.OnStart(); if (condition.OnUpdate() == ActionStatus.Failure) { condition.OnEnd(); return(false); } } return(true); }