Ejemplo n.º 1
0
        private void OnClick(GenericSlot slot, bool interactable)
        {
            if (!interactable)
            {
                return;
            }
            GameObject gameObject1 = AssetManager.Load <GameObject>(ArtifactSlots.ArtiSelectPath);

            if (UnityEngine.Object.op_Equality((UnityEngine.Object)gameObject1, (UnityEngine.Object)null))
            {
                return;
            }
            GameObject gameObject2 = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)gameObject1);

            if (UnityEngine.Object.op_Equality((UnityEngine.Object)gameObject2, (UnityEngine.Object)null))
            {
                return;
            }
            ArtifactWindow component = (ArtifactWindow)gameObject2.GetComponent <ArtifactWindow>();

            if (UnityEngine.Object.op_Equality((UnityEngine.Object)component, (UnityEngine.Object)null))
            {
                return;
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)slot, (UnityEngine.Object)null))
            {
                if (UnityEngine.Object.op_Equality((UnityEngine.Object)slot, (UnityEngine.Object) this.ArtifactSlot))
                {
                    component.SelectArtifactSlot = ArtifactTypes.Arms;
                }
                else if (UnityEngine.Object.op_Equality((UnityEngine.Object)slot, (UnityEngine.Object) this.ArtifactSlot2))
                {
                    component.SelectArtifactSlot = ArtifactTypes.Armor;
                }
                else if (UnityEngine.Object.op_Equality((UnityEngine.Object)slot, (UnityEngine.Object) this.ArtifactSlot3))
                {
                    component.SelectArtifactSlot = ArtifactTypes.Accessory;
                }
            }
            component.OnEquip = new ArtifactWindow.EquipEvent(this.OnSelect);
            component.SetOwnerUnit(this.mCurrentUnit, this.mCurrentUnit.JobIndex);
            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)component.ArtifactList, (UnityEngine.Object)null))
            {
                return;
            }
            if (component.ArtifactList.TestOwner != this.mCurrentUnit)
            {
                component.ArtifactList.TestOwner = this.mCurrentUnit;
            }
            ArtifactData dataOfClass = DataSource.FindDataOfClass <ArtifactData>(((Component)slot).get_gameObject(), (ArtifactData)null);
            long         iid         = 0;

            if (this.mCurrentUnit.CurrentJob.Artifacts != null)
            {
                long num = (long)(dataOfClass == null ? (OLong)0L : dataOfClass.UniqueID);
                for (int index = 0; index < this.mCurrentUnit.CurrentJob.Artifacts.Length; ++index)
                {
                    if (this.mCurrentUnit.CurrentJob.Artifacts[index] != 0L & this.mCurrentUnit.CurrentJob.Artifacts[index] == num)
                    {
                        iid = this.mCurrentUnit.CurrentJob.Artifacts[index];
                        break;
                    }
                }
            }
            ArtifactData artifactData = (ArtifactData)null;

            if (iid != 0L)
            {
                artifactData = MonoSingleton <GameManager> .Instance.Player.FindArtifactByUniqueID(iid);
            }
            if (artifactData != null)
            {
                component.ArtifactList.SetSelection((object[])new ArtifactData[1]
                {
                    artifactData
                }, true, true);
            }
            else
            {
                component.ArtifactList.SetSelection((object[])new ArtifactData[0], true, true);
            }
            ArtifactTypes type = dataOfClass == null ? ArtifactTypes.None : dataOfClass.ArtifactParam.type;

            component.ArtifactList.FiltersPriority = this.SetEquipArtifactFilters(dataOfClass, type);
        }
