GameFramework.DataSyncUtility.BuildNpcFaceMessage C# (CSharp) Method

BuildNpcFaceMessage() static private method

static private BuildNpcFaceMessage ( EntityInfo npc ) : Msg_RC_NpcFace
npc EntityInfo
return GameFrameworkMessage.Msg_RC_NpcFace
        internal static Msg_RC_NpcFace BuildNpcFaceMessage(EntityInfo npc)
        {
            Msg_RC_NpcFace npcFaceBuilder = new Msg_RC_NpcFace();
            npcFaceBuilder.npc_id = npc.GetId();
            npcFaceBuilder.face_direction = ProtoHelper.EncodeFloat(npc.GetMovementStateInfo().GetFaceDir());
            return npcFaceBuilder;
        }

Usage Example

示例#1
0
 private void OnAiFace(EntityInfo npc)
 {
     if (npc.GetMovementStateInfo().IsFaceDirChanged)
     {
         npc.GetMovementStateInfo().IsFaceDirChanged = false;
         if (null != npc)
         {
             float dir = npc.GetMovementStateInfo().GetFaceDir();
             npc.GetMovementStateInfo().SetFaceDir(dir);
         }
         if (!npc.GetMovementStateInfo().IsMoving)
         {
             Scene scene = npc.SceneContext.CustomData as Scene;
             if (null != scene)
             {
                 Msg_RC_NpcFace npcFaceBuilder = DataSyncUtility.BuildNpcFaceMessage(npc);
                 if (null != npcFaceBuilder)
                 {
                     scene.NotifyAllUser(RoomMessageDefine.Msg_RC_NpcFace, npcFaceBuilder);
                 }
             }
         }
     }
 }