Beispiel #1
0
        public string ToStringWithFormat(ItemListFormat format)
        {
            string str = "";

            switch (format)
            {
            case ItemListFormat.EFT:
                foreach (var item in this)
                {
                    str += item.Key.typeName + " x" + item.Value;
                    str += "\r\n";
                }
                break;

            case ItemListFormat.Tabs:
                foreach (var item in this)
                {
                    str += item.Key.typeName + "\t" + item.Value;
                    str += "\r\n";
                }
                break;

            case ItemListFormat.Spaces:
                foreach (var item in this)
                {
                    str += item.Key.typeName + "	"+ item.Value;
                    str += "\r\n";
                }
                break;
            }

            return(str);
        }
Beispiel #2
0
    // Token: 0x06000448 RID: 1096 RVA: 0x0001D6F8 File Offset: 0x0001BAF8
    public byte[] ConvertBinary_Main(bool write, byte[] sByte)
    {
        int           num  = 0;
        List <byte[]> list = new List <byte[]>();
        int           num2 = 4;

        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.version * 10000f), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.version = (float)ByteConverter.ConnectRead(sByte, num, num2) / 10000f;
            num         += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.supportID, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.supportID = ByteConverter.ConnectRead(sByte, num, num2);
            num           += num2;
        }
        int num3;

        if (write)
        {
            num3 = this.hoten.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        int num4 = 1;
        int num5 = 4;

        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(Convert.ToInt32(this.hoten[i]), list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.hoten.Add(Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num + num5, num4)));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.CloverPoint, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.CloverPoint = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.ticket, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.ticket = ByteConverter.ConnectRead(sByte, num, num2);
            num        += num2;
        }
        if (write)
        {
            num3 = this.CloverList.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = new CloverDataFormat().UseByte();
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                Buffer.BlockCopy(this.CloverList[i].ConvertBinary(true, null), 0, list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                byte[] array = new byte[num4];
                Buffer.BlockCopy(sByte, num + num5, array, 0, num4);
                this.CloverList.Add(new CloverDataFormat());
                this.CloverList[this.CloverList.Count - 1].ConvertBinary(false, array);
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num3 = 7;
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                switch (i)
                {
                case 0:
                    ByteConverter.ConnectWrite(this.lastDateTime.Year, list[list.Count - 1], num5, num4);
                    break;

                case 1:
                    ByteConverter.ConnectWrite(this.lastDateTime.Month, list[list.Count - 1], num5, num4);
                    break;

                case 2:
                    ByteConverter.ConnectWrite(this.lastDateTime.Day, list[list.Count - 1], num5, num4);
                    break;

                case 3:
                    ByteConverter.ConnectWrite(this.lastDateTime.Hour, list[list.Count - 1], num5, num4);
                    break;

                case 4:
                    ByteConverter.ConnectWrite(this.lastDateTime.Minute, list[list.Count - 1], num5, num4);
                    break;

                case 5:
                    ByteConverter.ConnectWrite(this.lastDateTime.Second, list[list.Count - 1], num5, num4);
                    break;

                case 6:
                    ByteConverter.ConnectWrite(this.lastDateTime.Millisecond, list[list.Count - 1], num5, num4);
                    break;
                }
                i++;
                num5 += num4;
            }
        }
        else
        {
            int[] array2 = new int[7];
            int   i      = 0;
            while (i < num3)
            {
                array2[i] = ByteConverter.ConnectRead(sByte, num + num5, num4);
                i++;
                num5 += num4;
            }
            this.lastDateTime = new DateTime(array2[0], array2[1], array2[2], array2[3], array2[4], array2[5], array2[6]);
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.MailList_nextId, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.MailList_nextId = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        if (write)
        {
            num3 = this.MailList.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = new MailEventFormat().UseByte();
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                Buffer.BlockCopy(this.MailList[i].ConvertBinary(true, null), 0, list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                byte[] array3 = new byte[num4];
                Buffer.BlockCopy(sByte, num + num5, array3, 0, num4);
                this.MailList.Add(new MailEventFormat());
                this.MailList[this.MailList.Count - 1].ConvertBinary(false, array3);
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.ItemList.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = new ItemListFormat().UseByte();
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                Buffer.BlockCopy(this.ItemList[i].ConvertBinary(true, null), 0, list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                byte[] array4 = new byte[num4];
                Buffer.BlockCopy(sByte, num + num5, array4, 0, num4);
                this.ItemList.Add(new ItemListFormat());
                this.ItemList[this.ItemList.Count - 1].ConvertBinary(false, array4);
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.bagList.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.bagList[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.bagList.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.deskList.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.deskList[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.deskList.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.bagList_virtual.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.bagList_virtual[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.bagList_virtual.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.deskList_virtual.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.deskList_virtual[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.deskList_virtual.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.collectFlags.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 1;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(Convert.ToInt32(this.collectFlags[i]), list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.collectFlags.Add(Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num + num5, num4)));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.collectFailedCnt.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.collectFailedCnt[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.collectFailedCnt.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                if (this.collectFailedCnt[i] != 0)
                {
                    Debug.LogWarning(string.Concat(new object[]
                    {
                        "collectFailedCnt[",
                        i,
                        "] ",
                        this.collectFailedCnt[i]
                    }));
                }
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.specialtyFlags.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 1;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(Convert.ToInt32(this.specialtyFlags[i]), list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.specialtyFlags.Add(Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num + num5, num4)));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.evtList_timer.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = new EventTimerFormat().UseByte();
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                Buffer.BlockCopy(this.evtList_timer[i].ConvertBinary(true, null), 0, list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                byte[] array5 = new byte[num4];
                Buffer.BlockCopy(sByte, num + num5, array5, 0, num4);
                this.evtList_timer.Add(new EventTimerFormat());
                this.evtList_timer[this.evtList_timer.Count - 1].ConvertBinary(false, array5);
                i++;
                num5 += num4;
            }
            num += num2;
        }
        if (write)
        {
            num3 = this.evtList_active.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = new EventTimerFormat().UseByte();
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                Buffer.BlockCopy(this.evtList_active[i].ConvertBinary(true, null), 0, list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                byte[] array6 = new byte[num4];
                Buffer.BlockCopy(sByte, num + num5, array6, 0, num4);
                this.evtList_active.Add(new EventTimerFormat());
                this.evtList_active[this.evtList_active.Count - 1].ConvertBinary(false, array6);
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite((int)this.tutorialStep, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.tutorialStep = (Step)ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        if (write)
        {
            num3 = this.firstFlag.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 1;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(Convert.ToInt32(this.firstFlag[i]), list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.firstFlag.Add(Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num + num5, num4)));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num2 = 20;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWriteString(this.frogName, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.frogName = ByteConverter.ConnectReadString(sByte, num, num2);
            num          += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.frogAchieveId, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.frogAchieveId = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        if (write)
        {
            num3 = this.achieveFlags.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 1;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(Convert.ToInt32(this.achieveFlags[i]), list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.achieveFlags.Add(Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num + num5, num4)));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.frogMotion, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.frogMotion = ByteConverter.ConnectRead(sByte, num, num2);
            num            += num2;
        }
        num2 = 1;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.home), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.home = Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num, num2));
            num      += num2;
        }
        num2 = 1;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.drift), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.drift = Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num, num2));
            num       += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.restTime, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.restTime = ByteConverter.ConnectRead(sByte, num, num2);
            num          += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.lastTravelTime, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.lastTravelTime = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        num2 = 1;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.standby), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.standby = Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num, num2));
            num         += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.standbyWait, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.standbyWait = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.bgmVolume, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.bgmVolume = ByteConverter.ConnectRead(sByte, num, num2);
            num           += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.seVolume, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.seVolume = ByteConverter.ConnectRead(sByte, num, num2);
            num          += num2;
        }
        num2 = 1;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.NoticeFlag), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.NoticeFlag = Convert.ToBoolean(ByteConverter.ConnectRead(sByte, num, num2));
            num            += num2;
        }
        if (write)
        {
            num3 = this.gameFlags.Count;
        }
        else
        {
            num3 = ByteConverter.ConnectRead(sByte, num, 4);
        }
        num4 = 4;
        num5 = 4;
        num2 = 4 + num3 * num4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(num3, list[list.Count - 1], 0, 4);
            int i = 0;
            while (i < num3)
            {
                ByteConverter.ConnectWrite(this.gameFlags[i], list[list.Count - 1], num5, num4);
                i++;
                num5 += num4;
            }
        }
        else
        {
            int i = 0;
            while (i < num3)
            {
                this.gameFlags.Add(ByteConverter.ConnectRead(sByte, num + num5, num4));
                i++;
                num5 += num4;
            }
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.tmpRaffleResult, list[list.Count - 1], 0, num2);
        }
        else
        {
            this.tmpRaffleResult = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(Convert.ToInt32(this.version_start * 10000f), list[list.Count - 1], 0, num2);
        }
        else
        {
            this.version_start = (float)ByteConverter.ConnectRead(sByte, num, num2) / 10000f;
            num += num2;
        }
        num2 = 4;
        if (write)
        {
            list.Add(new byte[num2]);
            ByteConverter.ConnectWrite(this.iapCallBackCnt, list[list.Count - 1], 0, num2);
        }
        else if (this.version >= 1.05f)
        {
            this.iapCallBackCnt = ByteConverter.ConnectRead(sByte, num, num2);
            num += num2;
        }
        if (!write && this.version < 1.05f)
        {
            this.supportID = UnityEngine.Random.Range(0, 1000000000);
            this.hoten[0]  = true;
        }
        if (write)
        {
            int num6 = 0;
            foreach (byte[] array7 in list)
            {
                num6 += array7.Length;
            }
            sByte = new byte[num6];
            foreach (byte[] array8 in list)
            {
                Buffer.BlockCopy(array8, 0, sByte, num, array8.Length);
                num += array8.Length;
            }
            return(sByte);
        }
        return(null);
    }
