using UnityEngine; using Wizard.Battle.View.Vfx; namespace Wizard.Battle.Player.ClassCharacter; internal class EnemyHighRankSpineClassCharacter : HighRankSpineClassCharacter { protected readonly Vector3 WIDGET_POSITION = new Vector3(0f, 490f, 30f); protected readonly int WIDGET_OFFSET_BOTTOM = 195; protected readonly int WIDGET_OFFSET_TOP = -1162; protected readonly Vector3 PP_PANEL_POSITION = new Vector3(0f, -34.22f, -29.25f); protected override Vector3 MessagePosition => _initPosition + new Vector3(0f, -0.3f, 0f); public override VfxBase CreateLoadResouceVfx() { SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create(); sequentialVfxPlayer.Register(base.CreateLoadResouceVfx()); sequentialVfxPlayer.Register(InstantVfx.Create(delegate { base.GameObject.transform.Find("Collider").gameObject.GetComponent().size = new Vector3(3.8f, 3.9f, 0.2f); })); return sequentialVfxPlayer; } protected override string GetTagName() { return "Enemy"; } protected override void SetUpAnchor(GameObject o) { o.transform.localPosition = WIDGET_POSITION; UIWidget uIWidget = o.AddComponent(); uIWidget.topAnchor.relative = 1f; uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; Transform target = BattleManagerBase.GetIns().Battle3DContainer.transform.Find("Camera"); uIWidget.topAnchor.target = target; uIWidget.bottomAnchor.target = target; uIWidget.bottomAnchor.relative = 0.5f; uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; } protected override void AttachOtherUI(GameObject o) { BattleManagerBase.GetIns().BattleEnemy.BattleView.EpPanel.transform.parent = o.transform; EnemyStatusPanelControl enemyStatusPanelControl = BattleManagerBase.GetIns().BattleEnemy.StatusPanelControl as EnemyStatusPanelControl; if ((bool)enemyStatusPanelControl) { enemyStatusPanelControl.ChangePPPanelParent(o.transform, PP_PANEL_POSITION); } } public override Vector3 GetSpinePosition() { return new Vector3(0f, -0.36f, -0.27f); } protected override string GetTextureName() { return "mt_Encampment_Chara_1_Rev"; } public override Vector3 GetMaskImagePosition() { return new Vector3(0f, 0.04f, 0f); } protected override Vector3 GetShieldPosition() { return new Vector3(1.86f, 0.4f, 0f); } protected override Vector3 GetLifeIconPosition() { return new Vector3(0f, 0f, 0.1f); } public override Quaternion GetMaskImageRotation() { return Quaternion.Euler(new Vector3(0f, 0f, 180f)); } public override Vector3 ConvertSpineScale(Vector3 originalScale) { if (GameMgr.GetIns().GetDataMgr().GetEnemyBattleSkillReverse() == 1) { return new Vector3((0f - originalScale.x) * 0.934f, originalScale.y, originalScale.z) * 1.003125f; } return new Vector3(originalScale.x * 0.934f, originalScale.y, originalScale.z); } public override int GetSpineSortingOrder(bool isBack = false) { if (!isBack) { return -1; } return -9; } public override int GetMaskSortingOrder(bool isBack = false) { if (!isBack) { return -1; } return -9; } protected override int GetEmoteLabelDepth() { return 0; } protected override int GetCharaId() { return GameMgr.GetIns().GetDataMgr().GetEnemyCharaId(); } public override int GetSkinId() { return GameMgr.GetIns().GetDataMgr().GetEnemySkinId(); } public override int GetStencil() { return 2; } protected override Vector3 GetPosition() { return Global.CLASS_BATTLE_POSITION_ENEMY; } protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) { return Quaternion.Euler(0f, -180f, 180f); } }