NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Fight/Flag/FlagInst.cs

67 lines
2.1 KiB
C#
Raw Normal View History

using Framework;
using Gameplay.Area;
2024-11-05 13:11:26 +08:00
using Gameplay.Common;
using Gameplay.Effect;
2024-05-31 16:46:35 +08:00
using PhxhSDK;
using UnityEngine;
2024-05-31 16:46:35 +08:00
namespace Gameplay.Fight.Flag
2024-05-30 19:23:59 +08:00
{
public class FlagInst
{
2024-05-31 16:46:35 +08:00
public int cellIndex;
private Vector3 _worldPos;
2024-05-31 16:46:35 +08:00
private GameObject _displayObj;
private GameObject _groundPointObj;
2024-05-30 19:23:59 +08:00
2024-05-31 16:46:35 +08:00
public FlagInst(int cellIndex)
{
this.cellIndex = cellIndex;
_worldPos = AreaManager.instance.GetWorldPosByIndex(cellIndex);
_CreateObjs();
}
private void _CreateObjs()
{
{
// var sampleObj = AssetManager.Instance.GetPreLoadResult<GameObject>(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<GameObject>(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;
}
2024-05-31 16:46:35 +08:00
}
public void Dispose()
{
_DestroyObjs();
EffectManager.instance.PlayEffectById(CodeDefine.Fight.HoldFlag.EFFECT_ID_PICKUP, _worldPos);
2024-05-31 16:46:35 +08:00
}
2024-05-30 19:23:59 +08:00
}
}