コード例 #1
0
ファイル: Quest.cs プロジェクト: JaceDigital/quest-system
 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));
 }
コード例 #2
0
 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);
 }