Files
test/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs
T
2025-10-11 10:08:24 +07:00

87 lines
2.8 KiB
C#

using System;
using UnityEngine;
using CSNetwork;
using PerfectWorld.Scripts.Managers.BrewMonster.Managers;
using BrewMonster.Network;
using UnityEngine.SceneManagement;
using CSNetwork.GPDataType;
namespace BrewMonster
{
[Serializable]
public class EC_ManMessageMono : MonoBehaviour
{
private static EC_ManMessageMono instance;
public static EC_ManMessageMono Instance
{
get
{
if (instance == null)
{
instance = FindAnyObjectByType<EC_ManMessageMono>();
}
return instance;
}
}
public EC_ManPlayer EC_ManPlayer;
public EC_ManMatter EC_ManMatter;
public EC_ManPlayer GetECManPlayer { get => EC_ManPlayer;}
public EC_ManMatter GetECManMatter { get => EC_ManMatter;}
public CECNPCMan _CECNPCMan { get; private set; }
private void Awake()
{
instance = this;
//TODO: Remove later
EC_ManPlayer = new EC_ManPlayer();
_CECNPCMan = new CECNPCMan();
EC_ManMessage.RegisterHandler(EC_ManPlayer);
EC_ManMessage.RegisterHandler(_CECNPCMan);
EC_ManMatter = new EC_ManMatter();
EC_ManMessage.RegisterHandler(EC_ManMatter);
Debug.Log($"EC_ManMessage RegisterHandlerRegisterHandlerRegisterHandler");
}
private void OnDestroy()
{
EC_ManMessage.Dispose();
}
private void Update()
{
EC_ManMessage.Tick();
}
// Get object by specified ID
// iAliveFlag: 0, both alive and dead; 1, must be alive; 2, must be dead
public CECObject GetObject(int idObject, int iAliveFlag)
{
CECObject pObject = null;
if (GPDataTypeHelper.ISNPCID(idObject))
{
if (!(pObject = _CECNPCMan.GetNPC(idObject)))
return null;
if ((iAliveFlag == 1 && (pObject as CECNPC).IsDead()) ||
(iAliveFlag == 2 && !(pObject as CECNPC).IsDead()))
return null;
}
else if (GPDataTypeHelper.ISPLAYERID(idObject))
{
if (!(pObject = EC_ManPlayer.GetPlayer(idObject)))
return null;
if ((iAliveFlag == 1 && (pObject as CECPlayer).IsDead()) ||
(iAliveFlag == 2 && !(pObject as CECPlayer).IsDead()))
return null;
}
//else if (GPDataTypeHelper.ISMATTERID(idObject))
// pObject = GetMatterMan()->GetMatter(idObject);
return pObject;
}
}
}