예제 #1
0
 public void SetState(NetworkPlayerState newState)
 {
     lock (PlayerModel)
     {
         if (newState != null)
         {
             if (PlayerModel.ModelState != AnimationState.DeathFallFoward)
             {
                 if ((newState.X != PlayerModel.Position.X) || (newState.Z != PlayerModel.Position.Z))
                 {
                     if (PlayerModel.ModelState != AnimationState.Run)
                     {
                         PlayerModel.RepeatAnimation = true;
                         PlayerModel.ModelState      = AnimationState.Run;
                     }
                 }
                 else if (PlayerModel.ModelState != AnimationState.Stand)
                 {
                     PlayerModel.RepeatAnimation = true;
                     PlayerModel.ModelState      = AnimationState.Stand;
                 }
             }
             PlayerModel.Position.X = newState.X;
             PlayerModel.Position.Y = (newState.Y - (PlayerModel.BoundMax.Y / 2f)) + PlayerModel.Center.Y;
             PlayerModel.Position.Z = newState.Z;
             PlayerModel.Yaw        = newState.Yaw;
         }
     }
 }
예제 #2
0
 public PlayerEventArgs(int id, string name, string modelName, NetworkPlayerState initialState, bool isMarked)
 {
     Id           = id;
     Name         = name;
     ModelName    = modelName;
     InitialState = initialState;
     IsMarked     = isMarked;
 }
예제 #3
0
 public NetworkPlayer(int id, string name, string modelName, NetworkPlayerState initialState, bool marked)
 {
     Id           = id;
     Name         = name;
     ModelName    = modelName;
     InitialState = initialState;
     Marked       = marked;
 }