Ejemplo n.º 1
0
    public void OnMechAttackMech(MechAttackMechServerRequest r)
    {
        ClientPlayer cp_attack    = GetPlayerByClientId(r.AttackMechClientId);
        ClientPlayer cp_beAttack  = GetPlayerByClientId(r.BeAttackedMechClientId);
        ModuleMech   attackMech   = cp_attack.BattlePlayer.BattleGroundManager.GetMech(r.AttackMechId);
        ModuleMech   beAttackMech = cp_beAttack.BattlePlayer.BattleGroundManager.GetMech(r.BeAttackedMechId);

        attackMech.Attack(beAttackMech, false);
    }
Ejemplo n.º 2
0
    public void OnClientMechAttackMechRequest(MechAttackMechRequest r)
    {
        ClientA.CurrentClientRequestResponseBundle = new MechAttackMechRequest_ResponseBundle();
        ClientB.CurrentClientRequestResponseBundle = new MechAttackMechRequest_ResponseBundle();

        BattlePlayer cpat = GetPlayerByClientId(r.clientId);
        BattlePlayer cpba = GetPlayerByClientId(r.BeAttackedMechClientId);

        ModuleMech attackMech     = cpat.BattleGroundManager.GetMech(r.AttackMechId);
        ModuleMech beAttackedMech = cpba.BattleGroundManager.GetMech(r.BeAttackedMechId);

        bool isAttackValid = attackMech.BeforeAttack(beAttackedMech, false);

        if (isAttackValid)
        {
            MechAttackMechServerRequest request = new MechAttackMechServerRequest(r.clientId, r.AttackMechId, r.BeAttackedMechClientId, r.BeAttackedMechId);
            Broadcast_AddRequestToOperationResponse(request);

            attackMech.Attack(beAttackedMech, false);
        }

        Broadcast_SendOperationResponse();
    }