private void DownloadPlacementAsset(MultiTowerFloorParam param)
 {
     if (param.map == null)
     {
         return;
     }
     for (int index1 = 0; index1 < param.map.Count; ++index1)
     {
         if (!string.IsNullOrEmpty(param.map[index1].mapSetName))
         {
             string src = AssetManager.LoadTextData(AssetPath.LocalMap(param.map[index1].mapSetName));
             if (src != null)
             {
                 JSON_MapUnit jsonObject = JSONParser.parseJSONObject <JSON_MapUnit>(src);
                 if (jsonObject != null)
                 {
                     for (int index2 = 0; index2 < jsonObject.enemy.Length; ++index2)
                     {
                         DownloadUtility.LoadUnitIconMedium(jsonObject.enemy[index2].iname);
                     }
                 }
             }
         }
     }
 }
 public override void Begin(FlowNode_MultiPlayJoinRoom self)
 {
   MyPhoton instance = PunMonoSingleton<MyPhoton>.Instance;
   self.mJoinPlayerParam = JSON_MyPhotonPlayerParam.Create(0, 0);
   if (self.mJoinPlayerParam == null)
   {
     self.FailureLobby();
   }
   else
   {
     JSON_MyPhotonRoomParam myPhotonRoomParam = new JSON_MyPhotonRoomParam();
     myPhotonRoomParam.creatorName = MonoSingleton<GameManager>.Instance.Player.Name;
     myPhotonRoomParam.creatorLV = MonoSingleton<GameManager>.Instance.Player.CalcLevel();
     myPhotonRoomParam.creatorFUID = JSON_MyPhotonRoomParam.GetMyCreatorFUID();
     myPhotonRoomParam.roomid = GlobalVars.SelectedMultiPlayRoomID;
     myPhotonRoomParam.comment = GlobalVars.SelectedMultiPlayRoomComment;
     myPhotonRoomParam.passCode = GlobalVars.EditMultiPlayRoomPassCode;
     myPhotonRoomParam.iname = GlobalVars.SelectedQuestID;
     myPhotonRoomParam.type = (int) GlobalVars.SelectedMultiPlayRoomType;
     myPhotonRoomParam.isLINE = !self.IsLINE ? 0 : 1;
     QuestParam quest = MonoSingleton<GameManager>.Instance.FindQuest(GlobalVars.SelectedQuestID);
     MultiTowerFloorParam mtFloorParam = MonoSingleton<GameManager>.Instance.GetMTFloorParam(quest.iname);
     int selectedMultiTowerFloor = GlobalVars.SelectedMultiTowerFloor;
     if (instance.CreateRoom((int) quest.playerNum, GlobalVars.SelectedMultiPlayRoomName, myPhotonRoomParam.Serialize(), self.mJoinPlayerParam.Serialize(), mtFloorParam.tower_id, selectedMultiTowerFloor, -1, (string) null, (string) null, -1, true))
       return;
     self.FailureLobby();
   }
 }
Exemplo n.º 3
0
 public void SetFloorInfo(MultiTowerFloorParam param, int challenge, int cleared, int min_floor = 2147483647)
 {
     if (param != null)
     {
         if (Object.op_Inequality((Object)this.Floor, (Object)null))
         {
             ((Component)this.Floor).get_gameObject().SetActive(true);
             this.Floor.set_text(((int)param.floor).ToString() + "!");
         }
         if ((int)param.floor > challenge)
         {
             this.SetVisible(MultiTowerFloorInfo.Type.Locked);
         }
         else if ((int)param.floor > min_floor)
         {
             this.SetVisible(MultiTowerFloorInfo.Type.PartnerLocked);
         }
         else if ((int)param.floor <= cleared)
         {
             this.SetVisible(MultiTowerFloorInfo.Type.Cleared);
         }
         else
         {
             this.SetVisible(MultiTowerFloorInfo.Type.Current);
         }
     }
     else
     {
         this.SetVisible(MultiTowerFloorInfo.Type.Unknown);
     }
 }
        public void OnUpdateItems(int idx, GameObject obj)
        {
            GameManager instance = MonoSingleton <GameManager> .Instance;

            if (idx < 0 || idx >= this.mMax)
            {
                obj.SetActive(false);
            }
            else
            {
                obj.SetActive(true);
                MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, idx + 1);
                if (mtFloorParam != null)
                {
                    DataSource.Bind <MultiTowerFloorParam>(obj, mtFloorParam);
                }
                else
                {
                    DataSource component = (DataSource)obj.GetComponent <DataSource>();
                    if (Object.op_Inequality((Object)component, (Object)null))
                    {
                        component.Clear();
                    }
                }
                MultiTowerFloorInfo component1 = (MultiTowerFloorInfo)obj.GetComponent <MultiTowerFloorInfo>();
                if (!Object.op_Inequality((Object)component1, (Object)null))
                {
                    return;
                }
                component1.Refresh();
            }
        }
Exemplo n.º 5
0
        private void CreateResult()
        {
            GameManager          instance = MonoSingleton <GameManager> .Instance;
            int                  selectedMultiTowerFloor = GlobalVars.SelectedMultiTowerFloor;
            MultiTowerFloorParam mtFloorParam            = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, selectedMultiTowerFloor);

            if (mtFloorParam == null || !Object.op_Inequality((Object)this.template, (Object)null))
            {
                return;
            }
            List <MultiTowerRewardItem> mtFloorReward = instance.GetMTFloorReward(mtFloorParam.reward_id, this.mRound);

            for (int idx = 0; idx < mtFloorReward.Count; ++idx)
            {
                GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.template);
                if (Object.op_Inequality((Object)gameObject, (Object)null))
                {
                    DataSource.Bind <MultiTowerFloorParam>(gameObject, mtFloorParam);
                    gameObject.SetActive(true);
                    if (this.SetData(idx, false, gameObject))
                    {
                        if (Object.op_Inequality((Object)this.parent, (Object)null))
                        {
                            gameObject.get_transform().SetParent(this.parent.get_transform(), false);
                        }
                    }
                    else
                    {
                        gameObject.SetActive(false);
                    }
                }
            }
            this.template.SetActive(false);
            this.item.SetActive(false);
        }
        public void OnClickDetail()
        {
            QuestParam           dataOfClass = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null);
            MultiTowerFloorParam data        = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null) ?? MonoSingleton <GameManager> .Instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, GlobalVars.SelectedMultiTowerFloor);

            if (!Object.op_Inequality((Object)this.DetailObject, (Object)null) || dataOfClass == null)
            {
                return;
            }
            GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.DetailObject);

            DataSource.Bind <QuestParam>(gameObject, dataOfClass);
            QuestCampaignData[] questCampaigns = MonoSingleton <GameManager> .Instance.FindQuestCampaigns(dataOfClass);

            DataSource.Bind <QuestCampaignData[]>(gameObject, questCampaigns.Length != 0 ? questCampaigns : (QuestCampaignData[])null);
            DataSource.Bind <QuestParam>(gameObject, dataOfClass);
            DataSource.Bind <MultiTowerFloorParam>(gameObject, data);
            MultiTowerQuestInfo component = (MultiTowerQuestInfo)gameObject.GetComponent <MultiTowerQuestInfo>();

            if (!Object.op_Inequality((Object)component, (Object)null))
            {
                return;
            }
            component.Refresh();
        }
