using Framework; using Gameplay.Area; using Gameplay.Common; using Gameplay.Effect; using PhxhSDK; using UnityEngine; namespace Gameplay.Fight.Flag { public class FlagInst { public int cellIndex; private Vector3 _worldPos; private GameObject _displayObj; private GameObject _groundPointObj; public FlagInst(int cellIndex) { this.cellIndex = cellIndex; _worldPos = AreaManager.instance.GetWorldPosByIndex(cellIndex); _CreateObjs(); } private void _CreateObjs() { { // var sampleObj = AssetManager.Instance.GetPreLoadResult(PathDefine.HoldFlag.FLAG_ON_GROUND_PATH); // _displayObj = Object.Instantiate(sampleObj); // _displayObj.transform.position = _worldPos; EventManager.Instance.Send(EventManager.EventName.INFIGHT_UI_ADD_GRID_OBJ, new UIGridTypeData(cellIndex, UIGridTypeNode.GridType.Flag, this)); } { var sampleObj = AssetManager.Instance.GetPreLoadResult(PathDefine.HoldFlag.FLAG_GROUND_POINT_PATH); _groundPointObj = Object.Instantiate(sampleObj); _groundPointObj.transform.position = _worldPos; } } private void _DestroyObjs() { // if (_displayObj != null) // { // Object.Destroy(_displayObj); // _displayObj = null; // // } EventManager.Instance.Send(EventManager.EventName.INFIGHT_UI_REMOVE_GRID_OBJ, new UIGridTypeData(cellIndex, UIGridTypeNode.GridType.Flag, this)); if (_groundPointObj != null) { Object.Destroy(_groundPointObj); _groundPointObj = null; } } public void Dispose() { _DestroyObjs(); EffectManager.instance.PlayEffectById(CodeDefine.Fight.HoldFlag.EFFECT_ID_PICKUP, _worldPos); } } }