コード例 #1
0
    private void OnCloseDialog()
    {
        //IL_0203: Unknown result type (might be due to invalid IL or missing references)
        object eventData = GameSection.GetEventData();
        bool   flag      = false;

        if (eventData is StatusEquip.ChangeEquipData)
        {
            StatusEquip.ChangeEquipData changeEquipData = eventData as StatusEquip.ChangeEquipData;
            flag = (changeEquipData.item != localEquipSets[changeEquipData.setNo].item[changeEquipData.index]);
            if (showEquipMode)
            {
                localEquipSets[changeEquipData.setNo].item[changeEquipData.index] = changeEquipData.item;
                MonoBehaviourSingleton <StatusManager> .I.ReplaceEquipItem(localEquipSets[changeEquipData.setNo], changeEquipData.setNo, changeEquipData.index);
            }
            else
            {
                StatusManager.LocalVisual localVisualEquip = MonoBehaviourSingleton <StatusManager> .I.GetLocalVisualEquip();

                int   index = changeEquipData.index;
                ulong num   = (localVisualEquip.visualItem[index] == null) ? 0 : localVisualEquip.visualItem[index].uniqueID;
                localVisualEquip.visualItem[index] = changeEquipData.item;
                ulong num2 = (localVisualEquip.visualItem[index] == null) ? 0 : localVisualEquip.visualItem[index].uniqueID;
            }
            if (flag)
            {
                localEquipSet = localEquipSets[changeEquipData.setNo];
            }
        }
        else if (eventData is StatusEquip.ChangeEquipData[])
        {
            StatusEquip.ChangeEquipData[] array = eventData as StatusEquip.ChangeEquipData[];
            for (int i = 0; i < array.Length; i++)
            {
                if ((array[i].index != 0 || array[i].item != null) && (array[i].index != 3 || array[i].item != null))
                {
                    localEquipSets[array[i].setNo].item[array[i].index] = array[i].item;
                    MonoBehaviourSingleton <StatusManager> .I.ReplaceEquipItem(localEquipSets[array[i].setNo], array[i].setNo, array[i].index);

                    flag = true;
                }
            }
        }
        if (flag)
        {
            localEquipSetUpdate();
            RefreshUI();
            this.StartCoroutine(ReloadModelByLocalEquipSetCoroutine());
        }
    }
コード例 #2
0
    protected override void OnOpen()
    {
        object eventData = GameSection.GetEventData();

        if (eventData is StatusEquip.ChangeEquipData)
        {
            StatusEquip.ChangeEquipData changeEquipData = eventData as StatusEquip.ChangeEquipData;
            if (showEquipMode)
            {
                localEquipSet[changeEquipData.setNo].item[changeEquipData.index] = changeEquipData.item;
                MonoBehaviourSingleton <StatusManager> .I.ReplaceEquipItem(localEquipSet[changeEquipData.setNo], changeEquipData.setNo, changeEquipData.index);
            }
            else
            {
                int   index = changeEquipData.index;
                ulong num   = (visualEquip.visualItem[index] == null) ? 0 : visualEquip.visualItem[index].uniqueID;
                visualEquip.visualItem[index] = changeEquipData.item;
                ulong num2 = (visualEquip.visualItem[index] == null) ? 0 : visualEquip.visualItem[index].uniqueID;
                if (num != num2)
                {
                    UpdateModel();
                }
            }
        }
        else if (eventData is StatusEquip.ChangeEquipData[])
        {
            StatusEquip.ChangeEquipData[] array = eventData as StatusEquip.ChangeEquipData[];
            for (int i = 0; i < array.Length; i++)
            {
                if ((array[i].index != 0 || array[i].item != null) && (array[i].index != 3 || array[i].item != null))
                {
                    localEquipSet[array[i].setNo].item[array[i].index] = array[i].item;
                    MonoBehaviourSingleton <StatusManager> .I.ReplaceEquipItem(localEquipSet[array[i].setNo], array[i].setNo, array[i].index);
                }
            }
        }
        else
        {
            ResetEquipSetCopy();
        }
        localEquipSetUpdate();
    }
コード例 #3
0
    private void OnQuery_OK()
    {
        weaponIndex  = GetToggleIndex(weapons);
        elementIndex = GetToggleIndex(elements);
        isCurrent    = (GetToggleIndex(states) == 0);
        MonoBehaviourSingleton <InventoryManager> .I.changeInventoryType = ChangeWeaponTypeToInventoryType(weaponIndex);
        weaponItemInfoList = MonoBehaviourSingleton <InventoryManager> .I.GetEquipInventoryClone();

        if (weaponItemInfoList == null || weaponItemInfoList.Length == 0)
        {
            MonoBehaviourSingleton <GameSceneManager> .I.OpenCommonDialog(new CommonDialog.Desc(CommonDialog.TYPE.OK, StringTable.Get(STRING_CATEGORY.AUTO_EQUIP, 0u), null, null, null, null), delegate
            {
            }, false, 0);

            GameSection.StopEvent();
        }
        else
        {
            newEquipments     = new StatusEquip.ChangeEquipData[7];
            selectedWeaponIds = new List <ulong>(3);
            for (int i = 0; i < newEquipments.Length; i++)
            {
                newEquipments[i] = new StatusEquip.ChangeEquipData(selectEquipSetData.setNo, i, null);
                switch (i)
                {
                case 0:
                    SelectWeapon0();
                    break;

                case 1:
                    SelectWeapon1();
                    break;

                case 2:
                    SelectWeapon2();
                    break;

                case 4:
                    SelectHelm();
                    break;

                case 3:
                    SelectArmor();
                    break;

                case 5:
                    SelectArm();
                    break;

                case 6:
                    SelectLeg();
                    break;
                }
            }
            GameSection.SetEventData(newEquipments);
            if (isMismatchElem)
            {
                GameSection.ChangeEvent("ELMENT_WARNING", null);
            }
            else
            {
                GameSection.ChangeEvent("COMPLETE", null);
            }
        }
    }