public static string UnitSkinImage(UnitParam unit, ArtifactParam skin, string jobName) { if (skin == null) { return(AssetPath.UnitImage(unit, jobName)); } AssetPath.mSB.Length = 0; AssetPath.mSB.Append("UnitImages/"); AssetPath.mSB.Append(unit.image); AssetPath.mSB.Append("_"); AssetPath.mSB.Append(skin.asset); return(AssetPath.mSB.ToString()); }
private void Start() { GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect(); if (Object.op_Equality((Object)instanceDirect, (Object)null)) { return; } SceneBattle instance = SceneBattle.Instance; if (!Object.op_Implicit((Object)instance) || !instance.IsGetFirstClearItem || !Object.op_Implicit((Object)this.GoGetUnitAnim)) { return; } string firstClearItemId = instance.FirstClearItemId; ItemParam itemParam = instanceDirect.GetItemParam(firstClearItemId); if (itemParam == null || itemParam.type != EItemType.Unit) { return; } UnitParam unitParam = instanceDirect.GetUnitParam(firstClearItemId); if (unitParam == null) { return; } DataSource.Bind <ItemParam>(((Component)this).get_gameObject(), itemParam); DataSource.Bind <UnitParam>(((Component)this).get_gameObject(), unitParam); if (Object.op_Implicit((Object)this.ImgUnit)) { instanceDirect.ApplyTextureAsync(this.ImgUnit, AssetPath.UnitImage(unitParam, unitParam.GetJobId(0))); } GameParameter.UpdateAll(((Component)this).get_gameObject()); Animator component = (Animator)this.GoGetUnitAnim.GetComponent <Animator>(); if (!Object.op_Implicit((Object)component)) { return; } component.SetInteger("rariry", (int)unitParam.rare + 1); }
public void Refresh(UnitParam param, string shard_name = "", int awake_lv = 0, int get_shard = 0, int current_index = 0) { if (param == null) { return; } GameManager instance1 = MonoSingleton <GameManager> .Instance; this.InitRebirthStar(); this.rebirthstar_template.SetActive(false); this.mNotUnlockUnit = true; this.mget_shard = get_shard; this.msub_shard = this.GetPastShard(current_index, (string)param.piece); this.muse_shard = 0; this.mstart_gauge = 0; this.mremain_shard = this.mget_shard; UnitData unitDataByUnitId = instance1.Player.FindUnitDataByUnitID(param.iname); this.mCurrentUnitIname = param.iname; string path1 = AssetPath.UnitImage(param, param.GetJobId(0)); instance1.ApplyTextureAsync(this.unit_img, path1); instance1.ApplyTextureAsync(this.unit_img_blur01, path1); instance1.ApplyTextureAsync(this.unit_img_blur02, path1); string path2 = AssetPath.UnitIconSmall(param, param.GetJobId(0)); instance1.ApplyTextureAsync((RawImage)this.unit_icon, path2); GameSettings instance2 = GameSettings.Instance; if (unitDataByUnitId != null && EElement.None <= unitDataByUnitId.Element && unitDataByUnitId.Element < (EElement)instance2.Elements_IconSmall.Length) { this.element_icon.set_sprite(instance2.Elements_IconSmall[(int)unitDataByUnitId.Element]); } else { this.element_icon.set_sprite((Sprite)null); } this.ShardName.set_text(shard_name); this.StartAwakeLv = this.NowAwakeLv = awake_lv; if (unitDataByUnitId != null) { this.mNotUnlockUnit = false; this.AwakeLvCap = unitDataByUnitId.GetAwakeLevelCap(); int num1 = (int)instance1.MasterParam.GetRarityParam(unitDataByUnitId.Rarity).UnitAwakeLvCap / 5; for (int index = 0; index < num1; ++index) { GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.rebirthstar_template); gameObject.get_transform().SetParent(this.rebirthstar_root.get_transform(), false); gameObject.SetActive(true); this.mRebirthStars.Add(gameObject); } int index1 = this.StartAwakeLv / 5; for (int index2 = 0; index2 < index1 && this.mRebirthStars.Count >= index2; ++index2) { Transform child = this.mRebirthStars[index2].get_transform().FindChild("Rebirth_star_anim"); ((Component)child.FindChild("Rebirthstar_01")).get_gameObject().SetActive(true); ((Component)child.FindChild("Rebirthstar_02")).get_gameObject().SetActive(true); ((Component)child.FindChild("Rebirthstar_03")).get_gameObject().SetActive(true); ((Component)child.FindChild("Rebirthstar_04")).get_gameObject().SetActive(true); ((Component)child.FindChild("Rebirthstar_05")).get_gameObject().SetActive(true); } int num2 = this.StartAwakeLv % 5; if (num2 > 0) { Transform child = this.mRebirthStars[index1].get_transform().FindChild("Rebirth_star_anim"); for (int index2 = 0; index2 < num2; ++index2) { string str = "Rebirthstar_0" + (object)(index2 + 1); ((Component)child.FindChild(str)).get_gameObject().SetActive(true); } } if (this.msub_shard > 0) { int startAwakeLv = this.StartAwakeLv; int msubShard = this.msub_shard; int awakeNeedPieces = instance1.MasterParam.GetAwakeNeedPieces(startAwakeLv); int num3 = this.AwakeLvCap / 5; while (msubShard >= awakeNeedPieces) { int num4 = startAwakeLv / 5; int num5 = Math.Min(5, startAwakeLv % 5) + 1; Transform child = this.mRebirthStars[num4 + 1 < num3 ? num4 : num3 - 1].get_transform().FindChild("Rebirth_star_anim").FindChild("Rebirthstar_0" + num5.ToString()); if (Object.op_Inequality((Object)child, (Object)null)) { ((Component)child).get_gameObject().SetActive(true); } ++startAwakeLv; if (startAwakeLv < this.AwakeLvCap) { msubShard -= awakeNeedPieces; awakeNeedPieces = instance1.MasterParam.GetAwakeNeedPieces(startAwakeLv); if (msubShard < awakeNeedPieces) { break; } } else { break; } } if (Object.op_Inequality((Object)this.ShardNext, (Object)null)) { this.ShardNext.set_text(awakeNeedPieces.ToString()); } if (Object.op_Inequality((Object)this.ShardCurrent, (Object)null)) { this.ShardCurrent.set_text(msubShard.ToString()); } this.mstart_gauge = msubShard; this.ShardGauge.AnimateValue((float)msubShard / (float)awakeNeedPieces, 0.0f); this.StartAwakeLv = startAwakeLv; this.NowAwakeLv = this.StartAwakeLv; this.NextAwakeLv = this.StartAwakeLv + 1 <= this.AwakeLvCap ? this.StartAwakeLv + 1 : this.AwakeLvCap; } } int num = unitDataByUnitId == null?param.GetUnlockNeedPieces() : instance1.MasterParam.GetAwakeNeedPieces(this.StartAwakeLv); this.mnext_shard = num; this.muse_shard = this.mget_shard >= num ? num : this.mget_shard; if (this.mstart_gauge > 0 && this.mstart_gauge + this.muse_shard > this.mnext_shard) { this.muse_shard -= this.mstart_gauge; } this.mremain_shard -= this.muse_shard; if (unitDataByUnitId == null && this.muse_shard >= this.mnext_shard) { this.mUnlockUnit = true; } if (this.muse_shard >= this.mnext_shard && this.msub_shard <= 0) { this.NextAwakeLv = this.NowAwakeLv + 1 <= this.AwakeLvCap ? this.NowAwakeLv + 1 : this.AwakeLvCap; } if (param.jobsets != null && param.jobsets.Length > 0) { this.mJobID = new List <string>(); this.mJobAwakeLv = new List <int>(); for (int index = 0; index < param.jobsets.Length; ++index) { JobSetParam jobSetParam = MonoSingleton <GameManager> .Instance.GetJobSetParam((string)param.jobsets[index]); if (jobSetParam != null && jobSetParam.lock_awakelv > 0 && (unitDataByUnitId == null || !unitDataByUnitId.Jobs[index].IsActivated) && this.StartAwakeLv < jobSetParam.lock_awakelv) { this.mJobID.Add(jobSetParam.job); this.mJobAwakeLv.Add(jobSetParam.lock_awakelv); } } if (this.mJobID != null && this.mJobID.Count > 1) { JobParam jobParam = MonoSingleton <GameManager> .Instance.GetJobParam(this.mJobID[0]); this.JobName.set_text(jobParam.name); this.JobComment.set_text(LocalizedText.Get("sys.GACHA_TEXT_SHARD_AWAKE", new object[1] { (object)jobParam.name })); } } this.isRunningAnimator = true; }
public void Setup(ConceptCardData conceptCardData) { try { UnitParam unitParam = MonoSingleton <GameManager> .Instance.GetUnitParam(conceptCardData.Param.first_get_unit); ConceptCardParam card = conceptCardData.Param; if (Object.op_Inequality((Object)this.m_ConceptCardImage, (Object)null) && card != null) { MonoSingleton <GameManager> .Instance.ApplyTextureAsync(this.m_ConceptCardImage, AssetPath.ConceptCard(card)); } if (Object.op_Inequality((Object)this.m_UnitImage, (Object)null) && unitParam != null) { MonoSingleton <GameManager> .Instance.ApplyTextureAsync(this.m_UnitImage, AssetPath.UnitImage(unitParam, unitParam.GetJobId(0))); } if (Object.op_Inequality((Object)this.m_UnitBlurImage, (Object)null) && unitParam != null) { MonoSingleton <GameManager> .Instance.ApplyTextureAsync(this.m_UnitBlurImage, AssetPath.UnitImage(unitParam, unitParam.GetJobId(0))); } if (Object.op_Inequality((Object)this.m_ConceptCardFrame, (Object)null)) { this.m_ConceptCardFrame.ImageIndex = card.rare; } if (Object.op_Inequality((Object)this.m_UnitTextDescription, (Object)null)) { this.m_UnitTextDescription.set_text(LocalizedText.Get("sys.CONCEPT_CARD_UNIT_GET_DESCRIPTION", (object)card.name, (object)unitParam.name)); } this.SetConceptCardRarity(card.rare + 1); this.SetUnitRarity((int)unitParam.rare + 1); this.m_UnitRarity = (int)unitParam.rare; this.StartCoroutine(this.WaitConceptCardEffectEnd()); } catch { this.SetConceptCardRarity(1); this.SetUnitRarity(1); } }