Exemplo n.º 7
0
        private void SetEnemy(MultiTowerFloorParam param)
        {
            int index1 = 0;

            if (param.map == null)
            {
                return;
            }
            string src = AssetManager.LoadTextData(AssetPath.LocalMap(param.map[0].mapSetName));

            if (src == null)
            {
                return;
            }
            JSON_MapUnit jsonObject = JSONParser.parseJSONObject <JSON_MapUnit>(src);

            if (jsonObject == null || !Object.op_Inequality((Object)this.EnemyTemplate, (Object)null))
            {
                return;
            }
            for (int index2 = 0; index2 < jsonObject.enemy.Length; ++index2)
            {
                NPCSetting npcSetting = new NPCSetting(jsonObject.enemy[index2]);
                Unit       data       = new Unit();
                if (data != null && data.Setup((UnitData)null, (UnitSetting)npcSetting, (Unit.DropItem)null, (Unit.DropItem)null) && !data.IsGimmick)
                {
                    GameObject root;
                    if (index1 + 1 > this.mEnemyObject.Count)
                    {
                        root = (GameObject)Object.Instantiate <GameObject>((M0)this.EnemyTemplate);
                        if (!Object.op_Equality((Object)root, (Object)null))
                        {
                            this.mEnemyObject.Add(root);
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else
                    {
                        root = this.mEnemyObject[index1];
                    }
                    DataSource.Bind <Unit>(root, data);
                    GameParameter.UpdateAll(root);
                    if (Object.op_Inequality((Object)this.EnemyRoot, (Object)null))
                    {
                        root.get_transform().SetParent(this.EnemyRoot.get_transform(), false);
                    }
                    root.SetActive(true);
                    ++index1;
                }
            }
            for (int index2 = index1; index2 < this.mEnemyObject.Count; ++index2)
            {
                this.mEnemyObject[index2].SetActive(false);
            }
            this.EnemyTemplate.SetActive(false);
        }
Exemplo n.º 8
0
        private void Setup(int idx)
        {
            if (this.mIsActivatePinAfterSelectedFloor)
            {
                this.mIsActivatePinAfterSelectedFloor = false;
                FlowNode_GameObject.ActivateOutputLinks((Component)this, 10);
            }
            GameManager          instance     = MonoSingleton <GameManager> .Instance;
            MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, idx);

            if (mtFloorParam == null || !UnityEngine.Object.op_Inequality((UnityEngine.Object) this.QuestInfo, (UnityEngine.Object)null))
            {
                return;
            }
            int mtChallengeFloor  = instance.GetMTChallengeFloor();
            int mtClearedMaxFloor = instance.GetMTClearedMaxFloor();
            int num1 = int.MaxValue;

            if (!this.IsMultiTowerTop)
            {
                num1 = this.GetCanCharengeFloor();
            }
            this.SetButtonIntractable(((int)mtFloorParam.floor <= mtClearedMaxFloor || (int)mtFloorParam.floor == mtChallengeFloor) && (int)mtFloorParam.floor <= num1);
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(this.QuestInfo, (MultiTowerFloorParam)null);

            if (dataOfClass != null && (int)mtFloorParam.floor == (int)dataOfClass.floor)
            {
                return;
            }
            DebugUtility.Log("設定" + mtFloorParam.name);
            QuestParam questParam = mtFloorParam.GetQuestParam();

            DataSource.Bind <MultiTowerFloorParam>(this.QuestInfo, mtFloorParam);
            DataSource.Bind <QuestParam>(this.QuestInfo, questParam);
            GameParameter.UpdateAll(this.QuestInfo);
            MultiTowerQuestInfo component = (MultiTowerQuestInfo)this.QuestInfo.GetComponent <MultiTowerQuestInfo>();

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
            {
                component.Refresh();
            }
            GlobalVars.SelectedMultiTowerID    = mtFloorParam.tower_id;
            GlobalVars.SelectedQuestID         = questParam.iname;
            GlobalVars.SelectedMultiTowerFloor = (int)mtFloorParam.floor;
            int num2 = questParam.RequiredApWithPlayerLv(instance.Player.Lv, true);

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.QuestAP, (UnityEngine.Object)null))
            {
                this.QuestAP.set_text(num2.ToString());
            }
            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ChangeQuestAP, (UnityEngine.Object)null))
            {
                return;
            }
            this.ChangeQuestAP.set_text(num2.ToString());
        }
Exemplo n.º 9
0
        public void SetFloor()
        {
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);

            if (dataOfClass == null)
            {
                return;
            }
            this.MultiTower.OnTapFloor((int)dataOfClass.floor);
        }
