Esempio n. 1
0
    public virtual void CompleteMission(IMission mission)
    {
        string type = mission.GetType().Name;

        switch (type)
        {
        case "Easy":
            this.Endurance -= 20;
            this.AmmunitionRevision(30);
            this.Experience += mission.EnduranceRequired;
            break;

        case "Medium":
            this.Endurance -= 50;
            this.AmmunitionRevision(50);
            this.Experience += mission.EnduranceRequired;
            break;

        case "Hard":
            this.Endurance -= 80;
            this.AmmunitionRevision(70);
            this.Experience += mission.EnduranceRequired;
            break;
        }
    }
Esempio n. 2
0
        private MissionModel GetModel(Data.MissionData data, IMission item)
        {
            var model = new MissionModel();

            model.Id   = item.GetType().FullName;
            model.Name = item.Name;
            if (item.IsStopping())
            {
                model.State = MissionRunState.Stopping;
            }
            else if (item.IsRunning())
            {
                model.State = MissionRunState.Running;
            }
            else
            {
                model.State = MissionRunState.Stoped;
            }
            model.Inner = item.IsExecuting() ? MissionExecuteState.Busy : MissionExecuteState.Idle;

            var value = GetValue(item, data);

            model.Type    = value.Type;
            model.Seconds = value.Seconds;
            return(model);
        }
Esempio n. 3
0
 public override string ToString()
 {
     return(_mission.GetType().FullName + " " + _mc);
 }
Esempio n. 4
0
 private static MethodInfo[] GetStepMethods(IMission instance)
 {
     return(instance.GetType().GetMethods().Where(m => m.Name.StartsWith("Step")).OrderBy(m => m.Name).ToArray());
 }