Files
test/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs
T
Tungdv 3a05b94366 Merge branch 'develop' into feature/hp_normal_attack
# Conflicts:
#	Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_Object.cs
#	Assets/PerfectWorld/Scripts/Move/CECHostMove.cs
#	Assets/PerfectWorld/Scripts/NPC/CECMonster.cs
#	Assets/PerfectWorld/Scripts/NPC/CECNPC.cs
#	Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs
#	Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
#	Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs
#	Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs
#	Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs
#	Assets/PerfectWorld/Scripts/UI/pickupItem.cs
#	Assets/Scripts/CECHostPlayer.cs
#	Assets/Scripts/EC_Utility.cs
#	Assets/Scripts/GameController.cs
#	Assets/Scripts/InitializePlayer.cs
#	Assets/Scripts/Move/EC_Player.cs
#	Assets/Scripts/PlayerVisual.cs
2025-10-20 16:58:20 +07:00

87 lines
2.8 KiB
C#

using System;
using UnityEngine;
using CSNetwork;
using CSNetwork.GPDataType;
using BrewMonster.Scripts.Player;
using PerfectWorld.Scripts.Managers.BrewMonster.Managers;
namespace BrewMonster.Managers
{
[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();
_CECNPCMan.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;
}
}
}