예제 #1
0
    private void Send(GameWebAPI.RespDataCS_ChipListLogic.UserChipList baseChip)
    {
        RestrictionInput.StartLoad(RestrictionInput.LoadType.SMALL_IMAGE_MASK_ON);
        int userChipId = baseChip.userChipId;

        GameWebAPI.RespDataMA_ChipM.Chip baseMaterChip = ChipDataMng.GetChipMainData(baseChip);
        int num = baseMaterChip.needChip.ToInt32();

        int[] array = null;
        if (num > 0)
        {
            array = new int[num];
            int num2 = 0;
            foreach (GameWebAPI.RespDataCS_ChipListLogic.UserChipList userChipList2 in ChipDataMng.userChipData.userChipList)
            {
                if (userChipId != userChipList2.userChipId && userChipList2.chipId == baseChip.chipId && userChipList2.userMonsterId == 0)
                {
                    array[num2] = userChipList2.userChipId;
                    num2++;
                    if (num2 >= array.Length)
                    {
                        break;
                    }
                }
            }
        }
        Action callback = delegate()
        {
            GameWebAPI.RespDataCS_ChipListLogic.UserChipList[] array2 = this.ConvertChipList(ChipDataMng.userChipData);
            this.chipList.ReAllBuild(array2, false, false);
            this.chipList.SetShortTouchCallback(new Action <GUIListChipParts.Data>(this.OnShortTouchChip));
            this.chipList.SetLongTouchCallback(new Action <GUIListChipParts.Data>(this.OnLongTouchChip));
            this.messageLabel.gameObject.SetActive(array2.Count <GameWebAPI.RespDataCS_ChipListLogic.UserChipList>() == 0);
            this.listCountLabel.text = string.Format(StringMaster.GetString("SystemFraction"), ChipDataMng.userChipData.userChipList.Length, DataMng.Instance().RespDataUS_PlayerInfo.playerInfo.chipLimitMax);
            GameWebAPI.RespDataMA_ChipM.Chip chipEnhancedData = ChipDataMng.GetChipEnhancedData(baseMaterChip.chipId);
            CMD_ChipReinforcementAnimation.Create(this.gameObject, chipEnhancedData, null);
        };
        int            resultCode = 0;
        APIRequestTask task       = ChipDataMng.RequestAPIChipFusion(baseChip.userChipId, array, delegate(int res)
        {
            resultCode = res;
        });

        AppCoroutine.Start(task.Run(delegate
        {
            if (resultCode == 1)
            {
                callback();
            }
            else
            {
                string @string = StringMaster.GetString("SystemDataMismatchTitle");
                string message = string.Format(StringMaster.GetString("ChipDataMismatchMesage"), resultCode);
                AlertManager.ShowModalMessage(delegate(int modal)
                {
                }, @string, message, AlertManager.ButtonActionType.Close, false);
            }
            RestrictionInput.EndLoad();
        }, null, null), false);
    }
예제 #2
0
    public static CMD_ChipReinforcementAnimation Create(GameObject parent, GameWebAPI.RespDataMA_ChipM.Chip data, Action <int> callback = null)
    {
        CMD_ChipReinforcementAnimation cmd_ChipReinforcementAnimation = GUIMain.ShowCommonDialog(callback, "CMD_Chip_LvUP", null) as CMD_ChipReinforcementAnimation;

        cmd_ChipReinforcementAnimation.SetParam(data);
        return(cmd_ChipReinforcementAnimation);
    }
예제 #3
0
    private void Send(GameWebAPI.RespDataCS_ChipListLogic.UserChipList baseChip)
    {
        this.SetBarrier(true);
        RestrictionInput.StartLoad(RestrictionInput.LoadType.SMALL_IMAGE_MASK_ON);
        int baseChipId = baseChip.userChipId;

        GameWebAPI.RespDataMA_ChipM.Chip baseMaterChip = ChipDataMng.GetChipMainData(baseChip);
        int num = baseMaterChip.needChip.ToInt32();

        int[] array = null;
        if (num > 0)
        {
            array = new int[num];
            int num2 = 0;
            foreach (GameWebAPI.RespDataCS_ChipListLogic.UserChipList userChipList2 in ChipDataMng.userChipData.userChipList)
            {
                if (baseChipId != userChipList2.userChipId && userChipList2.chipId == baseChip.chipId && userChipList2.userMonsterId == 0)
                {
                    array[num2] = userChipList2.userChipId;
                    num2++;
                    if (num2 >= array.Length)
                    {
                        break;
                    }
                }
            }
        }
        Action callback = delegate()
        {
            int num3 = this.selectedChipParameter.ConvertButtonIndex();
            ChipSphereIconButton             chipSphereIconButton = this.chipSphereIconButtons[num3];
            GameWebAPI.RespDataMA_ChipM.Chip chipEnhancedData     = ChipDataMng.GetChipEnhancedData(baseMaterChip.chipId);
            chipSphereIconButton.SetupDetail(this.selectedChipParameter.userChipId, chipEnhancedData);
            chipSphereIconButton.SetupOnlyDetailParams(baseChipId, chipEnhancedData);
            this.chipSphereIconButtons[num3].OnTouch();
            this.RefreshItemCountColor();
            this.RefreshStatus();
            this.RefreshItemNumbers();
            this.RefreshYellowLines();
            CMD_ChipReinforcementAnimation cmd_ChipReinforcementAnimation = CMD_ChipReinforcementAnimation.Create(this.gameObject, chipEnhancedData, delegate(int i)
            {
                this.SetBarrier(false);
            });
            cmd_ChipReinforcementAnimation.transform.Find("ChipLv/Chip").gameObject.AddComponent <AnimationFinishEventTrigger>();
        };
        int            resultCode = 0;
        APIRequestTask task       = ChipDataMng.RequestAPIChipFusion(baseChip.userChipId, array, delegate(int res)
        {
            resultCode = res;
        });

        AppCoroutine.Start(task.Run(delegate
        {
            if (resultCode == 1)
            {
                callback();
            }
            else
            {
                this.SetBarrier(false);
                this.DispErrorModal(resultCode);
            }
            RestrictionInput.EndLoad();
        }, null, null), false);
    }