示例#1
0
    private void SetSubMission(Transform parent, uint missionID, bool isCleared)
    {
        SetActive(parent, UI.SPR_MISSION_INFO_CROWN, isCleared);
        SetActive(parent, UI.LBL_MISSION_INFO, true);
        QuestTable.MissionTableData missionData = Singleton <QuestTable> .I.GetMissionData(missionID);

        SetLabelText(parent, UI.LBL_MISSION_INFO, missionData.missionText);
    }
    public static MissionCheckBase CreateMissionCheck(QuestTable.MissionTableData data)
    {
        MissionCheckBase missionCheckBase = null;

        switch (data.missionType)
        {
        case MISSION_TYPE.DEAD:
            missionCheckBase = new MissionCheckDead();
            break;

        case MISSION_TYPE.RECEIVE_DAMAGE:
            missionCheckBase = new MissionCheckReceiveDamage();
            break;

        case MISSION_TYPE.CLEAR_NUM:
            missionCheckBase = new MissionCheckClearNum();
            break;

        case MISSION_TYPE.BAD_STATUS_COUNT:
            missionCheckBase = new MissionCheckBadStatus();
            break;

        case MISSION_TYPE.EQUIP:
            missionCheckBase = new MissionCheckEqpip();
            break;

        case MISSION_TYPE.CLEAR_TIME:
            missionCheckBase = new MissionCheckClearTime();
            break;

        case MISSION_TYPE.SKILL:
            missionCheckBase = new MissionCheckSkill();
            break;

        case MISSION_TYPE.BREAK_NUM:
            missionCheckBase = new MissionCheckBreakNum();
            break;

        case MISSION_TYPE.DOWN_COUNT:
            missionCheckBase = new MissionCheckDownCount();
            break;

        case MISSION_TYPE.ONCE_DAMAGE:
            missionCheckBase = new MissionCheckOneDamage();
            break;

        default:
            missionCheckBase = new MissionCheckBase();
            break;
        }
        if (missionCheckBase == null)
        {
            return(null);
        }
        missionCheckBase.Initialize(data.missionRequire, data.missionParam);
        return(missionCheckBase);
    }
示例#3
0
 public Mission(QuestTable.MissionTableData _table, CLEAR_STATUS _state = CLEAR_STATUS.LOCK)
 {
     tableData = _table;
     state     = _state;
 }
    protected void UpdateSubMission()
    {
        UI[] array = new UI[3]
        {
            UI.OBJ_MISSION_INFO_1,
            UI.OBJ_MISSION_INFO_2,
            UI.OBJ_MISSION_INFO_3
        };
        UI[] array2 = new UI[3]
        {
            UI.OBJ_TOP_CROWN_1,
            UI.OBJ_TOP_CROWN_2,
            UI.OBJ_TOP_CROWN_3
        };
        UI[] array3 = new UI[3]
        {
            UI.LBL_MISSION_INFO_1,
            UI.LBL_MISSION_INFO_2,
            UI.LBL_MISSION_INFO_3
        };
        UI[] array4 = new UI[3]
        {
            UI.SPR_MISSION_INFO_CROWN_1,
            UI.SPR_MISSION_INFO_CROWN_2,
            UI.SPR_MISSION_INFO_CROWN_3
        };
        UI[] array5 = new UI[3]
        {
            UI.SPR_CROWN_1,
            UI.SPR_CROWN_2,
            UI.SPR_CROWN_3
        };
        if (info.needs.Length != 0)
        {
            uint questId = info.needs[0].questId;
            if (questId != 0)
            {
                QuestTable.QuestTableData questData = Singleton <QuestTable> .I.GetQuestData(questId);

                if (!questData.IsMissionExist())
                {
                    SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, false);
                }
                else
                {
                    ClearStatusQuest clearStatusQuestData = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestData(questId);

                    if (clearStatusQuestData == null)
                    {
                        SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, true);
                        int i = 0;
                        for (int num = questData.missionID.Length; i < num; i++)
                        {
                            uint num2 = questData.missionID[i];
                            SetActive(submissionFrame, array[i], num2 != 0);
                            SetActive(submissionFrame, array2[i], num2 != 0);
                            SetActive(submissionFrame, array3[i], num2 != 0);
                            if (num2 != 0)
                            {
                                SetActive(submissionFrame, array4[i], false);
                                SetActive(submissionFrame, array5[i], false);
                                QuestTable.MissionTableData missionData = Singleton <QuestTable> .I.GetMissionData(num2);

                                SetLabelText(submissionFrame, array3[i], missionData.missionText);
                            }
                        }
                    }
                    else
                    {
                        SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, true);
                        int j = 0;
                        for (int count = clearStatusQuestData.missionStatus.Count; j < count; j++)
                        {
                            CLEAR_STATUS cLEAR_STATUS = (CLEAR_STATUS)clearStatusQuestData.missionStatus[j];
                            SetActive(submissionFrame, array[j], questData.missionID[j] != 0);
                            SetActive(submissionFrame, array2[j], questData.missionID[j] != 0);
                            SetActive(submissionFrame, array4[j], cLEAR_STATUS >= CLEAR_STATUS.CLEAR);
                            SetActive(submissionFrame, array5[j], cLEAR_STATUS >= CLEAR_STATUS.CLEAR);
                            QuestTable.MissionTableData missionData2 = Singleton <QuestTable> .I.GetMissionData(questData.missionID[j]);

                            SetLabelText(submissionFrame, array3[j], missionData2.missionText);
                        }
                    }
                }
            }
        }
    }