Ejemplo n.º 2
0
        private void Init()
        {
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.ListParent, (UnityEngine.Object)null) || UnityEngine.Object.op_Equality((UnityEngine.Object) this.ListItemTemplate, (UnityEngine.Object)null))
            {
                return;
            }
            this.master = MonoSingleton <GameManager> .Instance.MasterParam;
            if (this.master == null)
            {
                return;
            }
            this.player = MonoSingleton <GameManager> .Instance.Player;
            if (this.player == null)
            {
                return;
            }
            ArtifactData dataOfClass1 = DataSource.FindDataOfClass <ArtifactData>(((Component)this).get_gameObject(), (ArtifactData)null);

            if (dataOfClass1 != null)
            {
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.CurrentLevel, (UnityEngine.Object)null))
                {
                    this.CurrentLevel.set_text(dataOfClass1.Lv.ToString());
                }
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.FinishedLevel, (UnityEngine.Object)null))
                {
                    this.FinishedLevel.set_text(this.CurrentLevel.get_text());
                }
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.MaxLevel, (UnityEngine.Object)null))
                {
                    this.MaxLevel.set_text("/" + dataOfClass1.GetLevelCap().ToString());
                }
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.NextExp, (UnityEngine.Object)null))
                {
                    this.NextExp.set_text(dataOfClass1.GetNextExp().ToString());
                }
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.LevelGauge, (UnityEngine.Object)null))
                {
                    int   totalExpFromLevel = dataOfClass1.GetTotalExpFromLevel((int)dataOfClass1.Lv);
                    float num1 = (float)(dataOfClass1.GetTotalExpFromLevel((int)dataOfClass1.Lv + 1) - totalExpFromLevel);
                    float num2 = (float)(dataOfClass1.Exp - totalExpFromLevel);
                    if ((double)num1 <= 0.0)
                    {
                        num1 = 1f;
                    }
                    this.LevelGauge.AnimateValue(Mathf.Clamp01(num2 / num1), 0.0f);
                }
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.GetAllExp, (UnityEngine.Object)null))
                {
                    this.GetAllExp.set_text("0");
                }
                this.mOriginArtifact = dataOfClass1;
            }
            List <string>   stringList   = new List <string>((IEnumerable <string>)PlayerPrefsUtility.GetString(PlayerPrefsUtility.ARTIFACT_BULK_LEVELUP, string.Empty).Split('|'));
            List <ItemData> itemDataList = this.player.Items;
            ArtifactWindow  dataOfClass2 = DataSource.FindDataOfClass <ArtifactWindow>(((Component)this).get_gameObject(), (ArtifactWindow)null);

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)dataOfClass2, (UnityEngine.Object)null))
            {
                itemDataList = dataOfClass2.TmpItems;
            }
            for (int index = 0; index < itemDataList.Count; ++index)
            {
                ItemData data = itemDataList[index];
                if (data != null && data.Param != null && (data.Param.type == EItemType.ExpUpArtifact && data.Num > 0))
                {
                    GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.ListItemTemplate);
                    if (UnityEngine.Object.op_Inequality((UnityEngine.Object)gameObject, (UnityEngine.Object)null))
                    {
                        DataSource.Bind <ItemData>(gameObject, data);
                        gameObject.get_transform().SetParent((Transform)this.ListParent, false);
                        ArtifactLevelUpListItem component = (ArtifactLevelUpListItem)gameObject.GetComponent <ArtifactLevelUpListItem>();
                        if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
                        {
                            component.OnSelect     = new ArtifactLevelUpListItem.SelectExpItem(this.RefreshExpSelectItems);
                            component.ChangeUseMax = new ArtifactLevelUpListItem.ChangeToggleEvent(this.RefreshUseMaxItems);
                            component.OnCheck      = new ArtifactLevelUpListItem.CheckSliderValue(this.OnCheck);
                            this.mArtifactLevelupLists.Add(component);
                            if (stringList != null && stringList.Count > 0)
                            {
                                component.SetUseMax(stringList.IndexOf(data.Param.iname) != -1);
                            }
                            if (component.IsUseMax())
                            {
                                this.mCacheExpItemList.Add(data);
                            }
                            gameObject.SetActive(true);
                        }
                        this.mItems.Add(gameObject);
                    }
                }
            }
            if (this.mCacheExpItemList != null && this.mCacheExpItemList.Count > 0)
            {
                this.mCacheExpItemList.Sort((Comparison <ItemData>)((a, b) => (int)b.Param.value - (int)a.Param.value));
            }
            ((Selectable)this.MaxBtn).set_interactable(this.mCacheExpItemList != null && this.mCacheExpItemList.Count > 0);
            ((Selectable)this.DecideBtn).set_interactable(this.mSelectExpItems != null && this.mSelectExpItems.Count > 0);
        }