using System.Collections.Concurrent; using GameServer.Contents.GameMode.InteractionObject; using GameServer.Contents.GameMode.Manage.PlayManage; using MetaAssets; using ServerBase; using ServerCommon; using ServerCore; namespace GameServer.Contents.GameMode.Action; public class GameGameObjectAction : EntityActionBase, IGameObject { //todo : 장르별로 구분할 필요 있으면 depth 하나 더 둔다. protected EGameObjectType m_object_type = EGameObjectType.None; public GameGameObjectAction (EntityBase owner, EGameObjectType objectType) : base(owner) { m_object_type = objectType; } public virtual Task interact(string anchorGuid, DateTime interactionTime) { Log.getLogger().error($"interact Not implemant, {toBasicString()}"); throw new NotImplementedException(); } public override Task onInit() { Log.getLogger().error($"onInit Not implemant, {toBasicString()}"); throw new NotImplementedException(); } public override void onClear() { Log.getLogger().error($"onClear Not implemant, {toBasicString()}"); throw new NotImplementedException(); } public override string toBasicString() { return $"GameObjectType : {m_object_type}, " + base.toBasicString(); } }