Пример #1
0
    public void UpdateDragonState(DragonStateUpdate update)
    {
        if (update.NewDragonEquip != null)
        {
            Dragon newDragon = DragonCache.GetDragonByID(update.NewDragonEquip);
            if (newDragon == null)
            {
                Debug.LogError("Couldn't find dragon " + update.NewDragonEquip + " in cache");
            }
            else
            {
                SetDragon(newDragon);
            }
        }

        if (update.DragonHpChange != null)
        {
            DragonState.HP += (byte)update.DragonHpChange;
        }
        if (update.DragonEnergyChange != null)
        {
            DragonState.Energy += (byte)update.DragonEnergyChange;
        }
        if (update.DragonAttackChange != null)
        {
            DragonState.Attack += (byte)update.DragonAttackChange;
        }

        RefreshTextComponents();
    }
Пример #2
0
    public void ProcessDragonUpdate(DragonStateUpdate update, bool isEnemyTurn)
    {
        Turn turn = (isEnemyTurn) ? CurrEnemyTurn : CurrPlayerTurn;

        if (turn.HasBeenConsumed)
        {
            ResetTurn(ref turn);
        }

        turn.DragonUpdate    = update;
        turn.HasBeenConsumed = false;

        TryRaiseTurnEvent(isEnemyTurn);
    }