Exemplo n.º 10
0
        public void Refresh(int idx = 0)
        {
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);

            if (dataOfClass == null)
            {
                return;
            }
            if (Object.op_Inequality((Object)this.rewardFloor, (Object)null))
            {
                this.rewardFloor.set_text(GameUtility.HalfNum2FullNum(dataOfClass.floor.ToString()) + LocalizedText.Get("sys.MULTI_VERSUS_FLOOR"));
            }
            this.SetData(idx);
        }
 public override void Begin(FlowNode_MultiPlayJoinRoom self)
 {
   MyPhoton instance1 = PunMonoSingleton<MyPhoton>.Instance;
   self.mJoinPlayerParam = JSON_MyPhotonPlayerParam.Create(0, 0);
   if (self.mJoinPlayerParam == null)
   {
     self.FailureLobby();
   }
   else
   {
     GameManager instance2 = MonoSingleton<GameManager>.Instance;
     QuestParam quest = instance2.FindQuest(GlobalVars.SelectedQuestID);
     MultiTowerFloorParam mtFloorParam = instance2.GetMTFloorParam(GlobalVars.SelectedQuestID);
     if (instance1.JoinRandomRoom((byte) (short) quest.playerNum, self.mJoinPlayerParam.Serialize(), mtFloorParam.tower_id, (string) null, GlobalVars.SelectedMultiTowerFloor, 1))
       return;
     DebugUtility.Log("error:" + (object) instance1.LastError);
     self.FailureLobby();
   }
 }
Exemplo n.º 12
0
        public void Refresh()
        {
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);

            if (dataOfClass == null)
            {
                return;
            }
            this.SetEnemy(dataOfClass);
            if (Object.op_Inequality((Object)this.QuestTitle, (Object)null))
            {
                this.QuestTitle.set_text(dataOfClass.title + " " + dataOfClass.name);
            }
            if (Object.op_Inequality((Object)this.RecommendLv, (Object)null))
            {
                this.RecommendLv.set_text(string.Format(LocalizedText.Get("sys.MULTI_TOWER_RECOMMEND"), (object)dataOfClass.lv, (object)dataOfClass.joblv));
            }
            this.SetReward(dataOfClass);
        }
Exemplo n.º 13
0
        public void Refresh()
        {
            GameManager          instance    = MonoSingleton <GameManager> .Instance;
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);
            int mtChallengeFloor             = instance.GetMTChallengeFloor();
            int mtClearedMaxFloor            = instance.GetMTClearedMaxFloor();

            for (int index = 0; index < this.NowCharengeFloor.Length; ++index)
            {
                this.NowCharengeFloor[index].SetActive(false);
            }
            if (this.MultiTower.MultiTowerTop)
            {
                this.SetFloorInfo(dataOfClass, mtChallengeFloor, mtClearedMaxFloor, int.MaxValue);
            }
            else
            {
                int min_floor = int.MaxValue;
                if (dataOfClass != null)
                {
                    List <MyPhoton.MyPlayer> roomPlayerList = PunMonoSingleton <MyPhoton> .Instance.GetRoomPlayerList();

                    for (int index = 0; index < roomPlayerList.Count; ++index)
                    {
                        JSON_MyPhotonPlayerParam photonPlayerParam = JSON_MyPhotonPlayerParam.Parse(roomPlayerList[index].json);
                        if (min_floor > photonPlayerParam.mtChallengeFloor)
                        {
                            min_floor = photonPlayerParam.mtChallengeFloor;
                        }
                        if (this.NowCharengeFloor.Length > photonPlayerParam.playerIndex - 1 && photonPlayerParam.playerIndex > 0)
                        {
                            this.NowCharengeFloor[photonPlayerParam.playerIndex - 1].SetActive((int)dataOfClass.floor == photonPlayerParam.mtChallengeFloor);
                        }
                    }
                }
                this.SetFloorInfo(dataOfClass, mtChallengeFloor, mtClearedMaxFloor, min_floor);
            }
        }
Exemplo n.º 14
0
        private bool SetData(int idx, bool bPlay = false, GameObject obj = null)
        {
            GameManager          instance     = MonoSingleton <GameManager> .Instance;
            GameObject           gameObject   = !Object.op_Inequality((Object)obj, (Object)null) ? this.item : obj;
            MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, GlobalVars.SelectedMultiTowerFloor);

            if (mtFloorParam != null)
            {
                List <MultiTowerRewardItem> mtFloorReward        = instance.GetMTFloorReward(mtFloorParam.reward_id, this.mRound);
                MultiTowerRewardItem        multiTowerRewardItem = mtFloorReward[idx];
                if (mtFloorReward != null && multiTowerRewardItem != null)
                {
                    if (multiTowerRewardItem.type == MultiTowerRewardItem.RewardType.Award && instance.Player.IsHaveAward(multiTowerRewardItem.itemname))
                    {
                        return(false);
                    }
                    if (Object.op_Inequality((Object)gameObject, (Object)null))
                    {
                        gameObject.SetActive(true);
                        MultiTowerRewardItemUI component = (MultiTowerRewardItemUI)gameObject.GetComponent <MultiTowerRewardItemUI>();
                        if (Object.op_Inequality((Object)component, (Object)null))
                        {
                            component.SetData(idx);
                        }
                        if (bPlay)
                        {
                            this.ReqAnim(this.openAnim);
                        }
                        this.SetRewardName(idx, mtFloorParam);
                    }
                }
            }
            if (Object.op_Inequality((Object)this.arrival, (Object)null))
            {
                this.arrival.SetActive(false);
            }
            return(true);
        }
Exemplo n.º 15
0
        private void Refresh()
        {
            GameManager          instance = MonoSingleton <GameManager> .Instance;
            int                  selectedMultiTowerFloor = GlobalVars.SelectedMultiTowerFloor;
            MultiTowerFloorParam mtFloorParam            = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, selectedMultiTowerFloor);

            if (mtFloorParam == null || selectedMultiTowerFloor < 0)
            {
                return;
            }
            this.mNow = 0;
            if (!string.IsNullOrEmpty(mtFloorParam.reward_id))
            {
                this.mMax = instance.GetMTFloorReward(mtFloorParam.reward_id, this.mRound).Count;
            }
            DataSource.Bind <MultiTowerFloorParam>(this.item, mtFloorParam);
            if (this.mNow + 1 < this.mMax)
            {
                this.SetButtonText(true);
            }
            this.mWaitTime = this.WAIT_OPEN;
            this.mMode     = MultiTowerReward.MODE.NEXT;
        }
