public virtual void UpdateStats(BaseCaracterStats statData, IEventAggregator messenger)
    {
        MaxLife += statData.MaxLife;
        Life += statData.Life;
        if (MaxLife < Life) Life = MaxLife;
        if (Life <= 0)
        {
            Life = 0;
            messenger.Publish(new StopMessage());
            messenger.Publish(new PlayerDeathMessage());
        }
        RedHearts += statData.RedHearts;
        BlueHearts += statData.BlueHearts;
        YellowHearts += statData.YellowHearts;

        Attack += statData.Attack;
        BaseSpeed += statData.BaseSpeed;
        CurrentSpeed = BaseSpeed;
        AttackCadence += statData.AttackCadence;
        if (statData.OldTools)
        {
            OldTools = statData.OldTools;
        }
        messenger.Publish(new UpdateGuiMessage(this));
    }
Beispiel #2
0
 void Start()
 {
     switch (Items)
     {
         case ItemTypes.RedHeart:
             itemStatsModified = Constants.Items.RedHeart;
             break;
         case ItemTypes.BlueHeart:
             itemStatsModified = Constants.Items.BlueHeart;
             break;
         case ItemTypes.YellowHeart:
             itemStatsModified = Constants.Items.YellowHeart;
             break;
         case ItemTypes.OilBottle:
             itemStatsModified = Constants.Items.OilBottle;
             break;
         case ItemTypes.RandomOilBottle:
             itemStatsModified = Constants.Items.RandomOilBottle;
             break;
         case ItemTypes.LilBear:
             itemStatsModified = Constants.Items.LilBear;
             break;
     }
 }
 public EndPayLighthouseMessage(BaseCaracterStats activationType,int messageId)
 {
     ActivationType = activationType;
     MessageId = messageId;
 }
 public EndGuiDestilationMessage(int messageId,BaseCaracterStats modifiedStats)
 {
     ModifiedStats = modifiedStats;
     MessageId = messageId;
 }
 public StartUpgradeGuiMessage(int messageId, BaseCaracterStats upgradeStats, BaseProtagonistStats protaStats)
 {
     MessageId = messageId;
     UpgradeStats = upgradeStats;
     ProtaStats = protaStats;
 }
Beispiel #6
0
 public UpdateGuiMessage(BaseCaracterStats updatedProtaStats)
 {
     UpdatedProtaStats = updatedProtaStats;
 }
Beispiel #7
0
    public void SetState(State state)
    {
        stateExit(CurrentStateName);
        CurrentStateName = state;
        switch (state)
        {
            case State.Moving:
                _animatorPer.SetInteger("estat_anim", 1);
                _currentState = Moving;
                break;
            case State.Idl:
                _animatorPer.SetInteger("estat_anim", 0);
                _currentState = Idl;
                break;
            case State.Shoot:
                _disparant = true;
                _animatorPer.SetInteger("estat_anim", 2);
                var modifiedStats = new BaseCaracterStats { Life = -1, BaseSpeed = 20 };
                Character.UpdateStats(modifiedStats, Messenger);
                var bola = Instantiate(BolaFoc, new Vector3(OwnTransform.position.x, OwnTransform.position.y, -0.85f), Quaternion.identity) as GameObject;
                var tempDir = _objectiuDis - new Vector2(OwnTransform.position.x, OwnTransform.position.y);
                tempDir.Normalize();
                if (bola != null)
                {
                    bola.GetComponent<bola>().Shoot(tempDir, Character.Attack, 4f, BolaSpeed);
                }
                else
                {
                    Debug.Log("La bola de foc prefab no hi es");
                }
                StartCoroutine(ShootCooldown());
                _currentState = Shoot;
                break;
            case State.Dash:
                Character.CurrentSpeed += 1300;
                _animatorPer.SetInteger("estat_anim", 3);
                StartCoroutine(Esperar_dash());
                _currentState = Dash;
                break;
            default:
                Debug.Log("unrecognized state");
                break;

        }
    }
Beispiel #8
0
 private void Shoot()
 {
     if (_onCooldownShot) return;
     var modifiedStats = new BaseCaracterStats {BaseSpeed = -20 };
     Character.UpdateStats(modifiedStats, Messenger);
     _disparant = false;
     SetState(State.Idl);
 }