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)); }
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; }
public UpdateGuiMessage(BaseCaracterStats updatedProtaStats) { UpdatedProtaStats = updatedProtaStats; }
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; } }
private void Shoot() { if (_onCooldownShot) return; var modifiedStats = new BaseCaracterStats {BaseSpeed = -20 }; Character.UpdateStats(modifiedStats, Messenger); _disparant = false; SetState(State.Idl); }