private static void handleUpdateObjectMovementMessage(NetIncomingMessage _Im)
        {
            var message = new UpdateObjectMovementMessage(_Im);

            var timeDelay = (float)(NetTime.Now - _Im.SenderConnection.GetLocalTime(message.MessageTime));

            if (GameLibrary.Map.World.World.world != null)
            {
                GameLibrary.Object.LivingObject var_LivingObject = (GameLibrary.Object.LivingObject)GameLibrary.Map.World.World.world.getObject(message.Id);
                if (var_LivingObject != null)
                {
                    if (var_LivingObject.LastUpdateTime < message.MessageTime)
                    {
                        if (Configuration.networkManager.client.PlayerObject != var_LivingObject)
                        {
                            var_LivingObject.MoveUp    = message.MoveUp;
                            var_LivingObject.MoveDown  = message.MoveDown;
                            var_LivingObject.MoveLeft  = message.MoveLeft;
                            var_LivingObject.MoveRight = message.MoveRight;
                        }
                        var_LivingObject.LastUpdateTime = message.MessageTime;
                    }
                }
                else
                {
                    //GameLibrary.Logger.Logger.LogErr("Object mit Id: " + message.Id + " konnte nicht im Quadtree gefunden werden -> Position wird nicht geupdatet");
                    Configuration.networkManager.addEvent(new GameLibrary.Connection.Message.RequestLivingObjectMessage(message.Id), GameLibrary.Connection.GameMessageImportance.UnImportant);
                }
            }
        }
Пример #2
0
 public Camera(Viewport _ViewPort)
 {
     this.target   = null;
     this.position = new Vector3(0, 0, 0);
     this.zoom     = 1.0f;
     this.viewPort = _ViewPort;
     KeyboardManager.keyboardFocus.Add(this);
 }
        private static void handleUpdateObjectHealthMessage(NetIncomingMessage _Im)
        {
            var message = new UpdateObjectHealthMessage(_Im);

            var timeDelay = (float)(NetTime.Now - _Im.SenderConnection.GetLocalTime(message.MessageTime));

            if (GameLibrary.Map.World.World.world != null)
            {
                GameLibrary.Object.LivingObject var_LivingObject = (GameLibrary.Object.LivingObject)GameLibrary.Map.World.World.world.getObject(message.Id);
                if (var_LivingObject != null)
                {
                    var_LivingObject.HealthPoints    = message.Health;
                    var_LivingObject.MaxHealthPoints = message.MaxHealth;
                    var_LivingObject.damage(0);
                }
                else
                {
                    //GameLibrary.Logger.Logger.LogErr("Object mit Id: " + message.Id + " konnte nicht im Quadtree gefunden werden -> Health wird nicht geupdatet");
                    Configuration.networkManager.addEvent(new GameLibrary.Connection.Message.RequestLivingObjectMessage(message.Id), GameLibrary.Connection.GameMessageImportance.UnImportant);
                }
            }
        }
Пример #4
0
 public void setPosition(Vector3 _Position)
 {
     this.target   = null;
     this.position = _Position;
 }
Пример #5
0
 public void setTarget(GameLibrary.Object.LivingObject _Target)
 {
     this.target = _Target;
 }