yyl
4 天以前 39beb14fed3db1027b3564ddd4bea2684f1900d0
Main/System/Battle/BattleObject/BattleObjectFactory.cs
@@ -1,4 +1,3 @@
using System.Collections.Generic;
using System;
using UnityEngine;
@@ -11,7 +10,7 @@
    private static float m_modelScaleRate = 0f;
    private static float modelScaleRate
    public static float modelScaleRate
    {
        get
        {
@@ -34,8 +33,6 @@
        GameObject battleGO = ResManager.Instance.LoadAsset<GameObject>("Hero/SpineRes", "Hero_001"/*skinCfg.SpineRes*/);
        GameObject goParent = posNodeList[teamHero.positionNum];
        BattleObject battleObject = new BattleObject(_battleField);
        battleObject.ObjID = teamHero.ObjID;
@@ -50,17 +47,35 @@
            return null;
        }
        float finalScaleRate = modelScaleRate * teamHero.modelScale;
        skeletonAnimation.initialSkinName = skinCfg.InitialSkinName;
        skeletonAnimation.skeletonDataAsset = skeletonDataAsset;
        skeletonAnimation.Initialize(true);
        // 初始化完成后设置皮肤
        if (!string.IsNullOrEmpty(skinCfg.InitialSkinName))
        {
            var skeleton = skeletonAnimation.Skeleton;
            skeleton.SetSkin(skinCfg.InitialSkinName);
            skeleton.SetSlotsToSetupPose();
            skeletonAnimation.Update(0);
        }
        realGO.name = battleObject.ObjID.ToString();
        realGO.transform.localScale = new Vector3(finalScaleRate, finalScaleRate, finalScaleRate);
        RectTransform rectTrans = realGO.GetComponent<RectTransform>();
        rectTrans.anchoredPosition = Vector2.zero;
        battleObject.Init(realGO, teamHero, _Camp);
#if UNITY_EDITOR
        BattleDebug.LogError(
            "初始化 未行动" +
            (battleObject.Camp == BattleCamp.Red ? "【红方】" : "【蓝方】 ") +
            $"武将: {battleObject.teamHero.name}\n" +
            $"当前血量: {battleObject.teamHero.curHp} -> 最大血量{battleObject.teamHero.maxHp}\n"
        );
#endif
        return battleObject;
    }