コード例 #1
0
ファイル: GameManager.cs プロジェクト: SirGeoffers/Swordship
 public void NotifyEvent(GameEvent _e)
 {
     if (_e is GameEventPlayerDeath)
     {
         GameEventPlayerDeath e = (GameEventPlayerDeath)_e;
         gamemode.NotifyPlayerDeath(e);
     }
     else if (_e is GameEventPlayerDamaged)
     {
         GameEventPlayerDamaged e = (GameEventPlayerDamaged)_e;
         gamemode.NotifyPlayerDamaged(e);
     }
 }
コード例 #2
0
    public void Damage(float _amount, GameObject _source)
    {
        int            sourceId         = -1;
        ShipController sourceController = GetOwner(_source);

        if (sourceController != null)
        {
            sourceId = sourceController.playerId;
        }

        GameEventPlayerDamaged e = new GameEventPlayerDamaged(sourceId, this.playerId);

        gameManager.NotifyEvent(e);
    }
コード例 #3
0
ファイル: KillTracker.cs プロジェクト: SirGeoffers/Swordship
    public void ProcessPlayerDamaged(GameEventPlayerDamaged _e)
    {
        int receiverId = _e.receiverId;
        int dealerId   = _e.dealerId;

        if (dealerId == -1)
        {
            return;
        }

        if (lastDamagedBy.ContainsKey(receiverId))
        {
            lastDamagedBy[receiverId] = _e;
        }
        else
        {
            lastDamagedBy.Add(receiverId, _e);
        }
    }
コード例 #4
0
 public virtual void NotifyPlayerDamaged(GameEventPlayerDamaged _e)
 {
     killTracker.ProcessPlayerDamaged(_e);
 }