Exemplo n.º 16
0
        private void SetReward(MultiTowerFloorParam param)
        {
            GameManager instance = MonoSingleton <GameManager> .Instance;
            List <MultiTowerRewardItem> mtFloorReward = instance.GetMTFloorReward(param.reward_id, instance.GetMTRound((int)param.floor));

            if (mtFloorReward == null || Object.op_Equality((Object)this.RewardTemplate, (Object)null))
            {
                return;
            }
            MultiTowerRewardItem data = mtFloorReward.Count <= 0 ? (MultiTowerRewardItem)null : mtFloorReward[0];

            if (!Object.op_Inequality((Object)this.RewardTemplate, (Object)null))
            {
                return;
            }
            DataSource.Bind <MultiTowerRewardItem>(this.RewardTemplate, data);
            MultiTowerRewardInfo component = (MultiTowerRewardInfo)this.RewardTemplate.GetComponent <MultiTowerRewardInfo>();

            if (!Object.op_Inequality((Object)component, (Object)null))
            {
                return;
            }
            component.Refresh();
        }
Exemplo n.º 17
0
        public void OnDetailClick()
        {
            GameManager          instance    = MonoSingleton <GameManager> .Instance;
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);

            if (dataOfClass == null)
            {
                return;
            }
            int mtRound = MonoSingleton <GameManager> .Instance.GetMTRound(GlobalVars.SelectedMultiTowerFloor);

            List <MultiTowerRewardItem> mtFloorReward        = instance.GetMTFloorReward(dataOfClass.reward_id, mtRound);
            MultiTowerRewardItem        multiTowerRewardItem = mtFloorReward[this.mIdx];

            MultiTowerRewardItem.RewardType rewardType = MultiTowerRewardItem.RewardType.Item;
            string key = string.Empty;
            int    num = 0;

            if (this.mIdx >= 0 && this.mIdx < mtFloorReward.Count)
            {
                rewardType = multiTowerRewardItem.type;
                key        = multiTowerRewardItem.itemname;
                num        = multiTowerRewardItem.num;
            }
            string str1 = string.Empty;
            string str2 = string.Empty;

            switch (rewardType)
            {
            case MultiTowerRewardItem.RewardType.Item:
                ItemParam itemParam = instance.GetItemParam(key);
                if (itemParam != null)
                {
                    str1 = itemParam.name;
                    str2 = itemParam.Expr;
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Coin:
                str1 = LocalizedText.Get("sys.COIN");
                str2 = string.Format(LocalizedText.Get("sys.CHALLENGE_REWARD_COIN"), (object)num);
                break;

            case MultiTowerRewardItem.RewardType.Artifact:
                ArtifactParam artifactParam = instance.MasterParam.GetArtifactParam(key);
                if (artifactParam != null)
                {
                    str1 = string.Format(LocalizedText.Get("sys.MULTI_VERSUS_REWARD_ARTIFACT"), (object)artifactParam.name);
                    str2 = artifactParam.Expr;
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Award:
                AwardParam awardParam = instance.GetAwardParam(key);
                if (awardParam != null)
                {
                    str1 = awardParam.name;
                    str2 = awardParam.expr;
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Unit:
                str1 = string.Format(LocalizedText.Get("sys.MULTI_VERSUS_REWARD_UNIT"), (object)instance.GetUnitParam(key).name);
                break;

            case MultiTowerRewardItem.RewardType.Gold:
                str1 = LocalizedText.Get("sys.GOLD");
                str2 = num.ToString() + LocalizedText.Get("sys.GOLD");
                break;
            }
            if (Object.op_Inequality((Object)this.rewardDetailName, (Object)null))
            {
                this.rewardDetailName.set_text(str1);
            }
            if (Object.op_Inequality((Object)this.rewardDetailInfo, (Object)null))
            {
                this.rewardDetailInfo.set_text(str2);
            }
            if (Object.op_Inequality((Object)this.pos, (Object)null))
            {
                ((Transform)this.pos).set_position(((Component)this).get_gameObject().get_transform().get_position());
            }
            FlowNode_TriggerLocalEvent.TriggerLocalEvent((Component)this, "OPEN_DETAIL");
        }
Exemplo n.º 18
0
        private void SetRewardName(int idx, MultiTowerFloorParam param)
        {
            GameManager          instance             = MonoSingleton <GameManager> .Instance;
            MultiTowerRewardItem multiTowerRewardItem = instance.GetMTFloorReward(param.reward_id, this.mRound)[idx];
            int    num      = multiTowerRewardItem.num;
            string itemname = multiTowerRewardItem.itemname;

            MultiTowerRewardItem.RewardType type = multiTowerRewardItem.type;
            string str1 = LocalizedText.Get("sys.MULTI_TOWER_REWARD_GET_MSG");

            if (!Object.op_Inequality((Object)this.rewardTxt, (Object)null))
            {
                return;
            }
            string str2 = string.Empty;

            switch (type)
            {
            case MultiTowerRewardItem.RewardType.Item:
                ItemParam itemParam = instance.GetItemParam(itemname);
                if (itemParam != null)
                {
                    str2 = itemParam.name + string.Format(LocalizedText.Get("sys.CROSS_NUM"), (object)num);
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Coin:
                str2 = string.Format(LocalizedText.Get("sys.CHALLENGE_REWARD_COIN"), (object)num);
                break;

            case MultiTowerRewardItem.RewardType.Artifact:
                ArtifactParam artifactParam = instance.MasterParam.GetArtifactParam(itemname);
                if (artifactParam != null)
                {
                    str2 = artifactParam.name;
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Award:
                AwardParam awardParam = instance.GetAwardParam(itemname);
                if (awardParam != null)
                {
                    str2 = awardParam.name;
                }
                str1 = LocalizedText.Get("sys.MULTI_TOWER_REWARD_GET_MSG");
                break;

            case MultiTowerRewardItem.RewardType.Unit:
                UnitParam unitParam = instance.GetUnitParam(itemname);
                if (unitParam != null)
                {
                    str2 = unitParam.name;
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Gold:
                str2 = num.ToString() + LocalizedText.Get("sys.GOLD");
                break;
            }
            this.rewardTxt.set_text(string.Format(LocalizedText.Get("sys.MULTI_TOWER_REWARD_NAME"), (object)str2));
            if (!Object.op_Inequality((Object)this.getTxt, (Object)null))
            {
                return;
            }
            this.getTxt.set_text(str1);
        }
Exemplo n.º 19
0
        public override void OnSuccess(WWWResult www)
        {
            DebugUtility.Log(nameof(OnSuccess));
            if (Network.IsError)
            {
                switch (Network.ErrCode)
                {
                case Network.EErrCode.MultiMaintenance:
                case Network.EErrCode.VsMaintenance:
                case Network.EErrCode.MultiVersionMaintenance:
                case Network.EErrCode.MultiTowerMaintenance:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(6000);
                    break;

                case Network.EErrCode.OutOfDateQuest:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(4802);
                    break;

                case Network.EErrCode.MultiVersionMismatch:
                case Network.EErrCode.VS_Version:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(5000);
                    break;

                case Network.EErrCode.RoomFailedMakeRoom:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(4800);
                    break;

                case Network.EErrCode.RoomIllegalComment:
                case Network.EErrCode.VS_IllComment:
                    if (this.API == FlowNode_MultiPlayAPI.EAPI.MAKE)
                    {
                        string str = LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT");
                        PlayerPrefsUtility.SetString(PlayerPrefsUtility.ROOM_COMMENT_KEY, str, false);
                    }
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(4801);
                    break;

                case Network.EErrCode.RoomNoRoom:
                case Network.EErrCode.VS_NoRoom:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(4900);
                    break;

                case Network.EErrCode.VS_NotLINERoomInfo:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(7000);
                    break;

                case Network.EErrCode.VS_FailRoomID:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(8000);
                    break;

                case Network.EErrCode.VS_NotPhotonAppID:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(9000);
                    break;

                case Network.EErrCode.VS_FaildSeasonGift:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(10000);
                    break;

                default:
                    this.OnFailed();
                    break;
                }
            }
            else
            {
                if (this.API == FlowNode_MultiPlayAPI.EAPI.MAKE)
                {
                    WebAPI.JSON_BodyResponse <ReqMPRoomMake.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMPRoomMake.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    GlobalVars.SelectedMultiPlayRoomID      = jsonObject.body.roomid;
                    GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                    GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                    DebugUtility.Log("MakeRoom RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID + " AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                }
                else if (this.API == FlowNode_MultiPlayAPI.EAPI.ROOM)
                {
                    WebAPI.JSON_BodyResponse <ReqMPRoom.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMPRoom.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    FlowNode_MultiPlayAPI.RoomList = jsonObject.body;
                    if (FlowNode_MultiPlayAPI.RoomList == null)
                    {
                        DebugUtility.Log("ListRoom null");
                    }
                    else if (FlowNode_MultiPlayAPI.RoomList.rooms == null)
                    {
                        DebugUtility.Log("ListRoom rooms null");
                    }
                    else
                    {
                        DebugUtility.Log("ListRoom num:" + (object)FlowNode_MultiPlayAPI.RoomList.rooms.Length);
                    }
                }
                else if (this.API == FlowNode_MultiPlayAPI.EAPI.JOIN)
                {
                    WebAPI.JSON_BodyResponse <ReqMPRoomJoin.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMPRoomJoin.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    if (jsonObject.body.quest == null || string.IsNullOrEmpty(jsonObject.body.quest.iname))
                    {
                        this.OnFailed();
                        return;
                    }
                    GlobalVars.SelectedQuestID = jsonObject.body.quest.iname;
                    GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                    GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                    DebugUtility.Log("JoinRoom  AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                }
                else if (this.API != FlowNode_MultiPlayAPI.EAPI.UPDATE && this.API != FlowNode_MultiPlayAPI.EAPI.VERSION)
                {
                    if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_START)
                    {
                        WebAPI.JSON_BodyResponse <ReqVersusStart.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusStart.Response> >(www.text);
                        DebugUtility.Assert(jsonObject != null, "res == null");
                        if (jsonObject.body == null)
                        {
                            this.OnFailed();
                            return;
                        }
                        GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                        switch (GlobalVars.SelectedMultiPlayVersusType)
                        {
                        case VERSUS_TYPE.Free:
                            GlobalVars.SelectedQuestID = jsonObject.body.maps.free;
                            break;

                        case VERSUS_TYPE.Friend:
                            GlobalVars.SelectedQuestID = jsonObject.body.maps.friend;
                            break;
                        }
                        DebugUtility.Log("MakeRoom RoomID: AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + "/ QuestID:" + GlobalVars.SelectedQuestID);
                    }
                    else if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_MAKE)
                    {
                        WebAPI.JSON_BodyResponse <ReqVersusMake.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusMake.Response> >(www.text);
                        DebugUtility.Assert(jsonObject != null, "res == null");
                        if (jsonObject.body == null)
                        {
                            this.OnFailed();
                            return;
                        }
                        GlobalVars.SelectedMultiPlayRoomID   = jsonObject.body.roomid;
                        GlobalVars.SelectedMultiPlayRoomName = jsonObject.body.token;
                        if (GlobalVars.SelectedMultiPlayVersusType == VERSUS_TYPE.Friend)
                        {
                            GlobalVars.EditMultiPlayRoomPassCode = "1";
                        }
                    }
                    else if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_JOIN)
                    {
                        WebAPI.JSON_BodyResponse <ReqVersusRoomJoin.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusRoomJoin.Response> >(www.text);
                        DebugUtility.Assert(jsonObject != null, "res == null");
                        if (jsonObject.body == null)
                        {
                            this.OnFailed();
                            return;
                        }
                        if (jsonObject.body.quest == null || string.IsNullOrEmpty(jsonObject.body.quest.iname))
                        {
                            this.OnFailed();
                            return;
                        }
                        GlobalVars.SelectedQuestID = jsonObject.body.quest.iname;
                        GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                        GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                        DebugUtility.Log("JoinRoom  AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                    }
                    else if (this.API != FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_REQ && this.API != FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_MAKE)
                    {
                        if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_STATUS)
                        {
                            WebAPI.JSON_BodyResponse <ReqVersusStatus.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusStatus.Response> >(www.text);
                            if (jsonObject == null)
                            {
                                this.OnFailed();
                                return;
                            }
                            GameManager instance = MonoSingleton <GameManager> .Instance;
                            instance.Player.SetTowerMatchInfo(jsonObject.body.floor, jsonObject.body.key, jsonObject.body.wincnt, jsonObject.body.is_give_season_gift != 0);
                            instance.VersusTowerMatchBegin   = !string.IsNullOrEmpty(jsonObject.body.vstower_id);
                            instance.VersusTowerMatchReceipt = jsonObject.body.is_season_gift != 0;
                            instance.VersusTowerMatchName    = jsonObject.body.tower_iname;
                            instance.VersusTowerMatchEndAt   = jsonObject.body.end_at;
                            instance.VersusCoinRemainCnt     = jsonObject.body.daycnt;
                            instance.VersusLastUid           = jsonObject.body.last_enemyuid;
                            GlobalVars.SelectedQuestID       = jsonObject.body.vstower_id;
                            instance.Player.UpdateVersusTowerTrophyStates(jsonObject.body.tower_iname, jsonObject.body.floor);
                        }
                        else if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_SEASON)
                        {
                            WebAPI.JSON_BodyResponse <ReqVersusSeason.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusSeason.Response> >(www.text);
                            if (jsonObject == null)
                            {
                                this.OnFailed();
                                return;
                            }
                            PlayerData player = MonoSingleton <GameManager> .Instance.Player;
                            player.VersusSeazonGiftReceipt = false;
                            player.UnreadMailPeriod       |= jsonObject.body.unreadmail == 1;
                        }
                        else if (this.API == FlowNode_MultiPlayAPI.EAPI.VERSUS_FRIEND)
                        {
                            WebAPI.JSON_BodyResponse <ReqVersusFriendScore.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusFriendScore.Response> >(www.text);
                            if (jsonObject == null)
                            {
                                this.OnFailed();
                                return;
                            }
                            MonoSingleton <GameManager> .Instance.Deserialize(jsonObject.body.friends);
                        }
                        else if (this.API == FlowNode_MultiPlayAPI.EAPI.MT_STATUS)
                        {
                            WebAPI.JSON_BodyResponse <ReqMultiTwStatus.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMultiTwStatus.Response> >(www.text);
                            Debug.Log((object)www.text);
                            if (jsonObject == null)
                            {
                                this.OnFailed();
                                return;
                            }
                            GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.appid;
                            MonoSingleton <GameManager> .Instance.Deserialize(jsonObject.body.floors);
                        }
                        else if (this.API == FlowNode_MultiPlayAPI.EAPI.MT_JOIN)
                        {
                            WebAPI.JSON_BodyResponse <ReqMultiTwRoomJoin.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMultiTwRoomJoin.Response> >(www.text);
                            DebugUtility.Assert(jsonObject != null, "res == null");
                            if (jsonObject.body == null)
                            {
                                this.OnFailed();
                                return;
                            }
                            if (jsonObject.body.quest == null || string.IsNullOrEmpty(jsonObject.body.quest.iname))
                            {
                                this.OnFailed();
                                return;
                            }
                            GameManager instance = MonoSingleton <GameManager> .Instance;
                            if (instance.GetMTChallengeFloor() < jsonObject.body.quest.floor)
                            {
                                Network.RemoveAPI();
                                ((Behaviour)this).set_enabled(false);
                                this.ActivateOutputLinks(11000);
                                return;
                            }
                            GlobalVars.SelectedMultiTowerID         = jsonObject.body.quest.iname;
                            GlobalVars.SelectedMultiTowerFloor      = jsonObject.body.quest.floor;
                            GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                            GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                            MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, GlobalVars.SelectedMultiTowerFloor);
                            if (mtFloorParam != null)
                            {
                                QuestParam questParam = mtFloorParam.GetQuestParam();
                                if (questParam != null)
                                {
                                    GlobalVars.SelectedQuestID = questParam.iname;
                                }
                            }
                            DebugUtility.Log("JoinRoom  AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                        }
                    }
                }
                Network.RemoveAPI();
                this.Success();
            }
        }
Exemplo n.º 20
0
        public override void OnSuccess(WWWResult www)
        {
            DebugUtility.Log(nameof(OnSuccess));
            if (Network.IsError)
            {
                switch (Network.ErrCode)
                {
                case Network.EErrCode.MultiMaintenance:
                case Network.EErrCode.VsMaintenance:
                case Network.EErrCode.MultiVersionMaintenance:
                case Network.EErrCode.MultiTowerMaintenance:
                    Network.RemoveAPI();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(6000);
                    break;

                case Network.EErrCode.MultiVersionMismatch:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(5000);
                    break;

                case Network.EErrCode.RoomNoRoom:
                case Network.EErrCode.VS_NoRoom:
                case Network.EErrCode.MT_AlreadyFinish:
                    Network.RemoveAPI();
                    Network.ResetError();
                    ((Behaviour)this).set_enabled(false);
                    this.ActivateOutputLinks(7000);
                    break;

                default:
                    this.OnFailed();
                    break;
                }
            }
            else
            {
                if (this.mType == FlowNode_MultiPlayResume.RESUME_TYPE.MULTI)
                {
                    WebAPI.JSON_BodyResponse <ReqMultiPlayResume.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMultiPlayResume.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    GlobalVars.SelectedQuestID = jsonObject.body.quest.iname;
                    GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                    GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                    GlobalVars.ResumeMultiplayPlayerID      = int.Parse(jsonObject.body.btlinfo.plid);
                    GlobalVars.ResumeMultiplaySeatID        = int.Parse(jsonObject.body.btlinfo.seat);
                    FlowNode_MultiPlayResume.BtlInfo        = jsonObject.body.btlinfo;
                }
                else if (this.mType == FlowNode_MultiPlayResume.RESUME_TYPE.VERSUS)
                {
                    WebAPI.JSON_BodyResponse <ReqVersusResume.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqVersusResume.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    GlobalVars.SelectedQuestID = jsonObject.body.quest.iname;
                    GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                    GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                    GlobalVars.ResumeMultiplayPlayerID      = int.Parse(jsonObject.body.btlinfo.plid);
                    GlobalVars.ResumeMultiplaySeatID        = int.Parse(jsonObject.body.btlinfo.seat);
                    if (string.Compare(jsonObject.body.type, VERSUS_TYPE.Free.ToString().ToLower()) == 0)
                    {
                        GlobalVars.SelectedMultiPlayVersusType = VERSUS_TYPE.Free;
                    }
                    else if (string.Compare(jsonObject.body.type, VERSUS_TYPE.Tower.ToString().ToLower()) == 0)
                    {
                        MonoSingleton <GameManager> .Instance.VersusTowerMatchBegin = true;
                        GlobalVars.SelectedMultiPlayVersusType = VERSUS_TYPE.Tower;
                    }
                    else if (string.Compare(jsonObject.body.type, VERSUS_TYPE.Friend.ToString().ToLower()) == 0)
                    {
                        GlobalVars.SelectedMultiPlayVersusType = VERSUS_TYPE.Friend;
                    }
                    FlowNode_MultiPlayResume.BtlInfo = jsonObject.body.btlinfo;
                }
                else if (this.mType == FlowNode_MultiPlayResume.RESUME_TYPE.TOWER)
                {
                    GameManager instance = MonoSingleton <GameManager> .Instance;
                    WebAPI.JSON_BodyResponse <ReqMultiTwResume.Response> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <ReqMultiTwResume.Response> >(www.text);
                    DebugUtility.Assert(jsonObject != null, "res == null");
                    if (jsonObject.body == null)
                    {
                        this.OnFailed();
                        return;
                    }
                    GlobalVars.SelectedMultiTowerID         = jsonObject.body.btlinfo.qid;
                    GlobalVars.SelectedMultiTowerFloor      = jsonObject.body.btlinfo.floor;
                    GlobalVars.SelectedMultiPlayPhotonAppID = jsonObject.body.app_id;
                    GlobalVars.SelectedMultiPlayRoomName    = jsonObject.body.token;
                    GlobalVars.ResumeMultiplayPlayerID      = int.Parse(jsonObject.body.btlinfo.plid);
                    GlobalVars.ResumeMultiplaySeatID        = int.Parse(jsonObject.body.btlinfo.seat);
                    GlobalVars.SelectedMultiPlayRoomID      = jsonObject.body.btlinfo.roomid;
                    MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, GlobalVars.SelectedMultiTowerFloor);
                    if (mtFloorParam != null)
                    {
                        GlobalVars.SelectedQuestID = mtFloorParam.GetQuestParam().iname;
                    }
                    FlowNode_MultiPlayResume.BtlInfo             = jsonObject.body.btlinfo;
                    FlowNode_MultiPlayResume.BtlInfo.multi_floor = FlowNode_MultiPlayResume.BtlInfo.floor;
                }
                Network.RemoveAPI();
                ((Behaviour)this).set_enabled(false);
                this.ActivateOutputLinks(300);
            }
        }
Exemplo n.º 21
0
        public void SetData(int idx = 0)
        {
            GameManager          instance    = MonoSingleton <GameManager> .Instance;
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null);
            int floor = (int)dataOfClass.floor;

            if (dataOfClass == null)
            {
                return;
            }
            int mtRound = MonoSingleton <GameManager> .Instance.GetMTRound(GlobalVars.SelectedMultiTowerFloor);

            List <MultiTowerRewardItem> mtFloorReward        = instance.GetMTFloorReward(dataOfClass.reward_id, mtRound);
            MultiTowerRewardItem        multiTowerRewardItem = mtFloorReward[idx];

            MultiTowerRewardItem.RewardType rewardType = MultiTowerRewardItem.RewardType.Item;
            string str = string.Empty;
            int    num = 0;

            if (idx >= 0 && idx < mtFloorReward.Count)
            {
                rewardType = multiTowerRewardItem.type;
                str        = multiTowerRewardItem.itemname;
                num        = multiTowerRewardItem.num;
            }
            if (Object.op_Inequality((Object)this.itemObj, (Object)null))
            {
                this.itemObj.SetActive(true);
            }
            if (Object.op_Inequality((Object)this.amountObj, (Object)null))
            {
                this.amountObj.SetActive(true);
            }
            if (Object.op_Inequality((Object)this.unitObj, (Object)null))
            {
                this.unitObj.SetActive(false);
            }
            switch (rewardType)
            {
            case MultiTowerRewardItem.RewardType.Item:
                if (Object.op_Inequality((Object)this.itemObj, (Object)null) && Object.op_Inequality((Object)this.amountObj, (Object)null))
                {
                    ArtifactIcon componentInChildren = (ArtifactIcon)this.itemObj.GetComponentInChildren <ArtifactIcon>();
                    if (Object.op_Inequality((Object)componentInChildren, (Object)null))
                    {
                        ((Behaviour)componentInChildren).set_enabled(false);
                    }
                    this.itemObj.SetActive(true);
                    DataSource component1 = (DataSource)this.itemObj.GetComponent <DataSource>();
                    if (Object.op_Inequality((Object)component1, (Object)null))
                    {
                        component1.Clear();
                    }
                    DataSource component2 = (DataSource)this.amountObj.GetComponent <DataSource>();
                    if (Object.op_Inequality((Object)component2, (Object)null))
                    {
                        component2.Clear();
                    }
                    ItemParam itemParam = instance.GetItemParam(str);
                    DataSource.Bind <ItemParam>(this.itemObj, itemParam);
                    ItemData data = new ItemData();
                    data.Setup(0L, itemParam, num);
                    DataSource.Bind <ItemData>(this.amountObj, data);
                    Transform child = this.itemObj.get_transform().FindChild("icon");
                    if (Object.op_Inequality((Object)child, (Object)null))
                    {
                        GameParameter component3 = (GameParameter)((Component)child).GetComponent <GameParameter>();
                        if (Object.op_Inequality((Object)component3, (Object)null))
                        {
                            ((Behaviour)component3).set_enabled(true);
                        }
                    }
                    GameParameter.UpdateAll(this.itemObj);
                    if (Object.op_Inequality((Object)this.iconParam, (Object)null))
                    {
                        this.iconParam.UpdateValue();
                    }
                    if (Object.op_Inequality((Object)this.frameParam, (Object)null))
                    {
                        this.frameParam.UpdateValue();
                    }
                    if (Object.op_Inequality((Object)this.rewardName, (Object)null))
                    {
                        this.rewardName.set_text(itemParam.name + string.Format(LocalizedText.Get("sys.CROSS_NUM"), (object)num));
                        break;
                    }
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Coin:
                if (Object.op_Inequality((Object)this.itemTex, (Object)null))
                {
                    GameParameter component = (GameParameter)((Component)this.itemTex).GetComponent <GameParameter>();
                    if (Object.op_Inequality((Object)component, (Object)null))
                    {
                        ((Behaviour)component).set_enabled(false);
                    }
                    this.itemTex.set_texture(this.coinTex);
                }
                if (Object.op_Inequality((Object)this.frameTex, (Object)null) && Object.op_Inequality((Object)this.coinBase, (Object)null))
                {
                    this.frameTex.set_sprite(this.coinBase);
                }
                if (Object.op_Inequality((Object)this.rewardName, (Object)null))
                {
                    this.rewardName.set_text(string.Format(LocalizedText.Get("sys.CHALLENGE_REWARD_COIN"), (object)num));
                }
                if (Object.op_Inequality((Object)this.amountObj, (Object)null))
                {
                    this.amountObj.SetActive(false);
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Artifact:
                if (Object.op_Inequality((Object)this.itemObj, (Object)null))
                {
                    DataSource component = (DataSource)this.itemObj.GetComponent <DataSource>();
                    if (Object.op_Inequality((Object)component, (Object)null))
                    {
                        component.Clear();
                    }
                    ArtifactParam artifactParam = instance.MasterParam.GetArtifactParam(str);
                    DataSource.Bind <ArtifactParam>(this.itemObj, artifactParam);
                    ArtifactIcon componentInChildren = (ArtifactIcon)this.itemObj.GetComponentInChildren <ArtifactIcon>();
                    if (Object.op_Inequality((Object)componentInChildren, (Object)null))
                    {
                        ((Behaviour)componentInChildren).set_enabled(true);
                        componentInChildren.UpdateValue();
                        if (Object.op_Inequality((Object)this.rewardName, (Object)null))
                        {
                            this.rewardName.set_text(string.Format(LocalizedText.Get("sys.MULTI_VERSUS_REWARD_ARTIFACT"), (object)artifactParam.name));
                        }
                        if (Object.op_Inequality((Object)this.amountObj, (Object)null))
                        {
                            this.amountObj.SetActive(false);
                            break;
                        }
                        break;
                    }
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Award:
                if (Object.op_Inequality((Object)this.itemObj, (Object)null) && Object.op_Inequality((Object)this.amountObj, (Object)null))
                {
                    ArtifactIcon componentInChildren = (ArtifactIcon)this.itemObj.GetComponentInChildren <ArtifactIcon>();
                    if (Object.op_Inequality((Object)componentInChildren, (Object)null))
                    {
                        ((Behaviour)componentInChildren).set_enabled(false);
                    }
                    this.itemObj.SetActive(true);
                    AwardParam awardParam = instance.GetAwardParam(str);
                    Transform  child      = this.itemObj.get_transform().FindChild("icon");
                    if (Object.op_Inequality((Object)child, (Object)null))
                    {
                        IconLoader iconLoader = GameUtility.RequireComponent <IconLoader>(((Component)child).get_gameObject());
                        if (!string.IsNullOrEmpty(awardParam.icon))
                        {
                            iconLoader.ResourcePath = AssetPath.ItemIcon(awardParam.icon);
                        }
                        GameParameter component = (GameParameter)((Component)child).GetComponent <GameParameter>();
                        if (Object.op_Inequality((Object)component, (Object)null))
                        {
                            ((Behaviour)component).set_enabled(false);
                        }
                    }
                    if (Object.op_Inequality((Object)this.frameTex, (Object)null) && Object.op_Inequality((Object)this.coinBase, (Object)null))
                    {
                        this.frameTex.set_sprite(this.coinBase);
                    }
                    if (Object.op_Inequality((Object)this.amountObj, (Object)null))
                    {
                        this.amountObj.SetActive(false);
                        break;
                    }
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Unit:
                if (Object.op_Inequality((Object)this.unitObj, (Object)null))
                {
                    if (Object.op_Inequality((Object)this.itemObj, (Object)null))
                    {
                        this.itemObj.SetActive(false);
                    }
                    this.unitObj.SetActive(true);
                    UnitParam unitParam = instance.GetUnitParam(str);
                    DebugUtility.Assert(unitParam != null, "Invalid unit:" + str);
                    UnitData data = new UnitData();
                    data.Setup(str, 0, 1, 0, (string)null, 1, EElement.None, 0);
                    DataSource.Bind <UnitData>(this.unitObj, data);
                    GameParameter.UpdateAll(this.unitObj);
                    if (Object.op_Inequality((Object)this.rewardName, (Object)null))
                    {
                        this.rewardName.set_text(string.Format(LocalizedText.Get("sys.MULTI_VERSUS_REWARD_UNIT"), (object)unitParam.name));
                        break;
                    }
                    break;
                }
                break;

            case MultiTowerRewardItem.RewardType.Gold:
                if (Object.op_Inequality((Object)this.itemTex, (Object)null))
                {
                    GameParameter component = (GameParameter)((Component)this.itemTex).GetComponent <GameParameter>();
                    if (Object.op_Inequality((Object)component, (Object)null))
                    {
                        ((Behaviour)component).set_enabled(false);
                    }
                    this.itemTex.set_texture(this.goldTex);
                }
                if (Object.op_Inequality((Object)this.frameTex, (Object)null) && Object.op_Inequality((Object)this.goldBase, (Object)null))
                {
                    this.frameTex.set_sprite(this.goldBase);
                }
                if (Object.op_Inequality((Object)this.rewardName, (Object)null))
                {
                    this.rewardName.set_text(num.ToString() + LocalizedText.Get("sys.GOLD"));
                }
                if (Object.op_Inequality((Object)this.amountObj, (Object)null))
                {
                    this.amountObj.SetActive(false);
                    break;
                }
                break;
            }
            this.mIdx = idx;
            if (Object.op_Inequality((Object)this.currentMark, (Object)null))
            {
                this.currentMark.SetActive((int)dataOfClass.floor == floor);
            }
            if (Object.op_Inequality((Object)this.current_fil, (Object)null))
            {
                this.current_fil.SetActive((int)dataOfClass.floor == floor);
            }
            if (Object.op_Inequality((Object)this.clearMark, (Object)null))
            {
                this.clearMark.SetActive((int)dataOfClass.floor - 1 < floor);
            }
            if (!Object.op_Inequality((Object)this.cleared_fil, (Object)null))
            {
                return;
            }
            this.cleared_fil.SetActive((int)dataOfClass.floor - 1 < floor);
        }