using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Cute; using UnityEngine; using Wizard; using Wizard.Battle.Player.ClassCharacter; using Wizard.Battle.View; using Wizard.Battle.View.Vfx; public class SBattleLoad : MonoBehaviour { public class CardFrameMaterialHolder { public static Material GetHandUnitFrame(int rarity) { string text = null; Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(rarity switch { 0 => "CardFrame_F_Bronze", 1 => "CardFrame_F_Bronze", 2 => "CardFrame_F_Silver", 3 => "CardFrame_F_Gold", 4 => "CardFrame_F_Legend", _ => "CardFrame_F_Bronze", }, ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); material.shader = Shader.Find(material.shader.name); return material; } public static Material GetInPlayNormalUnitFrame(int rarity) { string text = null; Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(rarity switch { 2 => "CardFrame_BTL_Silver", 3 => "CardFrame_BTL_Gold", 4 => "CardFrame_BTL_Legend", _ => "CardFrame_BTL_Bronze", }, ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); material.shader = Shader.Find(material.shader.name); return material; } public static Material GetInPlayEvolveUnitFrame(int rarity) { string text = null; Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(rarity switch { 2 => "CardFrame_BTL_Silver", 3 => "CardFrame_BTL_Gold", 4 => "CardFrame_BTL_Legend", _ => "CardFrame_BTL_Bronze", }, ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); material.shader = Shader.Find(material.shader.name); return material; } public static Material GetHandFieldFrame(int rarity) { string text = null; Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(rarity switch { 0 => "CardFrame_SF_Bronze", 1 => "CardFrame_SF_Bronze", 2 => "CardFrame_SF_Silver", 3 => "CardFrame_SF_Gold", 4 => "CardFrame_SF_Legend", _ => "CardFrame_SF_Bronze", }, ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); material.shader = Shader.Find(material.shader.name); return material; } } private static readonly Vector3 CARDHOLDER_COLL_SIZE = new Vector3(70f, 90f, 50f); private static readonly Vector3 PLAYER_CARDHOLDER_POS = new Vector3(950f, -190f, 0f); private static readonly Vector3 PLAYER_CARDHOLDER_ROT = new Vector3(0f, 0f, 80f); private static readonly Vector3 ENEMY_CARDHOLDER_POS = new Vector3(965f, 180f, 0f); private static readonly Vector3 ENEMY_CARDHOLDER_ROT = new Vector3(0f, 0f, 100f); private static readonly Vector3 NOT_CANCEL_COLIDER_SCALE = new Vector3(5f, 4.4f, 25f); private GameMgr _gameMgr; private DataMgr _dataMgr; private BattleManagerBase _btlMgr; [SerializeField] private GameObject m_BtlContainer; [SerializeField] private GameObject m_BtlUIContainer; [SerializeField] private GameObject m_SubParticleContainer; [SerializeField] private GameObject m_CutInContainer; [SerializeField] private GameObject m_AnimationMgr; [SerializeField] private GameObject m_PanelMgr; public CardTemplate UnitCardTemplate; public CardTemplate SpellCardTemplate; public CardTemplate FieldCardTemplate; public Material[] m_RarelityFrameSkillList = new Material[5]; public Material[] _choiceBraveCardFrame = new Material[5]; private Material _sharedMaterialNormal; private GameObject UnitGameObj; private GameObject SpellGameObj; private GameObject FieldGameObj; public GameObject LifePoolIcon; private GameObject AtkPoolIcon; private GameObject CostPoolIcon; private GameObject NamePoolIcon; private GameObject SkillDescPool; private GameObject CardBasePool; private bool isAnimDone; private NetworkManager networkManager; private List unitCardEffectObjs = new List(); private List spellCardEffectObjs = new List(); private List fieldCardEffectObjs = new List(); public bool isDbgEnableEnemyHandView = true; private int _playerSkinId = -1; public bool isLoadEnd; public TurnEndButtonUI m_TurnEndBtnUI { get; private set; } public event Action OnEndWaitCallBack; public void WaitCallBack() { if (networkManager == null) { networkManager = Toolbox.NetworkManager; } isAnimDone = false; if (_gameMgr == null) { _gameMgr = GameMgr.GetIns(); } _dataMgr = _gameMgr.GetDataMgr(); _btlMgr = BattleManagerBase.GetIns(); _btlMgr.SBattleLoad = this; foreach (Transform item in _gameMgr.GetGameObjMgr().GetUIContainer().transform) { UnityEngine.Object.Destroy(item.gameObject); } _gameMgr.GetGameObjMgr().GetUIContainer().SetActive(value: true); if (_gameMgr.IsNetworkBattle) { StartLoadNetworkBattle(); } else { StartLoadQuest(); } } public void Dispoose() { if (UnitCardTemplate != null) { UnityEngine.Object.Destroy(UnitCardTemplate.gameObject); } if (SpellCardTemplate != null) { UnityEngine.Object.Destroy(SpellCardTemplate.gameObject); } if (FieldCardTemplate != null) { UnityEngine.Object.Destroy(FieldCardTemplate.gameObject); } UnitCardTemplate = null; SpellCardTemplate = null; FieldCardTemplate = null; m_RarelityFrameSkillList = null; _choiceBraveCardFrame = null; _sharedMaterialNormal = null; UnitGameObj = null; SpellGameObj = null; FieldGameObj = null; LifePoolIcon = null; AtkPoolIcon = null; CostPoolIcon = null; NamePoolIcon = null; SkillDescPool = null; CardBasePool = null; unitCardEffectObjs = null; spellCardEffectObjs = null; fieldCardEffectObjs = null; this.OnEndWaitCallBack = null; m_TurnEndBtnUI = null; } private void StartLoadQuest() { Init(); } private void StartLoadNetworkBattle() { Init(); } private void Init() { _gameMgr.GetPrefabMgr().Load("Prefab/Game/_NetworkBattleManager"); StartCoroutine(CreateVSObjects()); } private IEnumerator InitLoad() { while (UnitCardTemplate == null || SpellCardTemplate == null || FieldCardTemplate == null) { yield return null; } yield return StartCoroutine(Loading()); CardVoiceInfoCache.ClearCardVoiceInfo(); InitPlayer(); InitEnemy(); } private void CreateUnitCardTemplate() { GameObject gameObject = _gameMgr.GetPrefabMgr().CloneObjectToParent(UnitGameObj, _btlMgr.Battle3DContainer); UnitCardTemplate = gameObject.AddComponent(); UnitCardTemplate.CardWrapObjTemp = gameObject.transform.Find("CardObj").gameObject; UnitCardTemplate.CardNormalTemp = UnitCardTemplate.CardWrapObjTemp.transform.Find("Normal"); UnitCardTemplate.CardNormalLodGroup = UnitCardTemplate.CardNormalTemp.GetComponent(); UnitCardTemplate.FieldNormalMeshTemp = UnitCardTemplate.CardWrapObjTemp.transform.Find("NormalField").GetComponent(); UnitCardTemplate.FieldEvolMeshTemp = UnitCardTemplate.CardWrapObjTemp.transform.Find("EvolField").GetComponent(); UnitCardTemplate.Collider = gameObject.transform.Find("Collider").GetComponent(); UnitCardTemplate.NotCancelCollider = gameObject.transform.Find("NotCancelCollider").GetComponent(); UnitCardTemplate.FieldNormalMeshTemp.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_Card_Unit_n", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); UnitCardTemplate.FieldEvolMeshTemp.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_Card_Unit_e", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); MeshFilter[] componentsInChildren = UnitCardTemplate.CardNormalTemp.GetComponentsInChildren(); Mesh sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_unit", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); Mesh sharedMesh2 = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_unit_low", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); componentsInChildren[0].sharedMesh = sharedMesh; componentsInChildren[1].sharedMesh = sharedMesh2; GameObject gameObject2 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_char_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject2.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; gameObject2.transform.localPosition = new Vector3(0f, 0f, 0f); gameObject2.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject2.AddComponent(); UnitCardTemplate.FrameEffectNormal = gameObject2; GameObject gameObject3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_char_2", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject3.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; gameObject3.transform.localPosition = new Vector3(0f, 0f, 0f); gameObject3.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject3.AddComponent(); UnitCardTemplate.FrameEffectEvolve = gameObject3; GameObject gameObject4 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject4.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; gameObject4.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject4.AddComponent(); UnitCardTemplate.FrameEffectHandCard = gameObject4; UnitCardTemplate.FrameEffectHandRenderer = gameObject4.GetComponentsInChildren(includeInactive: true); GameObject gameObject5 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("stt_loop_spellcharge_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject5.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; gameObject5.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject5.AddComponent(); UnitCardTemplate._spellBoostFrameEffect = gameObject5; unitCardEffectObjs.Add(gameObject2); unitCardEffectObjs.Add(gameObject3); unitCardEffectObjs.Add(gameObject5); unitCardEffectObjs.Add(gameObject4); GameObject gameObject6 = _gameMgr.GetPrefabMgr().CloneObjectToParent(CardBasePool, _btlMgr.Battle3DContainer); gameObject6.transform.localPosition = Global.CARD_BASE_POS; gameObject6.transform.localRotation = Quaternion.Euler(Global.CARD_BASE_ROT); gameObject6.transform.parent = UnitCardTemplate.CardNormalTemp; gameObject6.transform.localScale = Global.CARD_BASE_SCALE; gameObject6.layer = 10; GameObject cardBasePool = CardBasePool; cardBasePool.transform.localPosition = Global.CARD_BASE_POS; cardBasePool.transform.localRotation = Quaternion.Euler(Global.CARD_BASE_ROT); cardBasePool.transform.localScale = Global.CARD_BASE_SCALE; cardBasePool.layer = 10; UnitCardTemplate.CardWrapObjTemp.transform.localScale = new Vector3(3.2f, 3.2f, 25f); UnitCardTemplate.Collider.transform.localScale = new Vector3(3.2f, 3.2f, 25f); UnitCardTemplate.NotCancelCollider.transform.localScale = NOT_CANCEL_COLIDER_SCALE; UnitCardTemplate.NormalCardBaseMeshTemp = gameObject6.GetComponent(); UnitCardTemplate.NormalCardBaseMeshTemp.sharedMaterial = _sharedMaterialNormal; UnitCardTemplate.EvolCardBaseMeshTemp = cardBasePool.GetComponent(); UnitCardTemplate.EvolCardBaseMeshTemp.sharedMaterial = _sharedMaterialNormal; GameObject obj = _gameMgr.GetPrefabMgr().CloneObjectToParent(LifePoolIcon, _btlMgr.Battle3DContainer); obj.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; obj.transform.localPosition = new Vector3(22f, -24.5f, -0.1f); obj.transform.localScale = new Vector3(9f, 9f, 0.5f); obj.SetActive(value: false); UILabel component = obj.transform.Find("LifeLabel").GetComponent(); UnitCardTemplate.LifeLabelTemp = component; GameObject obj2 = _gameMgr.GetPrefabMgr().CloneObjectToParent(LifePoolIcon, _btlMgr.Battle3DContainer); obj2.transform.parent = UnitCardTemplate.CardNormalTemp; UILabel component2 = obj2.transform.Find("LifeLabel").GetComponent(); Color color = (component.color = Global.CARD_DEFAULT_COLOR); component2.color = color; obj2.transform.localPosition = new Vector3(-1.61f, -2.14f, 0.2f); obj2.transform.localScale = Global.SCALE_CARD_ICON; obj2.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); UnitCardTemplate.NormalLifeLabelTemp = component2; GameObject gameObject7 = _gameMgr.GetPrefabMgr().CloneObjectToParent(CostPoolIcon, _btlMgr.Battle3DContainer); gameObject7.transform.parent = UnitCardTemplate.CardNormalTemp; gameObject7.transform.localPosition = new Vector3(1.68f, 2.12f, 0.12f); gameObject7.transform.localScale = Global.SCALE_CARD_ICON; SetNormalCostLabel(UnitCardTemplate, gameObject7); GameObject gameObject8 = _gameMgr.GetPrefabMgr().CloneObjectToParent(NamePoolIcon, _btlMgr.Battle3DContainer); gameObject8.transform.parent = UnitCardTemplate.CardNormalTemp; gameObject8.transform.localPosition = new Vector3(0f, 2f, 0.2f); gameObject8.transform.localScale = Global.SCALE_NAME_TEXT; SetNormalNameLabel(UnitCardTemplate, gameObject8); GameObject gameObject9 = _gameMgr.GetPrefabMgr().CloneObjectToParent(SkillDescPool, _btlMgr.Battle3DContainer); gameObject9.transform.parent = gameObject.transform.Find("CardObj").transform; gameObject9.transform.localPosition = new Vector3(1.3f, 1f, 0.1f); gameObject9.transform.localScale = new Vector3(0.01f, 0.01f, 0f); UnitCardTemplate.SkillIconTemp = gameObject9.GetComponent(); UILabel component3 = gameObject9.transform.Find("SkillIconLabel").GetComponent(); gameObject9.gameObject.SetActive(value: false); UnitCardTemplate.SkillIconLabelTemp = component3; GameObject obj3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(AtkPoolIcon, _btlMgr.Battle3DContainer); obj3.transform.parent = UnitCardTemplate.CardWrapObjTemp.transform; obj3.transform.localPosition = new Vector3(-22f, -24.5f, -0.1f); obj3.transform.localScale = new Vector3(9f, 9f, 0.5f); UILabel component4 = obj3.transform.Find("AtkLabel").GetComponent(); obj3.SetActive(value: false); UnitCardTemplate.AtkLabelTemp = component4; GameObject obj4 = _gameMgr.GetPrefabMgr().CloneObjectToParent(AtkPoolIcon, _btlMgr.Battle3DContainer); obj4.transform.parent = UnitCardTemplate.CardNormalTemp; UILabel component5 = obj4.transform.Find("AtkLabel").GetComponent(); component5.text = component4.text; color = (component4.color = Global.CARD_DEFAULT_COLOR); component5.color = color; obj4.transform.localPosition = new Vector3(1.63f, -2.14f, 0.2f); obj4.transform.localScale = Global.SCALE_CARD_ICON; UnitCardTemplate.NormalAtkLabelTemp = component5; UnitCardTemplate.transform.localScale = Global.CARD_BATTLE_SCALE; UnitCardTemplate.transform.parent = base.transform; UnitCardTemplate.gameObject.SetActive(value: false); _gameMgr.GetEffectMgr().SetUIParticleShader(unitCardEffectObjs, delegate { for (int i = 0; i < unitCardEffectObjs.Count; i++) { unitCardEffectObjs[i].SetActive(value: false); } unitCardEffectObjs.Clear(); unitCardEffectObjs = null; CreateSpellCardTemplate(); }); } private void CreateSpellCardTemplate() { GameObject gameObject = _gameMgr.GetPrefabMgr().CloneObjectToParent(SpellGameObj, _btlMgr.Battle3DContainer); SpellCardTemplate = gameObject.AddComponent(); SpellCardTemplate.CardWrapObjTemp = gameObject.transform.Find("CardObj").gameObject; SpellCardTemplate.CardNormalTemp = SpellCardTemplate.CardWrapObjTemp.transform.Find("Skill"); SpellCardTemplate.CardNormalLodGroup = SpellCardTemplate.CardNormalTemp.GetComponent(); SpellCardTemplate.FieldNormalMeshTemp = SpellCardTemplate.CardWrapObjTemp.transform.Find("NormalField").GetComponent(); SpellCardTemplate.Collider = gameObject.transform.Find("Collider").GetComponent(); SpellCardTemplate.NotCancelCollider = gameObject.transform.Find("NotCancelCollider").GetComponent(); SpellCardTemplate.FieldNormalMeshTemp.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell_n", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); MeshFilter[] componentsInChildren = SpellCardTemplate.CardNormalTemp.GetComponentsInChildren(); Mesh sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); Mesh sharedMesh2 = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell_low", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); componentsInChildren[0].sharedMesh = sharedMesh; componentsInChildren[1].sharedMesh = sharedMesh2; GameObject gameObject2 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_3", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject2.transform.parent = SpellCardTemplate.CardWrapObjTemp.transform; gameObject2.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject2.AddComponent(); SpellCardTemplate.FrameEffectHandCard = gameObject2; SpellCardTemplate.FrameEffectHandRenderer = gameObject2.GetComponentsInChildren(includeInactive: true); GameObject gameObject3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("stt_loop_spellcharge_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject3.transform.parent = SpellCardTemplate.CardWrapObjTemp.transform; gameObject3.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject3.AddComponent(); SpellCardTemplate._spellBoostFrameEffect = gameObject3; spellCardEffectObjs.Add(gameObject2); spellCardEffectObjs.Add(gameObject3); GameObject gameObject4 = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab(CardBasePool); gameObject4.transform.localPosition = Global.CARD_BASE_POS; gameObject4.transform.localRotation = Quaternion.Euler(Global.CARD_BASE_ROT); gameObject4.transform.parent = SpellCardTemplate.CardNormalTemp; gameObject4.transform.localScale = Global.CARD_BASE_SCALE; gameObject4.layer = 10; SpellCardTemplate.NormalCardBaseMeshTemp = gameObject4.GetComponent(); SpellCardTemplate.NormalCardBaseMeshTemp.sharedMaterial = _sharedMaterialNormal; spellCardEffectObjs.Add(gameObject2); spellCardEffectObjs.Add(gameObject3); GameObject gameObject5 = null; gameObject5 = _gameMgr.GetPrefabMgr().CloneObjectToParent(SkillDescPool, _btlMgr.Battle3DContainer); gameObject5.transform.parent = gameObject.transform.Find("CardObj").transform; gameObject5.transform.localPosition = new Vector3(1.3f, 1f, 0.1f); gameObject5.transform.localScale = new Vector3(0.01f, 0.01f, 0f); SpellCardTemplate.SkillIconTemp = gameObject5.GetComponent(); UILabel component = gameObject5.transform.Find("SkillIconLabel").GetComponent(); SpellCardTemplate.SkillIconTemp.gameObject.SetActive(value: false); SpellCardTemplate.SkillIconLabelTemp = component; GameObject gameObject6 = _gameMgr.GetPrefabMgr().CloneObjectToParent(CostPoolIcon, _btlMgr.Battle3DContainer); gameObject6.transform.parent = SpellCardTemplate.CardNormalTemp; gameObject6.transform.localPosition = new Vector3(1.68f, 2.12f, 0.1f); gameObject6.transform.localScale = Global.SCALE_CARD_ICON; SetNormalCostLabel(SpellCardTemplate, gameObject6); GameObject gameObject7 = _gameMgr.GetPrefabMgr().CloneObjectToParent(NamePoolIcon, _btlMgr.Battle3DContainer); gameObject7.transform.parent = SpellCardTemplate.CardNormalTemp; gameObject7.transform.localPosition = new Vector3(0f, 2f, 0.2f); gameObject7.transform.localScale = Global.SCALE_NAME_TEXT; SetNormalNameLabel(SpellCardTemplate, gameObject7); SpellCardTemplate.transform.localScale = Global.CARD_BATTLE_SCALE; SpellCardTemplate.transform.parent = base.transform; SpellCardTemplate.gameObject.SetActive(value: false); SpellCardTemplate.CardWrapObjTemp.transform.localScale = new Vector3(3.2f, 3.2f, 25f); SpellCardTemplate.Collider.transform.localScale = new Vector3(3.2f, 3.2f, 25f); SpellCardTemplate.NotCancelCollider.transform.localScale = NOT_CANCEL_COLIDER_SCALE; m_RarelityFrameSkillList[0] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); m_RarelityFrameSkillList[1] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); m_RarelityFrameSkillList[2] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); m_RarelityFrameSkillList[3] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); m_RarelityFrameSkillList[4] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); if (Data.CurrentFormat == Format.Avatar) { _choiceBraveCardFrame[0] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); _choiceBraveCardFrame[1] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); _choiceBraveCardFrame[2] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); _choiceBraveCardFrame[3] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); _choiceBraveCardFrame[4] = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial, isfetch: true)); } _gameMgr.GetEffectMgr().SetUIParticleShader(spellCardEffectObjs, delegate { for (int i = 0; i < spellCardEffectObjs.Count; i++) { spellCardEffectObjs[i].SetActive(value: false); } spellCardEffectObjs.Clear(); spellCardEffectObjs = null; CreateFieldCardTemplate(); }); } private void CreateFieldCardTemplate() { GameObject gameObject = _gameMgr.GetPrefabMgr().CloneObjectToParent(FieldGameObj, _btlMgr.Battle3DContainer); FieldCardTemplate = gameObject.AddComponent(); FieldCardTemplate.CardWrapObjTemp = gameObject.transform.Find("CardObj").gameObject; FieldCardTemplate.CardNormalTemp = FieldCardTemplate.CardWrapObjTemp.transform.Find("Normal"); FieldCardTemplate.CardNormalLodGroup = FieldCardTemplate.CardNormalTemp.GetComponent(); FieldCardTemplate.FieldNormalMeshTemp = FieldCardTemplate.CardWrapObjTemp.transform.Find("NormalField").GetComponent(); FieldCardTemplate.Collider = gameObject.transform.Find("Collider").GetComponent(); FieldCardTemplate.NotCancelCollider = gameObject.transform.Find("NotCancelCollider").GetComponent(); FieldCardTemplate.FieldNormalMeshTemp.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field_n", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); MeshFilter[] componentsInChildren = FieldCardTemplate.CardNormalTemp.GetComponentsInChildren(); Mesh sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); Mesh sharedMesh2 = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field_low", ResourcesManager.AssetLoadPathType.CardFrameMesh, isfetch: true)); componentsInChildren[0].sharedMesh = sharedMesh; componentsInChildren[1].sharedMesh = sharedMesh2; GameObject gameObject2 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_field_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject2.transform.parent = FieldCardTemplate.CardWrapObjTemp.transform; gameObject2.transform.localPosition = new Vector3(0f, 0f, 0f); gameObject2.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject2.AddComponent(); FieldCardTemplate.FrameEffectNormal = gameObject2; GameObject gameObject3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_2", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject3.transform.parent = FieldCardTemplate.CardWrapObjTemp.transform; gameObject3.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject3.AddComponent(); FieldCardTemplate.FrameEffectHandCard = gameObject3; FieldCardTemplate.FrameEffectHandRenderer = gameObject3.GetComponentsInChildren(includeInactive: true); GameObject gameObject4 = _gameMgr.GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("stt_loop_spellcharge_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), _btlMgr.Battle3DContainer); gameObject4.transform.parent = FieldCardTemplate.CardWrapObjTemp.transform; gameObject4.transform.localScale = new Vector3(160f, 160f, 20.48f); gameObject4.AddComponent(); FieldCardTemplate._spellBoostFrameEffect = gameObject4; fieldCardEffectObjs.Add(gameObject2); fieldCardEffectObjs.Add(gameObject3); fieldCardEffectObjs.Add(gameObject4); GameObject gameObject5 = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab(CardBasePool); gameObject5.transform.localPosition = Global.CARD_BASE_POS; gameObject5.transform.localRotation = Quaternion.Euler(Global.CARD_BASE_ROT); gameObject5.transform.parent = FieldCardTemplate.CardNormalTemp; gameObject5.transform.localScale = Global.CARD_BASE_SCALE; gameObject5.layer = 10; FieldCardTemplate.NormalCardBaseMeshTemp = gameObject5.GetComponent(); FieldCardTemplate.NormalCardBaseMeshTemp.sharedMaterial = _sharedMaterialNormal; GameObject gameObject6 = null; gameObject6 = _gameMgr.GetPrefabMgr().CloneObjectToParent(SkillDescPool, _btlMgr.Battle3DContainer); gameObject6.transform.parent = gameObject.transform.Find("CardObj").transform; gameObject6.transform.localPosition = new Vector3(1.3f, 1f, 0.1f); gameObject6.transform.localScale = new Vector3(0.01f, 0.01f, 0f); FieldCardTemplate.SkillIconTemp = gameObject6.GetComponent(); UILabel component = FieldCardTemplate.SkillIconTemp.transform.Find("SkillIconLabel").GetComponent(); FieldCardTemplate.SkillIconTemp.gameObject.SetActive(value: false); FieldCardTemplate.SkillIconLabelTemp = component; GameObject gameObject7 = _gameMgr.GetPrefabMgr().CloneObjectToParent(CostPoolIcon, _btlMgr.Battle3DContainer); gameObject7.transform.parent = FieldCardTemplate.CardNormalTemp; gameObject7.transform.localPosition = new Vector3(1.68f, 2.12f, 0.1f); gameObject7.transform.localScale = Global.SCALE_CARD_ICON; SetNormalCostLabel(FieldCardTemplate, gameObject7); GameObject gameObject8 = _gameMgr.GetPrefabMgr().CloneObjectToParent(NamePoolIcon, _btlMgr.Battle3DContainer); gameObject8.transform.parent = FieldCardTemplate.CardNormalTemp; gameObject8.transform.localPosition = new Vector3(0f, 2f, 0.2f); gameObject8.transform.localScale = Global.SCALE_NAME_TEXT; SetNormalNameLabel(FieldCardTemplate, gameObject8); FieldCardTemplate.transform.localScale = Global.CARD_BATTLE_SCALE; FieldCardTemplate.transform.parent = base.transform; FieldCardTemplate.gameObject.SetActive(value: false); FieldCardTemplate.CardWrapObjTemp.transform.localScale = new Vector3(3.2f, 3.2f, 25f); FieldCardTemplate.Collider.transform.localScale = new Vector3(3.2f, 3.2f, 25f); FieldCardTemplate.NotCancelCollider.transform.localScale = NOT_CANCEL_COLIDER_SCALE; _gameMgr.GetEffectMgr().SetUIParticleShader(fieldCardEffectObjs, delegate { for (int i = 0; i < fieldCardEffectObjs.Count; i++) { fieldCardEffectObjs[i].SetActive(value: false); } fieldCardEffectObjs.Clear(); fieldCardEffectObjs = null; StartCoroutine(InitLoad()); }); } private void SetNormalCostLabel(CardTemplate cardTemplate, GameObject costIconNormal) { (cardTemplate.NormalCostLabelTemp = costIconNormal.transform.Find("CostLabel").GetComponent()).color = Global.CARD_DEFAULT_COLOR; (cardTemplate.NormalZeroCostLabelTemp = costIconNormal.transform.Find("ZeroCostLabel").GetComponent()).color = Global.CARD_DEFAULT_COLOR; (cardTemplate.NormalSignLabelTemp = costIconNormal.transform.Find("SignLabel").GetComponent()).color = Global.CARD_DEFAULT_COLOR; (cardTemplate.NormalSignedCostLabelTemp = costIconNormal.transform.Find("SignedCostLabel").GetComponent()).color = Global.CARD_DEFAULT_COLOR; } private void SetNormalNameLabel(CardTemplate cardTemplate, GameObject nameNormal) { UILabel component = nameNormal.transform.Find("NameLabel").GetComponent(); cardTemplate.NormalNameLabelTemp = component; UILabel component2 = nameNormal.transform.Find("ChoiceBraveNameLabel").GetComponent(); cardTemplate.NormalChoiceBraveNameLabelTemp = component2; } private void LoadWithoutResources() { _btlMgr.BtlUIContainer = _gameMgr.GetGameObjMgr().AddUIManagerRootChildPrefab(m_BtlUIContainer); _btlMgr.BattleUIContainer = _btlMgr.BtlUIContainer.GetComponent(); _btlMgr.DetailMgr.DetailPanelControl = new NullDetailPanelControl(); _btlMgr.TurnPanelControl = new NullTurnPanelControl(); _gameMgr.GetPrefabMgr().Load("Prefab/Container/_Battle3DContainer"); _btlMgr.Battle3DContainer = GameMgr.GetIns().GetPrefabMgr().CreateIns("Prefab/Container/_Battle3DContainer"); _btlMgr.Battle3DContainer.transform.parent = _gameMgr.m_GameManagerObj.transform; _btlMgr.BattlePlayer.BattleView.Setup(_gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/StatusPanelP"), _btlMgr.BtlUIContainer, _btlMgr.BtlContainer, _btlMgr.Battle3DContainer); _btlMgr.BattleEnemy.BattleView.Setup(_gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/StatusPanelE"), _btlMgr.BtlUIContainer, _btlMgr.BtlContainer, _btlMgr.Battle3DContainer); InitPlayer(); InitEnemy(); _btlMgr.CardHolder = new GameObject(); _btlMgr.ECardHolder = new GameObject(); _btlMgr.PSideLog = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/SideLogP"); _btlMgr.PSideLogControl = _btlMgr.PSideLog.AddMissingComponent(); } private List GetHighRankPrefabPathList(int id) { List list = new List(); string key = "class_" + id; if (Data.Master.HighRankEffect.ContainsKey(key)) { List list2 = Data.Master.HighRankEffect[key]; for (int i = 0; i < list2.Count; i++) { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(list2[i].Prefab, ResourcesManager.AssetLoadPathType.Effect2D)); } } list.Add(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_" + id + "_Frame", ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_" + id + "_Frame", ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_" + id + "_mask", ResourcesManager.AssetLoadPathType.ClassCharaTexture)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_" + id + "_Base", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_" + id + "_Outside", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); return list; } private List Get3dSkinPrefabPathList() { return new List { Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_uma_Frame", ResourcesManager.AssetLoadPathType.ClassCharaMaterial), Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_uma_Frame", ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture), Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_uma_mask", ResourcesManager.AssetLoadPathType.ClassCharaTexture), Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_uma_Base", ResourcesManager.AssetLoadPathType.ClassCharaMesh), Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_uma_Outside", ResourcesManager.AssetLoadPathType.ClassCharaMesh) }; } private List GetSnCollabPrefabPathList(int skinId) { List list = new List(); if (!Global.IsSnCollabSkin(skinId)) { return list; } list.Add(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_sn_Frame", ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_sn_Frame", ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_sn_mask", ResourcesManager.AssetLoadPathType.ClassCharaTexture)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_sn_Base", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_sn_Outside", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); return list; } private IEnumerator CreateVSObjects() { _gameMgr.GetEffectMgr().InitCommonEffect("Json/EffectBattleData", isBattle: true, isField: false, isBattleEffect: true); List cardPrefabPathList = new List(); _playerSkinId = _gameMgr.GetDataMgr().GetPlayerSkinId(); if (_gameMgr.GetDataMgr().IsHighRankSkinPlayer()) { cardPrefabPathList.AddRange(GetHighRankPrefabPathList(_playerSkinId)); } if (_gameMgr.GetDataMgr().Is3DSkin(isPlayer: true)) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_playerSkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassChara3D)); cardPrefabPathList.AddRange(Get3dSkinPrefabPathList()); } else { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_playerSkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaSpine)); cardPrefabPathList.AddRange(GetSnCollabPrefabPathList(_playerSkinId)); } cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_encampment_mask", ResourcesManager.AssetLoadPathType.ClassCharaTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_encampment_mask_out", ResourcesManager.AssetLoadPathType.ClassCharaTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("mt_encampment_mask", ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetPlayerClassId().ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaIconLevel)); int num; if (_gameMgr.IsNetworkBattle && !_gameMgr.GetDataMgr().IsDipslayHighRankFormat()) { num = PlayerStaticData.UserRankCurrentFormat(); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(num.ToString("00"), ResourcesManager.AssetLoadPathType.RankIcon_S)); } else { num = PlayerStaticData.UserRankHighAllFormat(); } if (num > 1) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath((num - 1).ToString("00"), ResourcesManager.AssetLoadPathType.RankIcon_L)); } if (num < Data.Load.data.RankInfoList.Max((RankInfo x) => x.RankId)) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath((num + 1).ToString("00"), ResourcesManager.AssetLoadPathType.RankIcon_L)); } if (_gameMgr.IsNetworkBattle) { if (_gameMgr.IsWatchBattle || _btlMgr.IsRecovery) { NetworkUserInfoData networkUserInfoData = _gameMgr.GetNetworkUserInfoData(); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetSelfRank().ToString("00"), ResourcesManager.AssetLoadPathType.RankIcon_S)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(networkUserInfoData.GetSelfDegreeId(), DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(networkUserInfoData.GetSelfDegreeId(), DegreeHelper.DegreeType.MIDDLE, isFetch: false)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetSelfEmblemId().ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetSelfCountryCode().ToString(), ResourcesManager.AssetLoadPathType.Country_M)); } if (!_gameMgr.IsWatchBattle) { cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); } cardPrefabPathList.AddRange(LoadOpponentAssets(null)); } else if (_btlMgr.IsPuzzleMgr) { PuzzleQuestData puzzleQuestData = Data.Master.PuzzleQuestDataList.First((PuzzleQuestData data) => data.Id == GameMgr.GetIns().GetDataMgr().PuzzleQuestId); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(puzzleQuestData.EnemyEmblemId.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(puzzleQuestData.EnemyDegreeId, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(puzzleQuestData.EnemyDegreeId, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(puzzleQuestData.PlayerEmblemId.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(puzzleQuestData.PlayerDegreeId, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(puzzleQuestData.PlayerDegreeId, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); } else if (_gameMgr.GetDataMgr().m_BattleType == DataMgr.BattleType.Quest) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_dataMgr.QuestBattleData.EmblemId.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.QuestBattleData.DegreeId, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.QuestBattleData.DegreeId, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); } else if (_gameMgr.GetDataMgr().m_BattleType == DataMgr.BattleType.BossRushQuest || _gameMgr.GetDataMgr().m_BattleType == DataMgr.BattleType.SecretBossQuest) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_dataMgr.BossRushBattleData.EmblemId.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.BossRushBattleData.DegreeId, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.BossRushBattleData.DegreeId, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); } else { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(100000000.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.PracticeDifficultyDegreeId, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(_dataMgr.PracticeDifficultyDegreeId, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.SMALL, isFetch: false)); cardPrefabPathList.AddRange(DegreeHelper.GetDegreeResourceList(PlayerStaticData.UserDegreeID, DegreeHelper.DegreeType.MIDDLE, isFetch: false)); } cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_Frame", ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_encampment_Base", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_encampment_Outside", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_Frame", ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); cardPrefabPathList.Add("s/se_battle.acb"); ClassCharacterMasterData playerCharaData = _gameMgr.GetDataMgr().GetPlayerCharaData(); string path = playerCharaData.path; string path2 = "mt_Encampment_Chara_1"; cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(path2, ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.ClassCharaMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(((int)playerCharaData.ClassColorId).ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaEncampment)); string path3 = "mt_Encampment_Chara_1_Rev"; cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(path3, ResourcesManager.AssetLoadPathType.ClassCharaMaterial)); if (!cardPrefabPathList.Contains(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetPlayerSleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveMaterial))) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetPlayerSleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetPlayerSleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveMaterial)); if (Data.Master.SleeveMgr.Get(DataMgr.GetAbleSleeveId(_gameMgr.GetDataMgr().GetPlayerSleeveId())).IsPremiumSleeve) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetPlayerSleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveTextureMask)); } } if (!cardPrefabPathList.Contains(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetEnemySleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveMaterial))) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetEnemySleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetEnemySleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveMaterial)); if (Data.Master.SleeveMgr.Get(_gameMgr.GetDataMgr().GetEnemySleeveId()).IsPremiumSleeve) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(_gameMgr.GetDataMgr().GetEnemySleeveId().ToString(), ResourcesManager.AssetLoadPathType.SleeveTextureMask)); } } cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("UnitCard", ResourcesManager.AssetLoadPathType.CardFrame)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("SpellCard", ResourcesManager.AssetLoadPathType.CardFrame)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("FieldCard", ResourcesManager.AssetLoadPathType.CardFrame)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_char_1", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_char_2", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Card_Unit", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_unit_low", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Card_Unit_n", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_Card_Unit_e", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_F_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_F_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_F_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_F_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_BTL_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_BTL_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_BTL_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_BTL_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell_low", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_spell_n", ResourcesManager.AssetLoadPathType.CardFrameMesh)); if (Data.CurrentFormat == Format.Avatar) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_heroskill", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_heroskill_low", ResourcesManager.AssetLoadPathType.CardFrameMesh)); } cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_S_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); if (Data.CurrentFormat == Format.Avatar) { cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_HS_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); } cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field_low", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("md_card_field_n", ResourcesManager.AssetLoadPathType.CardFrameMesh)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_SF_Bronze", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_SF_Silver", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_SF_Gold", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrame_SF_Legend", ResourcesManager.AssetLoadPathType.CardFrameMaterial)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_CardBase", ResourcesManager.AssetLoadPathType.CardDeco)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_field_1", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_1", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_2", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_card_3", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_class_1", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("stt_loop_spellcharge_1", ResourcesManager.AssetLoadPathType.Effect2D)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_md_Card", ResourcesManager.AssetLoadPathType.CardFrame)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout_M", ResourcesManager.AssetLoadPathType.BattleTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout", ResourcesManager.AssetLoadPathType.BattleTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout_win_M", ResourcesManager.AssetLoadPathType.BattleTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout_win", ResourcesManager.AssetLoadPathType.BattleTexture)); cardPrefabPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("CardFrameClassIcon", ResourcesManager.AssetLoadPathType.CardFrameMaterialPlus)); List emotionCsvLoadPath = new List(); List emotionIds = new List(); if (_gameMgr.GetDataMgr().GetPlayerEmotionId().Contains("_")) { string playerEmotionId = _gameMgr.GetDataMgr().GetPlayerEmotionId(); emotionIds.Add(playerEmotionId); cardPrefabPathList.Add(Data.Master.GetEmotionTypePath(playerEmotionId, ref emotionCsvLoadPath)); } yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupSync(cardPrefabPathList, delegate { Toolbox.ResourcesManager.BattleListAssetPathList.AddRange(cardPrefabPathList); _btlMgr.BtlUIContainer = _gameMgr.GetGameObjMgr().AddUIManagerRootChildPrefab(m_BtlUIContainer); _btlMgr.BattleUIContainer = _btlMgr.BtlUIContainer.GetComponent(); _btlMgr.SubParticleContainer = UnityEngine.Object.Instantiate(m_SubParticleContainer); _btlMgr.SubParticleContainer.transform.parent = _gameMgr.m_GameManagerObj.transform; _gameMgr.GetPrefabMgr().Load("Prefab/Container/_Battle3DContainer"); _btlMgr.Battle3DContainer = GameMgr.GetIns().GetPrefabMgr().CreateIns("Prefab/Container/_Battle3DContainer"); _btlMgr.Battle3DContainer.transform.parent = _gameMgr.m_GameManagerObj.transform; _btlMgr.CutInContainer = UnityEngine.Object.Instantiate(m_CutInContainer); _btlMgr.CutInContainer.transform.parent = _gameMgr.m_GameManagerObj.transform; _btlMgr.BtlContainer = _gameMgr.GetPrefabMgr().CloneObjectToParent(m_BtlContainer, _btlMgr.Battle3DContainer); CardBasePool = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_CardBase", ResourcesManager.AssetLoadPathType.CardDeco, isfetch: true)) as GameObject; CardBasePool.name = "CardBase"; CardBasePool.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_md_Card", ResourcesManager.AssetLoadPathType.SleeveMesh, isfetch: true)); _btlMgr.CardHolder = InitCardHolderObject("CardHolder", "CardHolder", PLAYER_CARDHOLDER_POS, PLAYER_CARDHOLDER_ROT, CARDHOLDER_COLL_SIZE); InitHandDeckObject("HandDeck"); _btlMgr.ECardHolder = InitCardHolderObject("ECardHolder", "ECardHolder", ENEMY_CARDHOLDER_POS, ENEMY_CARDHOLDER_ROT, CARDHOLDER_COLL_SIZE); InitHandDeckObject("EHandDeck"); _btlMgr.ChoiceCardHolder = _btlMgr.BtlContainer.transform.Find("ChoiceHolder").gameObject; _btlMgr.EvolveCardHolder = _btlMgr.BtlContainer.transform.Find("EvolveCardHolder").gameObject; Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout_M", ResourcesManager.AssetLoadPathType.BattleTexture, isfetch: true)) as Material; material.mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("sleeve_deckout", ResourcesManager.AssetLoadPathType.BattleTexture, isfetch: true)) as Texture; material.shader = Shader.Find(material.shader.name); if (Global.PreLoadSkinId.Contains(_playerSkinId)) { LoadHighRankSkinEffectResources(_playerSkinId); } Material material2 = LoadSleeveMaterial(_gameMgr.GetDataMgr().GetPlayerSleeveId()); int count = _gameMgr.GetDataMgr().GetCurrentDeckData().Count; if (_gameMgr.IsWatchBattle) { _dataMgr.SetDeckMaxCount(count, isSelf: true); } for (int i = 0; i < count + 1; i++) { Material texture = ((i < count) ? material2 : material); Vector3 scale = ((i < count) ? Global.CARD_BASE_STAY_SCALE : (Global.CARD_BASE_STAY_SCALE * 0.95f)); AddDeckCard(i, texture, scale, isPlayer: true); } Material material3 = LoadSleeveMaterial(_gameMgr.GetDataMgr().GetEnemySleeveId()); int count2 = _gameMgr.GetDataMgr().GetCurrentEnemyDeckData().Count; if (_gameMgr.IsWatchBattle) { _dataMgr.SetDeckMaxCount(count2, isSelf: false); } for (int j = 0; j < count2 + 1; j++) { Material texture2 = ((j < count2) ? material3 : material); Vector3 scale2 = ((j < count2) ? Global.CARD_BASE_STAY_SCALE : (Global.CARD_BASE_STAY_SCALE * 0.95f)); AddDeckCard(j, texture2, scale2, isPlayer: false); } _btlMgr.PCardPlace = _btlMgr.BtlContainer.transform.Find("PlayerCardPlace").gameObject; UnitGameObj = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("UnitCard", ResourcesManager.AssetLoadPathType.CardFrame, isfetch: true)); SpellGameObj = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("SpellCard", ResourcesManager.AssetLoadPathType.CardFrame, isfetch: true)); FieldGameObj = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("FieldCard", ResourcesManager.AssetLoadPathType.CardFrame, isfetch: true)); CostPoolIcon = Resources.Load("Prefab/CardDeco/Cost") as GameObject; AtkPoolIcon = Resources.Load("Prefab/CardDeco/Atk") as GameObject; LifePoolIcon = Resources.Load("Prefab/CardDeco/Life") as GameObject; _gameMgr.GetPrefabMgr().Load("Prefab/CardDeco/Name"); NamePoolIcon = _gameMgr.GetPrefabMgr().Get("Prefab/CardDeco/Name"); NamePoolIcon.name = "Name"; SkillDescPool = _gameMgr.GetPrefabMgr().Get("Prefab/CardDeco/SkillIcon"); SkillDescPool.name = "SkillIcon"; Data.Master.DynamicLoadEmoteData(emotionCsvLoadPath, emotionIds); StartCoroutine(StartVS()); _gameMgr.GetEffectMgr().SetupEffectContainer(); _gameMgr.GetEffectMgr().InitEnemyBattleEffect(); _gameMgr.GetEffectMgr().InitBattleEffect(); if (null == _sharedMaterialNormal) { _sharedMaterialNormal = new Material(Shader.Find("Custom/Card/Unlit Diffuse")); } _btlMgr.CreateBattleField(); CreateUnitCardTemplate(); this.OnEndWaitCallBack.Call(); })); } private void LoadHighRankSkinEffectResources(int skinId) { string key = "class_" + skinId; if (!Data.Master.HighRankEffect.ContainsKey(key)) { return; } foreach (HighRankEffectInfo item in Data.Master.HighRankEffect[key]) { if (!(item.Prefab != "")) { continue; } UnityEngine.Object original = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(item.Prefab, ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)); EffectBattle effObject = (UnityEngine.Object.Instantiate(original) as GameObject).AddComponent(); effObject.gameObject.SetActive(value: false); if (BattleManagerBase.GetIns() != null) { GameMgr.GetIns().GetEffectMgr().LoadUIParticleShader(effObject.gameObject, delegate { UnityEngine.Object.Destroy(effObject.gameObject); }, isBattle: true); } } } public List LoadOpponentAssets(Action callback) { List list = new List(); NetworkUserInfoData networkUserInfoData = _gameMgr.GetNetworkUserInfoData(); if (networkUserInfoData.OppoBattleStartInfo != null) { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetOpponentRank().ToString("00"), ResourcesManager.AssetLoadPathType.RankIcon_S)); list.AddRange(DegreeHelper.GetDegreeResourceList(networkUserInfoData.GetOpponentDegreeId(), DegreeHelper.DegreeType.MIDDLE, isFetch: false)); list.AddRange(DegreeHelper.GetDegreeResourceList(networkUserInfoData.GetOpponentDegreeId(), DegreeHelper.DegreeType.SMALL, isFetch: false)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetOpponentEmblemId().ToString(), ResourcesManager.AssetLoadPathType.Emblem_M)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath(networkUserInfoData.GetOpponentCountryCode().ToString(), ResourcesManager.AssetLoadPathType.Country_M)); StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupSync(list, delegate { callback.Call(); })); } return list; } private List GetDelayMaterialPath() { List list = new List(); ClassBattleCardBase classBattleCardBase = _btlMgr.BattlePlayer.Class as ClassBattleCardBase; bool flag = _gameMgr.GetDataMgr().IsHighRankSkinPlayer(); bool flag2 = _gameMgr.GetDataMgr().Is3DSkin(isPlayer: true); if (flag != classBattleCardBase.ClassBattleCardView.ClassCharacter is HighRankSpineClassCharacter || flag2 != classBattleCardBase.ClassBattleCardView.ClassCharacter is Class3dCharacterBase) { classBattleCardBase.Setup(); _btlMgr.BattlePlayer.PlayerBattleView.HandView.SetClassBattleCardView(classBattleCardBase.ClassBattleCardView); classBattleCardBase.SkillApplyInformation.ReSetupVfxCreator(classBattleCardBase.VfxCreator); } int playerSkinId = _gameMgr.GetDataMgr().GetPlayerSkinId(); if (_playerSkinId != playerSkinId) { if (flag2) { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(playerSkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassChara3D)); list.AddRange(Get3dSkinPrefabPathList()); } else { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(playerSkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaSpine)); list.AddRange(GetSnCollabPrefabPathList(playerSkinId)); } ClassCharacterMasterData playerCharaData = _gameMgr.GetDataMgr().GetPlayerCharaData(); string path = playerCharaData.path; list.Add(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.ClassCharaMesh)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath(((int)playerCharaData.ClassColorId).ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaEncampment)); if (flag) { list.AddRange(GetHighRankPrefabPathList(playerSkinId)); } } int enemySkinId = _gameMgr.GetDataMgr().GetEnemySkinId(); bool flag3 = _gameMgr.GetDataMgr().IsHighRankSkinEnemy(); bool flag4 = _gameMgr.GetDataMgr().Is3DSkin(isPlayer: false); ClassBattleCardBase classBattleCardBase2 = _btlMgr.BattleEnemy.Class as ClassBattleCardBase; if (flag3 != classBattleCardBase2.ClassBattleCardView.ClassCharacter is HighRankSpineClassCharacter || flag4 != classBattleCardBase2.ClassBattleCardView.ClassCharacter is Class3dCharacterBase) { classBattleCardBase2.Setup(); _btlMgr.BattleEnemy.BattleView.HandView.SetClassBattleCardView(classBattleCardBase2.ClassBattleCardView); classBattleCardBase2.SkillApplyInformation.ReSetupVfxCreator(classBattleCardBase2.VfxCreator); } if (_playerSkinId != enemySkinId) { if (flag4) { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(enemySkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassChara3D)); list.AddRange(Get3dSkinPrefabPathList()); } else { list.Add(Toolbox.ResourcesManager.GetAssetTypePath(enemySkinId.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaSpine)); list.AddRange(GetSnCollabPrefabPathList(enemySkinId)); } ClassCharacterMasterData enemyCharaData = _gameMgr.GetDataMgr().GetEnemyCharaData(); string path2 = enemyCharaData.path; list.Add(Toolbox.ResourcesManager.GetAssetTypePath(path2, ResourcesManager.AssetLoadPathType.ClassCharaMesh)); list.Add(Toolbox.ResourcesManager.GetAssetTypePath(((int)enemyCharaData.ClassColorId).ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaEncampment)); if (flag3) { list.AddRange(GetHighRankPrefabPathList(enemySkinId)); } } return list; } public VfxBase NetworkBattleStartToLoadOpponentObjects(Action onLoaded) { SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create(); List delayMaterialPath = GetDelayMaterialPath(); List emotionCsvLoadPath = new List(); List emotionIds = new List(); if (_gameMgr.GetDataMgr().GetEnemyEmotionId().Contains("_")) { string enemyEmotionId = _gameMgr.GetDataMgr().GetEnemyEmotionId(); emotionIds.Add(enemyEmotionId); delayMaterialPath.Add(Data.Master.GetEmotionTypePath(enemyEmotionId, ref emotionCsvLoadPath)); } foreach (string item in delayMaterialPath) { sequentialVfxPlayer.Register(new WaitLoadResourceVfx(item)); } if (_playerSkinId != _gameMgr.GetDataMgr().GetPlayerSkinId() && _gameMgr.GetDataMgr().IsHighRankSkinPlayer()) { int playerSkinId = _gameMgr.GetDataMgr().GetPlayerSkinId(); if (Global.PreLoadSkinId.Contains(playerSkinId)) { sequentialVfxPlayer.Register(InstantVfx.Create(delegate { LoadHighRankSkinEffectResources(playerSkinId); })); } } sequentialVfxPlayer.Register(InstantVfx.Create(delegate { Data.Master.DynamicLoadEmoteData(emotionCsvLoadPath, emotionIds); onLoaded.Call(); })); return sequentialVfxPlayer; } private Vector3 GetDeckCardLocalPosition(int idx) { return new Vector3(-0.1f, 0.4f, 0.1f) * idx; } public void AddDeckCard(int idx, Material texture, Vector3 scale, bool isPlayer) { GameObject gameObject = _gameMgr.GetPrefabMgr().CloneObjectToParent(CardBasePool, _btlMgr.Battle3DContainer); gameObject.GetComponent().enabled = false; gameObject.transform.SetParent(isPlayer ? _btlMgr.CardHolder.transform : _btlMgr.ECardHolder.transform); IList holderCards = _btlMgr.GetCardParameterListInfo(isPlayer).HolderCards; gameObject.name = holderCards.Count.ToString(); holderCards.Insert(idx, gameObject); gameObject.transform.localPosition = GetDeckCardLocalPosition(idx + 1); gameObject.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); MeshRenderer component = gameObject.GetComponent(); component.material = texture; component.material.SetFloat("_CullMode", 2f); component.material.SetFloat("_ZWriteMode", 1f); gameObject.transform.localScale = scale; } public void AddDeckCards(int addNum, bool isPlayer) { for (int i = 0; i < addNum; i++) { Material texture = (isPlayer ? LoadSleeveMaterial(_gameMgr.GetDataMgr().GetPlayerSleeveId()) : LoadSleeveMaterial(_gameMgr.GetDataMgr().GetEnemySleeveId())); int idx = _btlMgr.GetCardParameterListInfo(isPlayer).HolderCards.Count - 1; AddDeckCard(idx, texture, Global.CARD_BASE_STAY_SCALE, isPlayer); } IList holderCards = _btlMgr.GetCardParameterListInfo(isPlayer).HolderCards; Vector3 localPosition = holderCards[holderCards.Count - 1].transform.localPosition; for (int j = 1; j < holderCards.Count; j++) { int index = holderCards.Count - 1 - j; holderCards[index].transform.localPosition = localPosition - GetDeckCardLocalPosition(j); } } private GameObject InitCardHolderObject(string cardHolderName, string tagName, Vector3 pos, Vector3 rot, Vector3 colliderSize) { GameObject obj = _btlMgr.BtlContainer.transform.Find(cardHolderName).gameObject; obj.GetComponent().size = colliderSize; obj.tag = tagName; obj.GetComponent().enabled = false; obj.SetActive(value: true); obj.transform.localPosition = pos; obj.transform.eulerAngles = rot; obj.GetComponent().enabled = false; return obj; } private void InitHandDeckObject(string handDeckName) { _btlMgr.BtlContainer.transform.Find(handDeckName).GetComponent().uiCamera = _btlMgr.Battle3DContainer.transform.Find("Camera").GetComponent(); } public IEnumerator StartVS() { yield return new WaitForSeconds(0.4f); RunVS(); } private void RunVS() { isAnimDone = true; } private IEnumerator Loading() { TweenAlpha component = _btlMgr.Battle3DContainer.transform.Find("OverBG").GetComponent(); m_TurnEndBtnUI = _btlMgr.BtlUIContainer.transform.Find("TurnEndBtn").GetComponent(); m_TurnEndBtnUI.gameObject.SetActive(value: false); _btlMgr.BtlUIContainer.transform.Find("PlayerChoiceBraveBtn").gameObject.SetActive(value: false); _btlMgr.BtlUIContainer.transform.Find("EnemyChoiceBraveBtn").gameObject.SetActive(value: false); _btlMgr.ChangeCameraFieldOfView(_gameMgr.ScreenAspect); component.PlayReverse(); GameObject gameObject = UnityEngine.Object.Instantiate(m_PanelMgr); gameObject.transform.parent = _gameMgr.m_GameManagerObj.transform; _btlMgr.PanelMgr = gameObject.GetComponent(); BattlePlayer battlePlayer = _btlMgr.BattlePlayer; BattleEnemy battleEnemy = _btlMgr.BattleEnemy; yield return null; battlePlayer.BattleView.Setup(_gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/StatusPanelP"), _btlMgr.BtlUIContainer, _btlMgr.BtlContainer, _btlMgr.Battle3DContainer); battleEnemy.BattleView.Setup(_gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/StatusPanelE"), _btlMgr.BtlUIContainer, _btlMgr.BtlContainer, _btlMgr.Battle3DContainer); _gameMgr.GetPrefabMgr().Load("Prefab/UI/Arrow"); _btlMgr.Arrow = _gameMgr.GetPrefabMgr().CloneObjectToParent(_gameMgr.GetPrefabMgr().Get("Prefab/UI/Arrow"), _btlMgr.Battle3DContainer); _btlMgr.Arrow.transform.parent = _btlMgr.BtlContainer.transform; _btlMgr.Arrow.transform.Find("ArrowHead").localScale = Vector3.one * 512f; _btlMgr.ArrowControl = _btlMgr.Arrow.GetComponent(); _btlMgr.AttackArrowHead = _gameMgr.GetPrefabMgr().CloneObjectToParent("Prefab/UI/ArrowHead", _btlMgr.Battle3DContainer); _btlMgr.AttackArrowHead.transform.parent = _btlMgr.BtlContainer.transform; _btlMgr.EvolutionArrowHead = _gameMgr.GetPrefabMgr().CloneObjectToParent("Prefab/UI/ArrowEvo", _btlMgr.Battle3DContainer); _btlMgr.EvolutionArrowHead.transform.parent = _btlMgr.BtlContainer.transform; _btlMgr.AlertDialogue = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/AlertDialogue"); _btlMgr.AlertDialogue.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.AlertDialogue.SetActive(value: false); _btlMgr.AlertDialogueLabel = _btlMgr.AlertDialogue.transform.Find("Panel/DialogueLabel").GetComponent(); _btlMgr.DetailMgr.DetailPanel = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/DetailPanel"); _btlMgr.DetailMgr.DetailPanel.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.DetailMgr.SubDetailPanel = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/DetailPanel"); _btlMgr.DetailMgr.SubDetailPanel.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.DetailMgr.SubDetailPanelControl = _btlMgr.DetailMgr.SubDetailPanel.GetComponent(); _btlMgr.DetailMgr.SubDetailPanelControl.CreateNextPanel(); _btlMgr.DetailMgr.DetailPanelControl = _btlMgr.DetailMgr.DetailPanel.GetComponent(); _btlMgr.DetailMgr.DetailPanelControl.CreateNextPanel(); _btlMgr.PSideLog = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/SideLogP"); _btlMgr.PSideLog.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.PSideLogControl = _btlMgr.PSideLog.GetComponent(); _btlMgr.ESideLog = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/SideLogE"); _btlMgr.ESideLog.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.ESideLogControl = _btlMgr.ESideLog.GetComponent(); _btlMgr.ESelectSkillSideLog = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/SideLogESelectSkill"); _btlMgr.ESelectSkillSideLog.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.ESelectSkillSideLogControl = _btlMgr.ESelectSkillSideLog.GetComponent(); _btlMgr.ESelectSkillSideLog.SetActive(value: false); yield return null; _btlMgr.SubUI = _gameMgr.GetGameObjMgr().AddUIManagerRootChildPrefab("Prefab/Container/BattleSubUI").transform; _btlMgr.SubUIOverLayBG = _btlMgr.SubUI.Find("BattleMenuOverLay").GetComponent(); _btlMgr.SetBattleMenuBtn(); GameObject gameObject2 = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/TurnPanel"); gameObject2.transform.parent = _btlMgr.BtlUIContainer.transform; gameObject2.layer = LayerMask.NameToLayer("Loading"); _btlMgr.TurnPanelControl = gameObject2.GetComponent(); DataMgr dataMgr = _gameMgr.GetDataMgr(); if (dataMgr.IsQuestBattleType()) { _btlMgr.BattleResult = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/BattleResult/QuestSpecialBattleResultUI"); } else if (dataMgr.m_BattleType == DataMgr.BattleType.RankBattle) { _btlMgr.BattleResult = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/BattleResult/RankMatchBattleResultUI"); } else if (dataMgr.m_BattleType == DataMgr.BattleType.ColosseumNormal || dataMgr.m_BattleType == DataMgr.BattleType.ColosseumTwoPick || dataMgr.m_BattleType == DataMgr.BattleType.ColosseumWindFall || dataMgr.m_BattleType == DataMgr.BattleType.ColosseumHof) { _btlMgr.BattleResult = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/BattleResult/ColosseumBattleResultUI"); } else { _btlMgr.BattleResult = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/BattleResult/BattleResultUI"); } _btlMgr.BattleResult.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.BattleResultControl = _btlMgr.BattleResult.GetComponent(); Vector3 zero = Vector3.zero; zero.z = -200f; _btlMgr.BattleResult.transform.localPosition = zero; _btlMgr.BattleStart = _gameMgr.GetGameObjMgr().AddUIContainerChildPrefab("Prefab/UI/BattleStart"); _btlMgr.BattleStart.transform.parent = _btlMgr.BtlUIContainer.transform; _btlMgr.BattleStartControl = _btlMgr.BattleStart.GetComponent(); _btlMgr.BattleStartControl.SetUp(this); GameObject gobj = _gameMgr.GetPrefabMgr().CloneObjectToParent(UnitCardTemplate.gameObject, _btlMgr.Battle3DContainer).GetComponent() .CardNormalTemp.gameObject; GameObject gameObject3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(gobj, _btlMgr.SubParticleContainer); gameObject3.transform.parent = _btlMgr.CutInContainer.transform; gameObject3.GetComponent().enabled = true; gameObject3.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); gameObject3.transform.localScale = new Vector3(50f, 50f, 8f); gameObject3.transform.Find("CardBase(Clone)").GetComponent(); _btlMgr.DetailMgr.DetailNormal = gameObject3; _btlMgr.DetailMgr.DetailNormalLodGroup = gameObject3.GetComponent(); _btlMgr.DetailMgr.DetailNormalBaseMesh = gameObject3.transform.Find("CardBase(Clone)").GetComponent(); _btlMgr.DetailMgr.DetailNormalCostLabel = gameObject3.transform.Find("Cost(Clone)").Find("CostLabel").GetComponent(); _btlMgr.DetailMgr.DetailNormalAtkLabel = gameObject3.transform.Find("Atk(Clone)").Find("AtkLabel").GetComponent(); _btlMgr.DetailMgr.DetailNormalLifeLabel = gameObject3.transform.Find("Life(Clone)").Find("LifeLabel").GetComponent(); _btlMgr.DetailMgr.DetailNormalNameLabel = gameObject3.transform.Find("Name(Clone)").Find("NameLabel").GetComponent(); _btlMgr.DetailMgr.DetailNormalBaseMesh.gameObject.tag = "DetailCard"; UIAnchor uIAnchor = gameObject3.AddComponent(); uIAnchor.side = UIAnchor.Side.Left; uIAnchor.relativeOffset = new Vector2(0.11f, 0.1f); MotionUtils.SetLayerAll(gameObject3, 31); gameObject3.SetActive(value: false); GameObject gobj2 = _gameMgr.GetPrefabMgr().CloneObjectToParent(SpellCardTemplate.gameObject, _btlMgr.Battle3DContainer).GetComponent() .CardNormalTemp.gameObject; GameObject gameObject4 = _gameMgr.GetPrefabMgr().CloneObjectToParent(gobj2, _btlMgr.SubParticleContainer); gameObject4.transform.parent = _btlMgr.CutInContainer.transform; gameObject4.GetComponent().enabled = true; gameObject4.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); gameObject4.transform.localScale = new Vector3(50f, 50f, 8f); _btlMgr.DetailMgr.DetailSkill = gameObject4; _btlMgr.DetailMgr.DetailSkillLodGroup = gameObject4.GetComponent(); _btlMgr.DetailMgr.DetailSkillBaseMesh = gameObject4.transform.Find("CardBase(Clone)").GetComponent(); _btlMgr.DetailMgr.DetailSkillCostLabel = gameObject4.transform.Find("Cost(Clone)").Find("CostLabel").GetComponent(); _btlMgr.DetailMgr.DetailSkillNameLabel = gameObject4.transform.Find("Name(Clone)").Find("NameLabel").GetComponent(); gameObject4.transform.Find("CardBase(Clone)").tag = "DetailCard"; UIAnchor uIAnchor2 = gameObject4.AddComponent(); uIAnchor2.side = UIAnchor.Side.Left; uIAnchor2.relativeOffset = new Vector2(0.11f, 0.1f); MotionUtils.SetLayerAll(gameObject4, 31); gameObject4.SetActive(value: false); GameObject gobj3 = _gameMgr.GetPrefabMgr().CloneObjectToParent(FieldCardTemplate.gameObject, _btlMgr.Battle3DContainer).GetComponent() .CardNormalTemp.gameObject; GameObject gameObject5 = _gameMgr.GetPrefabMgr().CloneObjectToParent(gobj3, _btlMgr.SubParticleContainer); gameObject5.transform.parent = _btlMgr.CutInContainer.transform; gameObject5.GetComponent().enabled = true; gameObject5.transform.localRotation = Quaternion.Euler(0f, 180f, 0f); gameObject5.transform.localScale = new Vector3(50f, 50f, 8f); _btlMgr.DetailMgr.DetailField = gameObject5; _btlMgr.DetailMgr.DetailFieldLodGroup = gameObject5.GetComponent(); _btlMgr.DetailMgr.DetailFieldBaseMesh = gameObject5.transform.Find("CardBase(Clone)").GetComponent(); _btlMgr.DetailMgr.DetailFieldCostLabel = gameObject5.transform.Find("Cost(Clone)").Find("CostLabel").GetComponent(); _btlMgr.DetailMgr.DetailFieldNameLabel = gameObject5.transform.Find("Name(Clone)").Find("NameLabel").GetComponent(); gameObject5.transform.Find("CardBase(Clone)").tag = "DetailCard"; UIAnchor uIAnchor3 = gameObject5.AddComponent(); uIAnchor3.side = UIAnchor.Side.Left; uIAnchor3.relativeOffset = new Vector2(0.11f, 0.1f); MotionUtils.SetLayerAll(gameObject5, 31); gameObject5.SetActive(value: false); } private static Material LoadSleeveMaterial(long sleeveId) { Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(sleeveId.ToString(), ResourcesManager.AssetLoadPathType.SleeveMaterial, isfetch: true)) as Material; if (material != null) { material.mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(sleeveId.ToString(), ResourcesManager.AssetLoadPathType.SleeveTexture, isfetch: true)); if (Data.Master.SleeveMgr.Get(sleeveId).IsPremiumSleeve) { Texture value = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(sleeveId.ToString(), ResourcesManager.AssetLoadPathType.SleeveTextureMask, isfetch: true)); material.SetTexture("_MaskTex", value); } material.shader = Shader.Find(material.shader.name); } return material; } public void InitPlayer() { BattlePlayer battlePlayer = _btlMgr.BattlePlayer; _btlMgr.BattleResourceMgr.LoadSleeveMaterial(_gameMgr.GetDataMgr().GetPlayerSleeveId(), isPlayer: true).Play(); IList currentDeckData = _gameMgr.GetDataMgr().GetCurrentDeckData(); CardVoiceInfoCache.CacheCardVoiceInfoForBattle(currentDeckData); for (int i = 0; i < currentDeckData.Count; i++) { BattleCardBase card = CardCreatorBase.CreateCard(currentDeckData[i], isPlayer: true, i + 1, this, _btlMgr, _btlMgr.BattleResourceMgr, _btlMgr.CreatePlayerInnerOptionsBuilder()); battlePlayer.AddToDeck(card); } battlePlayer.BattleStartDeckCardList = new List(battlePlayer.DeckCardList); battlePlayer.cardTotalNum = currentDeckData.Count + 1; } public void InitEnemy() { BattleEnemy battleEnemy = _btlMgr.BattleEnemy; _btlMgr.BattleResourceMgr.LoadSleeveMaterial(_gameMgr.GetDataMgr().GetEnemySleeveId(), isPlayer: false).Play(); IList currentEnemyDeckData = _gameMgr.GetDataMgr().GetCurrentEnemyDeckData(); CardVoiceInfoCache.CacheCardVoiceInfoForBattle(currentEnemyDeckData); for (int i = 0; i < currentEnemyDeckData.Count; i++) { BattleCardBase card = CardCreatorBase.CreateCard(currentEnemyDeckData[i], isPlayer: false, i + 1, this, _btlMgr, _btlMgr.BattleResourceMgr, _btlMgr.CreateEnemyInnerOptionsBuilder()); battleEnemy.AddToDeck(card); } battleEnemy.BattleStartDeckCardList = new List(battleEnemy.DeckCardList); battleEnemy.cardTotalNum = currentEnemyDeckData.Count + 1; StartCoroutine(LoadComplete()); } private IEnumerator LoadComplete() { while (!isAnimDone || !_btlMgr.IsBackGroundLoad || !_gameMgr.GetEffectMgr().IsEnemyBattleEffectReady || !_gameMgr.GetEffectMgr().IsPlayerBattleEffectReady) { yield return null; } StopAllCoroutines(); if (_btlMgr is SingleBattleMgr) { ((SingleBattleMgr)_btlMgr).SingleBattleFirstRecoverySetting(); } ReadyFPS(); } private IEnumerator CheckPlayerStatus() { while (true) { if (!ToolboxGame.RealTimeNetworkAgent) { yield break; } if (ToolboxGame.RealTimeNetworkAgent.CurrentMatchingStatus == RealTimeNetworkAgent.MatchingStatus.Prepared) { break; } yield return null; } UIManager.GetInstance().CreatFadeBlack(); yield return new WaitForSeconds(1f); while (!BattleManagerBase.GetIns().BattleStartControl.IsReady) { yield return null; } StartBattleScene(); } private void ReadyFPS() { if (_gameMgr.IsNetworkBattle) { if (ToolboxGame.RealTimeNetworkAgent != null && !_btlMgr.IsRecovery) { ToolboxGame.RealTimeNetworkAgent.SetCurrentMatchingStatus(RealTimeNetworkAgent.MatchingStatus.Loaded); StartCoroutine(CheckPlayerStatus()); if (!_gameMgr.IsAINetwork) { (_btlMgr as NetworkBattleManagerBase).IsStopIntervalCheck = true; } if (!GameMgr.GetIns().IsWatchBattle && !GameMgr.GetIns().IsReplayBattle) { ToolboxGame.RealTimeNetworkAgent.EmitMsgPack(NetworkBattleDefine.NetworkBattleURI.Loaded); } } } else { StartBattleScene(); } isLoadEnd = true; } public void StartBattleScene() { StopAllCoroutines(); if (_gameMgr.IsNetworkBattle && ToolboxGame.RealTimeNetworkAgent == null) { LocalLog.AccumulateLastTraceLog("StartBattleScene NotNetworkObject"); } else { _gameMgr.GetBattleCtrl().Init(); } } }