internal static void Execute(object msg, NetConnection conn, NetworkSystem networkSystem) { Msg_RC_NpcTarget targetmsg = msg as Msg_RC_NpcTarget; if (null == targetmsg) { return; } LogSystem.Debug("NpcTarget, npc:{0} target:{1} robot:{2} {3}", targetmsg.npc_id, targetmsg.target_id, networkSystem.Robot.LobbyNetworkSystem.User, LobbyRobot.Robot.GetDateTime()); }
private void OnNpcTargetChange(NpcInfo npc) { Scene scene = npc.SceneContext.CustomData as Scene; if (null != scene) { Msg_RC_NpcTarget npcTargetBuilder = DataSyncUtility.BuildNpcTargetMessage(npc); if (null != npcTargetBuilder) { scene.NotifyAreaUser(npc, npcTargetBuilder); } } }
internal static Msg_RC_NpcTarget BuildNpcTargetMessage(NpcInfo npc) { Msg_RC_NpcTarget npcFaceTargetBuilder = null; NpcAiStateInfo data = npc.GetAiStateInfo(); if (null != data && data.Target > 0) { npcFaceTargetBuilder = new Msg_RC_NpcTarget(); npcFaceTargetBuilder.npc_id = npc.GetId(); npcFaceTargetBuilder.target_id = data.Target; } return(npcFaceTargetBuilder); }
internal static void SyncNpcAiStateToUser(NpcInfo npc, User user) { Msg_RC_NpcMove npcMoveBuilder = BuildNpcMoveMessage(npc); Msg_RC_NpcTarget npcFaceTargetBuilder = BuildNpcTargetMessage(npc); if (null != npcMoveBuilder) { user.SendMessage(npcMoveBuilder); } if (null != npcFaceTargetBuilder) { user.SendMessage(npcFaceTargetBuilder); } }
private void NpcEnterCampSight(NpcInfo npc, int campid) { Msg_RC_NpcEnter bder = DataSyncUtility.BuildNpcEnterMessage(npc); NotifyCampUsers(campid, bder); Msg_RC_SyncProperty propBuilder = DataSyncUtility.BuildSyncPropertyMessage(npc); NotifyCampUsers(campid, propBuilder); Msg_RC_NpcMove npcMoveBuilder = DataSyncUtility.BuildNpcMoveMessage(npc); NotifyCampUsers(campid, npcMoveBuilder); Msg_RC_NpcTarget npcFaceTargetBuilder = DataSyncUtility.BuildNpcTargetMessage(npc); if (npcFaceTargetBuilder != null) { NotifyCampUsers(campid, npcFaceTargetBuilder); } }
internal static void SyncNpcAiStateToCaredUsers(NpcInfo npc) { Scene scene = npc.SceneContext.CustomData as Scene; if (null != scene) { Msg_RC_NpcMove npcMoveBuilder = BuildNpcMoveMessage(npc); Msg_RC_NpcTarget npcFaceTargetBuilder = BuildNpcTargetMessage(npc); if (null != npcMoveBuilder) { scene.NotifyAreaUser(npc, npcMoveBuilder, false); } if (null != npcFaceTargetBuilder) { scene.NotifyAreaUser(npc, npcFaceTargetBuilder, false); } } }