コード例 #1
0
ファイル: Quest.cs プロジェクト: BeshoyFD/kalsharp
        private void ExecuteCase(Case Case, Character Character)
        {
            //check each condition
            foreach (Condition condition in Case.Conditions)
            {
                if (!condition.Check(Character))
                {
                    return;
                }
            }

            //execute each action
            foreach (Quests.Action action in Case.Actions)
            {
                action.Execute(Character);
            }
        }
コード例 #2
0
ファイル: QuestLoader.cs プロジェクト: BeshoyFD/kalsharp
        public static Case LoadCase(KmlNode CaseNode)
        {
            Case newCase = new Case();
            newCase.Actions = new List<Quests.Action>();
            newCase.Conditions = new List<Condition>();
            //load conditions
            //KmlNode conditions = CaseNode.SelectSingleNode("if");
            //foreach (KmlNode conditionNode in conditions.ChildNodes)
            //{
            //    newCase.Conditions.Add(LoadCondition(conditionNode));
            //}

            //load actions
            KmlNode actions = CaseNode.SelectSingleNode("then");
            foreach (KmlNode actionNode in actions.ChildNodes)
            {
                newCase.Actions.Add(LoadAction(actionNode));
            }

            return newCase;
        }