Пример #1
0
        /// <summary>
        /// 返回对应类型的条件
        /// </summary>
        protected ITaskCondition CreateTaskCondition(Int32 condition)
        {
            ITaskCondition taskcondition = null;

            switch (condition)
            {
            case TaskConditionTypeConstDefine.TaskEventNone:
                break;

            case TaskConditionTypeConstDefine.TimeTaskEvent:
                taskcondition = new TimeTaskCondition(this, 0);
                break;

            case TaskConditionTypeConstDefine.KillTaskEvent:
                taskcondition = new KillTaskCondition(this, 0, levelActor);
                break;

            case TaskConditionTypeConstDefine.EnemyInitTask:
                taskcondition = new EnemyInitTaskCondition(this, levelActor);
                break;

            case TaskConditionTypeConstDefine.InitByPositionTask:
                taskcondition = new InitByPositionTaskCondition(this, levelActor, 0, 1, 2);
                break;

            case TaskConditionTypeConstDefine.LevelStartEvent:
                taskcondition = new LevelStartTaskCondition(levelActor);
                break;
            }
            return(taskcondition);
        }
Пример #2
0
        public TaskEventBase(int taskid, ILevelActorComponentBaseContainer levelActor, Int32 condition, Int32 result, Dictionary <int, int> values, string desc)
        {
            this.taskid     = taskid;
            this.levelActor = levelActor;
            taskcondition   = new Dictionary <int, int>();
            foreach (var i in values)
            {
                AddValue(i.Key, i.Value);
            }
            m_taskconditiontypedefine = condition;
            m_taskresulttypedefine    = result;

            taskCondition = CreateTaskCondition(m_taskconditiontypedefine);
            taskResult    = CreateTaskResult(m_taskresulttypedefine);

            taskDescription = desc;
        }
Пример #3
0
        public void ConditionalTaskTest_ConditionTrue_RunTask()
        {
            ITaskCondition condition = mocks.StrictMock <ITaskCondition>();

            Expect.Call(condition.Eval(null)).IgnoreArguments().Return(true);
            ITask runTask = mocks.StrictMock <ITask>();

            Expect.Call(delegate { runTask.Run(null); }).IgnoreArguments();
            ITask noRunTask = mocks.StrictMock <ITask>();
            IIntegrationResult ResultMock = IntegrationResultMother.CreateSuccessful();

            mocks.ReplayAll();

            ConditionalTask task = new ConditionalTask();

            task.TaskConditions = new[] { condition };
            task.Tasks          = new[] { runTask };
            task.ElseTasks      = new[] { noRunTask };
            task.Run(ResultMock);

            mocks.VerifyAll();
        }
Пример #4
0
 public SkillTask(ITaskCondition condition)
 {
     this.m_Condition = condition;
 }
Пример #5
0
 public SkillTask(string name, ITaskCondition condition)
 {
     this.m_Name      = name;
     this.m_Condition = condition;
 }
Пример #6
0
 public TutorialTask(string text, ITaskCondition condition)
 {
     _text      = text;
     _condition = condition;
 }