Пример #1
0
        private TowerQuestMissionTypeAttribute GetTowerQuestMissionTypeAttribute(EMissionType missionType)
        {
            TowerQuestMissionTypeAttribute missionTypeAttribute = (TowerQuestMissionTypeAttribute)null;

            if (!QuestBonusObjective.m_TowerQuestMissionTypeDic.TryGetValue(missionType, out missionTypeAttribute))
            {
                missionTypeAttribute = GameUtility.GetCustomAttribute <TowerQuestMissionTypeAttribute>((object)missionType, false);
                QuestBonusObjective.m_TowerQuestMissionTypeDic.Add(missionType, missionTypeAttribute);
            }
            return(missionTypeAttribute);
        }
Пример #2
0
        public bool CheckMissionValueAchievable(int missions_val)
        {
            if (!this.IsProgressMission())
            {
                return(false);
            }
            TowerQuestMissionTypeAttribute missionTypeAttribute1 = this.GetTowerQuestMissionTypeAttribute(this.Type);

            if (missionTypeAttribute1 == null)
            {
                DebugUtility.LogError(string.Format("塔ではサポートされていないミッションです。⇒ type : {0}", (object)this.Type));
                return(false);
            }
            QuestMissionTypeAttribute missionTypeAttribute2 = this.GetQuestMissionTypeAttribute(this.Type);
            string empty = string.Empty;
            int    num   = 0;

            if (missionTypeAttribute2.ValueType == QuestMissionValueType.ValueIsInt)
            {
                this.TryGetIntValue(ref num);
            }
            else if (missionTypeAttribute2.ValueType == QuestMissionValueType.ValueIsKeyAndIntValue)
            {
                this.TryGetKeyValue(ref empty, ref num);
            }
            switch (missionTypeAttribute1.ProgressJudgeType)
            {
            case QuestMissionProgressJudgeType.GreatorEqual:
                return(missions_val >= num);

            case QuestMissionProgressJudgeType.Greator:
                return(missions_val > num);

            case QuestMissionProgressJudgeType.LessEqual:
                return(missions_val <= num);

            case QuestMissionProgressJudgeType.Less:
                return(missions_val < num);

            case QuestMissionProgressJudgeType.Equal:
                return(missions_val == num);

            case QuestMissionProgressJudgeType.EqualZero:
                return(missions_val == 0);

            default:
                return(false);
            }
        }
Пример #3
0
        public bool IsProgressMission()
        {
            if (!this.IsTakeoverProgress)
            {
                return(false);
            }
            TowerQuestMissionTypeAttribute missionTypeAttribute = this.GetTowerQuestMissionTypeAttribute(this.Type);

            if (missionTypeAttribute == null)
            {
                DebugUtility.LogError(string.Format("塔ではサポートされていないミッションです。⇒ type : {0}", (object)this.Type));
                return(false);
            }
            if (missionTypeAttribute.ProgressJudgeType != QuestMissionProgressJudgeType.NotSupport)
            {
                return(true);
            }
            DebugUtility.LogError(string.Format("このミッションはバトルを跨ぐ設定をサポートしていません。⇒ type : {0}", (object)this.Type));
            return(false);
        }