示例#1
0
    private void OnPlayerUpdate(ComponentUpdateOp <Automaton.Player.Player> op)
    {
        if (op.EntityId != _entityId)
        {
            return;
        }
        IComponentUpdate <Automaton.Player.Player> update = op.Update;

        Automaton.Player.Player.Update u = update.Get();
        if (u.heartbeat.Count > 0)
        {
            _lastHeartbeat = Environment.TickCount;
        }
        if (u.killedPlayer.Count > 0)
        {
            foreach (var kp in u.killedPlayer)
            {
                var    killedEntity = kp.killed;
                Player player       = _game.GetPlayer(killedEntity);
                if (player == null)
                {
                    Console.WriteLine("Failed to find player ({0}) to kill", killedEntity);
                }
                else
                {
                    _score.AddKill();
                    player._score.AddDeath();
                }
            }
        }
    }