Beispiel #1
0
 public ExploreStatus(PartyModel.ExploreInfo exploreInfo, bool host)
 {
     this.exploreInfo = exploreInfo;
     isHost           = host;
     portals          = InitPortalPoint(exploreInfo.mapIds);
     hostDCRemainTime = 30f;
 }
Beispiel #2
0
    public static void QuestStart(Action <bool> call_back = null)
    {
        int           eSetNo  = MonoBehaviourSingleton <UserInfoManager> .I.userStatus.eSetNo;
        int           questId = (int)MonoBehaviourSingleton <QuestManager> .I.currentQuestID;
        bool          currentQuestIsFreeJoin = MonoBehaviourSingleton <QuestManager> .I.currentQuestIsFreeJoin;
        ExploreStatus exploreStatus          = MonoBehaviourSingleton <QuestManager> .I.GetExploreStatus();

        if (MonoBehaviourSingleton <InGameManager> .I.IsRush())
        {
            PartyModel.Party partyData = MonoBehaviourSingleton <PartyManager> .I.partyData;
            questId = partyData.quest.questId;
        }
        MonoBehaviourSingleton <QuestManager> .I.SendQuestStart(questId, eSetNo, currentQuestIsFreeJoin, delegate(bool is_start)
        {
            Logd("QuestStarted:{0}", is_start);
            if (is_start)
            {
                uint num = MonoBehaviourSingleton <QuestManager> .I.GetCurrentMapId();
                if (MonoBehaviourSingleton <QuestManager> .I.IsExplore())
                {
                    num = (uint)MonoBehaviourSingleton <QuestManager> .I.GetExploreStartMapId();
                }
                if (MonoBehaviourSingleton <FieldManager> .I.currentMapID != num)
                {
                    MonoBehaviourSingleton <FieldManager> .I.SetCurrentFieldMapID(num, 0f, 0f, 0f);
                }
                MonoBehaviourSingleton <QuestManager> .I.resultUserCollection.AddSelf();
                if (MonoBehaviourSingleton <QuestManager> .I.GetCurrentQuestType() == QUEST_TYPE.ORDER && MonoBehaviourSingleton <UserInfoManager> .I.userStatus.tutorialQuestId != MonoBehaviourSingleton <QuestManager> .I.GetCurrentQuestId())
                {
                    MonoBehaviourSingleton <QuestManager> .I.isBackGachaQuest = true;
                }
            }
            if (call_back != null)
            {
                call_back(is_start);
            }
        });

        if (exploreStatus != null)
        {
            MonoBehaviourSingleton <QuestManager> .I.SetExploreStatus(exploreStatus);
        }
        if (PartyManager.IsValidInParty())
        {
            PartyModel.Party       partyData2 = MonoBehaviourSingleton <PartyManager> .I.partyData;
            PartyModel.ExploreInfo explore    = partyData2.quest.explore;
            if (explore != null)
            {
                MonoBehaviourSingleton <QuestManager> .I.SetExploreInfo(explore);
            }
        }
    }
Beispiel #3
0
    private static void StartCoopAndQuestStart(bool is_m, bool isFromField, Action <bool, bool, bool, bool> call_back = null)
    {
        if (is_m)
        {
            if (PartyManager.IsValidInParty())
            {
                PartyModel.Party       partyData = MonoBehaviourSingleton <PartyManager> .I.partyData;
                PartyModel.ExploreInfo explore   = partyData.quest.explore;
                if (explore != null)
                {
                    MonoBehaviourSingleton <QuestManager> .I.SetExploreInfo(explore);

                    MonoBehaviourSingleton <QuestManager> .I.SetExploreStatus(new ExploreStatus(explore, true));
                }
                if (partyData.quest.rush != null)
                {
                    MonoBehaviourSingleton <InGameManager> .I.SetRushInfo(partyData.quest.questId, partyData.quest.rush);

                    MonoBehaviourSingleton <QuestManager> .I.SetCurrentQuestID((uint)partyData.quest.rush.waves[0].questId, true);
                }
            }
            if (isFromField)
            {
                MonoBehaviourSingleton <InGameManager> .I.currentJoinType = CoopClient.CLIENT_JOIN_TYPE.FROM_FIELD;
            }
            else
            {
                MonoBehaviourSingleton <InGameManager> .I.currentJoinType = CoopClient.CLIENT_JOIN_TYPE.FROM_QUEST_LIST;
            }
            StartCoop(delegate(bool is_c, bool is_r)
            {
                if (is_r)
                {
                    QuestStart(delegate(bool is_s)
                    {
                        if (call_back != null)
                        {
                            call_back(is_m, is_c, is_r, is_s);
                        }
                    });
                }
                else if (call_back != null)
                {
                    call_back(is_m, is_c, is_r, false);
                }
            }, false);
        }
        else if (call_back != null)
        {
            call_back(is_m, false, false, false);
        }
    }