Main/Component/UI/Effect/EffectPlayer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Main/Component/UI/Effect/UIEffectPlayer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Main/Config/Configs/HeroConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Main/Config/Configs/TreeLVConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Main/System/Hero/UIHeroController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Component/UI/Effect/EffectPlayer.cs
@@ -7,7 +7,7 @@ using UnityEngine.UI; // 特效播放器,对象池管理:unity特效和spine特效都是做好的预制体 // unity特效预制体是特效师在制作的时候生成的,unity特效约定挂载设置播放时长脚本 // unity特效预制体是特效师在制作的时候生成的,unity特效必须挂载设置播放时长脚本 EffectTime // spine特效是特效师制作的动画文件可直接加载用,制作成预制体可增加BoneFollower之类的进行逻辑处理 // 非UI特效使用,UI特效UIEffectPlayer继承EffectPlayer,后续如果逻辑冲突大则不用继承 public class EffectPlayer : MonoBehaviour @@ -38,7 +38,7 @@ [Header("播放完毕立即回收")] public bool isReleaseImmediately = true; //界面特效一般不需要自我销毁,跟随界面或者父对象销毁就行 @@ -81,7 +81,7 @@ effectConfig = null; #if UNITY_EDITOR if (showLog) { { Debug.LogError("EffectPlayer effectId is not set"); UnityEditor.Selection.activeGameObject = gameObject; UnityEditor.EditorGUIUtility.PingObject(gameObject); @@ -189,7 +189,7 @@ } protected virtual void PlayerEffect(bool playSpine) { { var effectPrefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName); if (effectPrefab == null) { @@ -268,8 +268,8 @@ protected virtual void OnSpineAnimationComplete(Spine.TrackEntry trackEntry) { if (isReleaseImmediately) { spineComp.enabled = false; { spineComp.enabled = false; Stop(); } } @@ -423,6 +423,6 @@ return; } } } Main/Component/UI/Effect/UIEffectPlayer.cs
@@ -82,7 +82,7 @@ if (spineComp.skeletonDataAsset == null) { //LoadAsset 已经有缓存SkeletonDataAsset spineComp.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName + "_SkeletonData"); spineComp.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName); spineComp.raycastTarget = false; spineComp.Initialize(true); spineAnimationState = spineComp.AnimationState; Main/Config/Configs/HeroConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: 2025年7月26日 // [ Date ]: 2025年7月29日 //-------------------------------------------------------- using System.Collections.Generic; @@ -15,6 +15,7 @@ public string Name; public int Country; public int Quality; public int AtkDistType; public int Class; public int[] SkinIDList; public int AtkSkillID; @@ -44,15 +45,17 @@ int.TryParse(tables[3],out Quality); int.TryParse(tables[4],out Class); int.TryParse(tables[4],out AtkDistType); if (tables[5].Contains("[")) int.TryParse(tables[5],out Class); if (tables[6].Contains("[")) { SkinIDList = JsonMapper.ToObject<int[]>(tables[5]); SkinIDList = JsonMapper.ToObject<int[]>(tables[6]); } else { string[] SkinIDListStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); string[] SkinIDListStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); SkinIDList = new int[SkinIDListStringArray.Length]; for (int i=0;i<SkinIDListStringArray.Length;i++) { @@ -60,25 +63,25 @@ } } int.TryParse(tables[6],out AtkSkillID); int.TryParse(tables[7],out AtkSkillID); int.TryParse(tables[7],out AngerSkillID); int.TryParse(tables[8],out AngerSkillID); int.TryParse(tables[8],out AtkInheritPer); int.TryParse(tables[9],out AtkInheritPer); int.TryParse(tables[9],out DefInheritPer); int.TryParse(tables[10],out DefInheritPer); int.TryParse(tables[10],out HPInheritPer); int.TryParse(tables[11],out HPInheritPer); BatAttrDict = tables[11]; BatAttrDict = tables[12]; if (tables[12].Contains("[")) if (tables[13].Contains("[")) { FetterIDList = JsonMapper.ToObject<int[]>(tables[12]); FetterIDList = JsonMapper.ToObject<int[]>(tables[13]); } else { string[] FetterIDListStringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); string[] FetterIDListStringArray = tables[13].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); FetterIDList = new int[FetterIDListStringArray.Length]; for (int i=0;i<FetterIDListStringArray.Length;i++) { @@ -86,7 +89,7 @@ } } float.TryParse(tables[13],out UIScale); float.TryParse(tables[14],out UIScale); } catch (Exception exception) { Main/Config/Configs/TreeLVConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: 2025年7月26日 // [ Date ]: 2025年7月29日 //-------------------------------------------------------- using System.Collections.Generic; @@ -15,7 +15,6 @@ public int LVUPNeedMoney; public int LVUPNeedTime; public int[] EquipColorRateList; public string ExAwardItemRateList; public override int LoadKey(string _key) { @@ -46,8 +45,6 @@ int.TryParse(EquipColorRateListStringArray[i],out EquipColorRateList[i]); } } ExAwardItemRateList = tables[4]; } catch (Exception exception) { Main/System/Hero/UIHeroController.cs
@@ -44,7 +44,7 @@ skeletonGraphic = instanceGO.GetComponentInChildren<SkeletonGraphic>(true); var skinConfig = HeroSkinConfig.Get(skinID); skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/", skinConfig.SpineRes + "_SkeletonData"); skeletonGraphic.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("Hero/SpineRes/", skinConfig.SpineRes); skeletonGraphic.Initialize(true); this.transform.localScale = Vector3.one * scale; spineAnimationState = skeletonGraphic.AnimationState;