private void CheckHit(PlayerObjectController player)
        {
            if (hitTimeDown <= 0)
            {
                (player.Object as PlayerObject).Health -= 10;
                hitTimeDown = HitTime;

                Server.SendEvent(MissionController.RoomController.Clients, Utils.ToBytesJSON(new NetDataEvent(EventTypes.Unknow, new System.Collections.Generic.Dictionary <string, ObjectWrapper>()
                {
                    { "id", new ObjectWrapper <string>(this.Object.ID) }
                })), string.Format("EventZombieHit_{0}", Object.ID));
            }
        }
        public override void Update(float deltaTime)
        {
            CheckHealth();

            List <BaseMissionObjectController> players = MissionController.DynamicObjects.Values.Where(x => x.GetType() == typeof(PlayerObjectController) && (x.Object as PlayerObject).IsLive).ToList();

            PlayerObjectController targetPlayer = null;

            float distance = float.MaxValue;

            foreach (BaseMissionObjectController pl in players)
            {
                if (distance > Vector3K.Distance(pl.Object.Position, Object.Position))
                {
                    targetPlayer = pl as PlayerObjectController;
                    distance     = Vector3K.Distance(pl.Object.Position, Object.Position);
                }
            }

            if (targetPlayer == null)
            {
                return;
            }

            float dist = Vector3K.Distance(targetPlayer.Object.Position, Object.Position);

            if (dist > 2f)
            {
                if (dist > 4f)
                {
                    hitTimeDown = 0f;
                }

                Object.EulerAngles.z = (float)(Mathf.Rad2Deg * (Math.Atan2(targetPlayer.Object.Position.y - Object.Position.y, targetPlayer.Object.Position.x - Object.Position.x)));

                Object.Position.x += Mathf.Cos(Object.EulerAngles.z * Mathf.Deg2Rad) * (Object as SkeletonObject).MoveSpeed * deltaTime;
                Object.Position.y += Mathf.Sin(Object.EulerAngles.z * Mathf.Deg2Rad) * (Object as SkeletonObject).MoveSpeed * deltaTime;

                body.SetXForm(new Box2DX.Common.Vec2(Object.Position.x, Object.Position.y), Object.EulerAngles.z * Mathf.Deg2Rad);
            }
            else
            {
                hitTimeDown -= deltaTime;
                CheckHit(targetPlayer);
            }
        }