Beispiel #3
0
    // Token: 0x060003DB RID: 987 RVA: 0x000184F4 File Offset: 0x000168F4
    public void CreateButton(Item.Type itemType)
    {
        RectTransform component = this.contentsList.GetComponent <RectTransform>();

        this.DeleteButtonAll();
        List <int> list = new List <int>();

        if (this.listMode == ItemScrollView.Mode.Equip)
        {
            list = this.CallObj.GetComponent <BagPanel>().Get_tmpItemListAll();
        }
        else
        {
            list.AddRange(SuperGameMaster.GetBagList());
            list.AddRange(SuperGameMaster.GetDeskList());
        }
        using (List <ItemListFormat> .Enumerator enumerator = SuperGameMaster.saveData.ItemList.GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                ItemListFormat item           = enumerator.Current;
                ItemDataFormat itemDataFormat = SuperGameMaster.sDataBase.get_ItemDB_forId(item.id);
                if (itemDataFormat != null)
                {
                    if (itemType == Item.Type.NONE || itemDataFormat.type == itemType)
                    {
                        GameObject gameObject;
                        if (itemDataFormat.type != Item.Type.Specialty)
                        {
                            gameObject = UnityEngine.Object.Instantiate <GameObject>(this.btnPref);
                            gameObject.transform.SetParent(component, false);
                            gameObject.GetComponent <ItemButton>().CngItemName(itemDataFormat.name);
                            gameObject.GetComponent <ItemButton>().CngItemInfo(itemDataFormat.info);
                        }
                        else
                        {
                            gameObject = UnityEngine.Object.Instantiate <GameObject>(this.spe_btnPref);
                            gameObject.transform.SetParent(this.spe_contentsList.GetComponent <RectTransform>(), false);
                        }
                        gameObject.GetComponent <ItemButton>().setItemId(itemDataFormat.id, itemDataFormat.type);
                        gameObject.GetComponent <ItemButton>().CngImage(itemDataFormat.img);
                        gameObject.GetComponent <ItemButton>().ItemScrollView = base.gameObject;
                        ItemScrollView.Mode mode = this.listMode;
                        if (mode != ItemScrollView.Mode.View)
                        {
                            if (mode != ItemScrollView.Mode.Present)
                            {
                                if (mode == ItemScrollView.Mode.Equip)
                                {
                                    if (itemDataFormat.spend)
                                    {
                                        int num = item.stock;
                                        if (list.FindIndex((int itemId) => itemId.Equals(item.id)) != -1)
                                        {
                                            foreach (int num2 in list)
                                            {
                                                if (num2 == item.id)
                                                {
                                                    num--;
                                                }
                                            }
                                        }
                                        gameObject.GetComponent <ItemButton>().CngStockNum(num);
                                        if (this.CallObj.GetComponent <BagPanel>().tmpBagList[this.setId] == itemDataFormat.id)
                                        {
                                            gameObject.GetComponent <ItemButton>().Fade(new Color(0.7f, 0.7f, 0.7f));
                                            gameObject.GetComponent <ItemButton>().SetCheckImage(true);
                                            gameObject.GetComponent <ItemButton>().setItemId(-2, Item.Type._ElmMax);
                                        }
                                        else if (num <= 0)
                                        {
                                            UnityEngine.Object.Destroy(gameObject);
                                        }
                                    }
                                    else
                                    {
                                        if (list.FindIndex((int itemId) => itemId.Equals(item.id)) != -1)
                                        {
                                            gameObject.GetComponent <Button>().interactable = false;
                                            if (this.CallObj.GetComponent <BagPanel>().tmpBagList[this.setId] == itemDataFormat.id)
                                            {
                                                gameObject.GetComponent <ItemButton>().SetCheckImage(true);
                                                gameObject.GetComponent <ItemButton>().Fade(new Color(0.7f, 0.7f, 0.7f));
                                                gameObject.GetComponent <ItemButton>().setItemId(-2, Item.Type._ElmMax);
                                                gameObject.GetComponent <Button>().interactable = true;
                                            }
                                            else
                                            {
                                                gameObject.GetComponent <ItemButton>().Fade(new Color(0.7f, 0.7f, 0.7f));
                                            }
                                        }
                                        gameObject.GetComponent <ItemButton>().CngStockNum(-2);
                                    }
                                }
                            }
                            else if (itemDataFormat.spend)
                            {
                                int num3 = item.stock;
                                if (list.FindIndex((int itemId) => itemId.Equals(item.id)) != -1)
                                {
                                    foreach (int num4 in list)
                                    {
                                        if (num4 == item.id)
                                        {
                                            num3--;
                                        }
                                    }
                                }
                                if (num3 > 0)
                                {
                                    gameObject.GetComponent <ItemButton>().CngStockNum(num3);
                                }
                                else
                                {
                                    UnityEngine.Object.Destroy(gameObject);
                                }
                            }
                            else
                            {
                                gameObject.GetComponent <ItemButton>().CngStockNum(-2);
                            }
                        }
                        else
                        {
                            gameObject.GetComponent <Button>().enabled = false;
                            if (itemDataFormat.spend)
                            {
                                int num5 = item.stock;
                                if (list.FindIndex((int itemId) => itemId.Equals(item.id)) != -1)
                                {
                                    foreach (int num6 in list)
                                    {
                                        if (num6 == item.id)
                                        {
                                            num5--;
                                        }
                                    }
                                }
                                if (num5 > 0)
                                {
                                    gameObject.GetComponent <ItemButton>().CngStockNum(num5);
                                }
                                else
                                {
                                    UnityEngine.Object.Destroy(gameObject);
                                }
                            }
                            else
                            {
                                gameObject.GetComponent <ItemButton>().CngStockNum(-2);
                            }
                        }
                    }
                }
            }
        }
    }
Beispiel #4
0
 // Token: 0x06000411 RID: 1041 RVA: 0x0001BCB4 File Offset: 0x0001A0B4
 public ItemListFormat(ItemListFormat original)
 {
     this.id    = original.id;
     this.stock = original.stock;
 }