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); }
public override void UpdateValue() { ArtifactData data = (ArtifactData)null; ArtifactParam artifactParam = (ArtifactParam)null; GameManager instance1 = MonoSingleton <GameManager> .Instance; if (this.InstanceType == ArtifactIcon.InstanceTypes.ArtifactData) { data = DataSource.FindDataOfClass <ArtifactData>(((Component)this).get_gameObject(), (ArtifactData)null); } else { artifactParam = DataSource.FindDataOfClass <ArtifactParam>(((Component)this).get_gameObject(), (ArtifactParam)null); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Lv, (UnityEngine.Object)null)) { if (data != null) { if ((int)data.Lv != this.mLastLv) { this.mLastLv = (int)data.Lv; this.Lv.set_text(data.Lv.ToString()); } ((Component)this.Lv).get_gameObject().SetActive(true); } else { ((Component)this.Lv).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.PreLvCap, (UnityEngine.Object)null)) { if (data != null && (int)data.Rarity > 0) { this.PreLvCap.set_text(MonoSingleton <GameManager> .Instance.GetRarityParam((int)data.Rarity - 1).ArtifactLvCap.ToString()); ((Component)this.PreLvCap).get_gameObject().SetActive(true); } else { ((Component)this.PreLvCap).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.LvCap, (UnityEngine.Object)null)) { if (data != null) { if ((int)data.LvCap != this.mLastLvCap) { this.mLastLvCap = (int)data.LvCap; this.LvCap.set_text(data.LvCap.ToString()); } ((Component)this.LvCap).get_gameObject().SetActive(true); } else { ((Component)this.LvCap).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.LvGauge, (UnityEngine.Object)null)) { if (data != null) { if (data.Exp != this.mLastExpNum) { this.LvGauge.set_minValue(1f); this.LvGauge.set_maxValue((float)(int)data.LvCap); this.LvGauge.set_value((float)(int)data.Lv); } ((Component)this.LvGauge).get_gameObject().SetActive(true); } else { ((Component)this.LvGauge).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ExpGauge, (UnityEngine.Object)null)) { if (data != null) { if (data.Exp != this.mLastExpNum) { if ((int)data.Lv >= (int)data.LvCap) { this.ExpGauge.set_minValue(0.0f); Slider expGauge = this.ExpGauge; float num1 = 1f; this.ExpGauge.set_value(num1); double num2 = (double)num1; expGauge.set_maxValue((float)num2); } else { int showExp = data.GetShowExp(); int nextExp = data.GetNextExp(); this.ExpGauge.set_minValue(0.0f); this.ExpGauge.set_maxValue((float)(showExp + nextExp)); this.ExpGauge.set_value((float)showExp); } } ((Component)this.ExpGauge).get_gameObject().SetActive(true); } else { ((Component)this.ExpGauge).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.PieceGauge, (UnityEngine.Object)null)) { if (artifactParam != null) { this.PieceGauge.set_minValue(0.0f); ItemData itemDataByItemId = MonoSingleton <GameManager> .Instance.Player.FindItemDataByItemID(artifactParam.kakera); this.PieceGauge.set_maxValue((float)(int)MonoSingleton <GameManager> .Instance.GetRarityParam(artifactParam.rareini).ArtifactCreatePieceNum); this.PieceGauge.set_value(itemDataByItemId == null ? 0.0f : (float)itemDataByItemId.Num); ((Component)this.PieceGauge).get_gameObject().SetActive(true); } else { ((Component)this.PieceGauge).get_gameObject().SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Icon, (UnityEngine.Object)null)) { if (data != null || artifactParam != null) { string path = AssetPath.ArtifactIcon(data == null ? artifactParam : data.ArtifactParam); instance1.ApplyTextureAsync(this.Icon, path); } else { instance1.CancelTextureLoadRequest(this.Icon); this.Icon.set_texture((Texture)null); } } int index1 = 0; int index2 = 0; if (data != null) { index1 = (int)data.Rarity; index2 = (int)data.RarityCap; } else if (artifactParam != null) { index1 = artifactParam.rareini; index2 = artifactParam.raremax; } if (data != null || artifactParam != null) { bool flag1 = data != null && data.CheckEnableRarityUp() == ArtifactData.RarityUpResults.Success; if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityUp, (UnityEngine.Object)null)) { this.RarityUp.SetActive(flag1); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityUpBack, (UnityEngine.Object)null) && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DefaultBack, (UnityEngine.Object)null)) { ((Behaviour)this.RarityUpBack).set_enabled(flag1); ((Behaviour)this.DefaultBack).set_enabled(!flag1); } bool flag2 = false; if (artifactParam != null) { ItemData itemDataByItemId = MonoSingleton <GameManager> .Instance.Player.FindItemDataByItemID(artifactParam.kakera); if (itemDataByItemId != null) { RarityParam rarityParam = MonoSingleton <GameManager> .Instance.GetRarityParam(artifactParam.rareini); flag2 = itemDataByItemId.Num >= (int)rarityParam.ArtifactCreatePieceNum; } else { flag2 = false; } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.CanCreate, (UnityEngine.Object)null)) { this.CanCreate.SetActive(flag2); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.CanCreateBack, (UnityEngine.Object)null) && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DefaultBack, (UnityEngine.Object)null)) { ((Behaviour)this.CanCreateBack).set_enabled(flag2); ((Behaviour)this.DefaultBack).set_enabled(!flag2); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.CanCreateGauge, (UnityEngine.Object)null) && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DefaultBack, (UnityEngine.Object)null)) { ((Behaviour)this.CanCreateGauge).set_enabled(flag2); ((Behaviour)this.DefaultBack).set_enabled(!flag2); } if (this.NotCreateGrayIcon != null && this.NotCreateGrayIcon.Length > 0) { if (flag2) { for (int index3 = 0; index3 < this.NotCreateGrayIcon.Length; ++index3) { ((Graphic)this.NotCreateGrayIcon[index3]).set_color(Color.get_white()); } } else { for (int index3 = 0; index3 < this.NotCreateGrayIcon.Length; ++index3) { ((Graphic)this.NotCreateGrayIcon[index3]).set_color(Color.get_cyan()); } } } if (this.NotCreateGrayRawIcon != null && this.NotCreateGrayRawIcon.Length > 0) { if (flag2) { for (int index3 = 0; index3 < this.NotCreateGrayRawIcon.Length; ++index3) { ((Graphic)this.NotCreateGrayRawIcon[index3]).set_color(Color.get_white()); } } else { for (int index3 = 0; index3 < this.NotCreateGrayRawIcon.Length; ++index3) { ((Graphic)this.NotCreateGrayRawIcon[index3]).set_color(Color.get_cyan()); } } } if (data != null && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.NotRarityUp, (UnityEngine.Object)null) && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.CanRarityUp, (UnityEngine.Object)null)) { bool flag3 = (int)data.Rarity == (int)data.RarityCap; this.NotRarityUp.SetActive(flag3); this.CanRarityUp.SetActive(!flag3); } if (data != null && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityUpCost, (UnityEngine.Object)null)) { this.RarityUpCost.set_text(data.GetKakeraNeedNum().ToString()); } if (artifactParam != null && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TransmuteCost, (UnityEngine.Object)null)) { this.TransmuteCost.set_text((int)MonoSingleton <GameManager> .Instance.GetRarityParam(artifactParam.rareini).ArtifactCreatePieceNum.ToString()); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.PieceNum, (UnityEngine.Object)null)) { ItemData itemData = data == null ? MonoSingleton <GameManager> .Instance.Player.FindItemDataByItemID(artifactParam.kakera) : MonoSingleton <GameManager> .Instance.Player.FindItemDataByItemParam(data.Kakera); if (itemData != null) { this.PieceNum.set_text(itemData.Num.ToString()); if (data != null && data.CheckEnableRarityUp() == ArtifactData.RarityUpResults.Success) { ((Graphic)this.PieceNum).set_color(Color.get_yellow()); } else { ((Graphic)this.PieceNum).set_color(Color.get_white()); } } else { this.PieceNum.set_text("0"); ((Graphic)this.PieceNum).set_color(Color.get_white()); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Rarity, (UnityEngine.Object)null)) { GameSettings instance2 = GameSettings.Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance2, (UnityEngine.Object)null) && index1 < instance2.ArtifactIcon_Rarity.Length) { this.Rarity.set_sprite(instance2.ArtifactIcon_Rarity[index1]); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityMax, (UnityEngine.Object)null)) { GameSettings instance2 = GameSettings.Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance2, (UnityEngine.Object)null) && index2 < instance2.ArtifactIcon_RarityBG.Length) { this.RarityMax.set_sprite(instance2.ArtifactIcon_RarityBG[index2]); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityText, (UnityEngine.Object)null)) { this.RarityText.set_text((index1 + 1).ToString()); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityMaxText, (UnityEngine.Object)null)) { this.RarityMaxText.set_text((index2 + 1).ToString()); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Frame, (UnityEngine.Object)null)) { GameSettings instance2 = GameSettings.Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance2, (UnityEngine.Object)null) && index1 < instance2.ArtifactIcon_Frames.Length) { this.Frame.set_sprite(instance2.ArtifactIcon_Frames[index1]); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Category, (UnityEngine.Object)null)) { GameSettings instance2 = GameSettings.Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance2, (UnityEngine.Object)null) && (data != null || artifactParam != null)) { switch (data == null ? (int)artifactParam.type : (int)data.ArtifactParam.type) { case 1: this.Category.set_sprite(instance2.ArtifactIcon_Weapon); break; case 2: this.Category.set_sprite(instance2.ArtifactIcon_Armor); break; case 3: this.Category.set_sprite(instance2.ArtifactIcon_Misc); break; } } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DecKakeraNum, (UnityEngine.Object)null)) { this.DecKakeraNum.set_text(data.GetKakeraChangeNum().ToString()); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DecCost, (UnityEngine.Object)null)) { this.DecCost.set_text(data.RarityParam.ArtifactChangeCost.ToString()); } } else { if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Rarity, (UnityEngine.Object)null)) { this.Rarity.set_sprite((Sprite)null); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RarityMax, (UnityEngine.Object)null)) { this.RarityMax.set_sprite((Sprite)null); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Frame, (UnityEngine.Object)null)) { this.Frame.set_sprite((Sprite)null); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Category, (UnityEngine.Object)null)) { this.Category.set_sprite((Sprite)null); } } bool flag = false; if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Owner, (UnityEngine.Object)null)) { if (data != null && this.SetOwnerIcon(instance1, data)) { this.Owner.SetActive(true); flag = true; } else { this.Owner.SetActive(false); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Favorite, (UnityEngine.Object)null)) { if (data != null && data.IsFavorite) { this.Favorite.SetActive(true); flag = true; } else { this.Favorite.SetActive(false); } } if (this.ForceMask) { flag = true; } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.LockMask, (UnityEngine.Object)null)) { this.LockMask.SetActive(flag); } if (data == null) { return; } this.mLastExpNum = data.Exp; }
private void RefreshFinishedStatus() { if (this.mSelectExpItems == null || this.mSelectExpItems.Count <= 0) { return; } int exp1 = 0; using (Dictionary <string, int> .KeyCollection.Enumerator enumerator = this.mSelectExpItems.Keys.GetEnumerator()) { while (enumerator.MoveNext()) { string current = enumerator.Current; ItemData itemDataByItemId = this.player.FindItemDataByItemID(current); if (itemDataByItemId != null) { int mSelectExpItem = this.mSelectExpItems[current]; if (mSelectExpItem != 0 && mSelectExpItem <= itemDataByItemId.Num) { int num = (int)itemDataByItemId.Param.value * mSelectExpItem; exp1 += num; } } } } int gainExpCap = this.mOriginArtifact.GetGainExpCap(); int num1 = Math.Min(this.mOriginArtifact.Exp + exp1, gainExpCap); ArtifactData artifactData = this.mOriginArtifact.Copy(); artifactData.GainExp(exp1); using (List <ArtifactLevelUpListItem> .Enumerator enumerator = this.mArtifactLevelupLists.GetEnumerator()) { while (enumerator.MoveNext()) { enumerator.Current.SetInputLock(num1 < gainExpCap); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.FinishedLevel, (UnityEngine.Object)null)) { this.FinishedLevel.set_text(artifactData.Lv.ToString()); if ((int)artifactData.Lv >= this.mOriginArtifact.GetLevelCap()) { ((Graphic)this.FinishedLevel).set_color(Color.get_red()); } else if ((int)artifactData.Lv > (int)this.mOriginArtifact.Lv) { ((Graphic)this.FinishedLevel).set_color(Color.get_green()); } else { ((Graphic)this.FinishedLevel).set_color(Color.get_white()); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.AddLevelGauge, (UnityEngine.Object)null)) { if (num1 == this.mOriginArtifact.Exp || exp1 == 0) { this.AddLevelGauge.AnimateValue(0.0f, 0.0f); } else { int totalExpFromLevel = this.mOriginArtifact.GetTotalExpFromLevel((int)this.mOriginArtifact.Lv); float num2 = (float)(this.mOriginArtifact.GetTotalExpFromLevel((int)this.mOriginArtifact.Lv + 1) - totalExpFromLevel); float num3 = (float)(num1 - totalExpFromLevel); if ((double)num2 <= 0.0) { num2 = 1f; } this.AddLevelGauge.AnimateValue(Mathf.Clamp01(num3 / num2), 0.0f); } } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.NextExp, (UnityEngine.Object)null)) { int num2 = 0; if (num1 < this.mOriginArtifact.GetGainExpCap()) { int exp2 = artifactData.Exp; int nextExp = artifactData.GetNextExp(); int num3 = num1 - exp2; num2 = Math.Max(0, nextExp <= num3 ? 0 : nextExp - num3); } this.NextExp.set_text(num2.ToString()); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.GetAllExp, (UnityEngine.Object)null)) { this.GetAllExp.set_text(exp1.ToString()); } ((Selectable)this.DecideBtn).set_interactable(exp1 > 0); }