62 lines
1.3 KiB
C#
62 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using ServerCore; using ServerBase;
|
|
|
|
|
|
using SESSION_ID = System.Int32;
|
|
using WORLD_ID = System.UInt32;
|
|
using META_ID = System.UInt32;
|
|
using ENTITY_GUID = System.String;
|
|
using ACCOUNT_ID = System.String;
|
|
using OWNER_GUID = System.String;
|
|
using USER_GUID = System.String;
|
|
using CHARACTER_GUID = System.String;
|
|
using ITEM_GUID = System.String;
|
|
|
|
|
|
namespace ServerBase;
|
|
|
|
public abstract partial class EntityStateBase
|
|
{
|
|
private readonly EntityBase m_owner;
|
|
|
|
private DateTime m_start_time = DateTime.MinValue;
|
|
private DateTime m_end_time = DateTime.MinValue;
|
|
|
|
public EntityStateBase(EntityBase owner)
|
|
{
|
|
m_owner = owner;
|
|
}
|
|
|
|
public virtual async Task onEnter()
|
|
{
|
|
await Task.CompletedTask;
|
|
m_start_time = DateTimeHelper.Current;
|
|
}
|
|
|
|
public virtual async Task onTick()
|
|
{
|
|
await Task.CompletedTask;
|
|
}
|
|
|
|
public virtual async Task onExit()
|
|
{
|
|
await Task.CompletedTask;
|
|
m_end_time = DateTimeHelper.Current;
|
|
}
|
|
|
|
public DateTime getStartTime() { return m_start_time; }
|
|
|
|
public DateTime getEndTime() { return m_end_time; }
|
|
|
|
public UInt64 getElapsedMilliSeconds()
|
|
{
|
|
return (UInt64)(m_end_time - m_start_time).TotalMilliseconds;
|
|
}
|
|
}
|