public void GainCoins(int quantity) { Coins += quantity; if (UpdateCoinsSignal) { UpdateCoinsSignal.Raise(); } }
public void Initialize(List <SpellConfig> spells) { Spells = new List <SpellConfig>(MaxSpells); if (spells.Count == MaxSpells) { foreach (var s in spells) { Spells.Add(s); } SpellChangedSignal.Raise(); } }
protected void LoseHealth(float damage, bool display) { EnableEnemyStateUI(); EnemyHealth.LoseHealth(damage, display); if (IsDead && EnemyState.MovementState != CharacterMovementState.Dead) { Data.IsAlive = false; Data.BodyPosition = transform.position; if (DeadSignal) { DeadSignal.Raise(); } if (RoomSignal != null) { RoomSignal.Raise(); } GetLoot(); if (DeathAnimation != null) { StartCoroutine(DeathAnimationAndDestroy()); } else { StartCoroutine(DieAndLeaveBody()); } } }
IEnumerator PlayCutsceneCo() { Player.Freeze(); if (BossTitle) { BossTitle.text = Boss.Name; } GUI.SetActive(false); playableDirector.Play(); yield return(new WaitForSeconds(TimeBeforeAnimation)); if (CutSceneStartAnimationSignal) { CutSceneStartAnimationSignal.Raise(); } yield return(new WaitForSeconds((float)playableDirector.duration - TimeBeforeAnimation)); GUI.SetActive(true); if (CutsceneFinishedSignal) { CutsceneFinishedSignal.Raise(); } if (BossHealthManager) { BossHealthManager.Initialize(Boss.GetEnemyHealth().MaxHealth, Boss.Name); } Player.Unfreeze(); //TODO: disable data this.gameObject.SetActive(false); yield return(null); }
IEnumerator OpenBook() { isOpen = true; animator.SetBool("IsOpen", true); yield return(new WaitForSeconds(0.5f)); restZoneSignal.Raise(); }
private IEnumerator KnockbackCo(Rigidbody2D body, float pushTime, float damage) { if (body != null) { TriggerCollider.enabled = false; var damageTakenPosition = new Vector3(transform.position.x, transform.position.y + 1, 0); PlayerHit.Raise(); yield return(new WaitForSeconds(pushTime)); PlayerState.MovementState = CharacterMovementState.Idle; body.velocity = Vector2.zero; yield return(new WaitForSeconds(InvulnerabilityTime - pushTime)); TriggerCollider.enabled = true; } }
void Start() { updateUISignal.Raise(); PermanentObjects.Instance.Player.Freeze(); StartCoroutine(ScreenFade()); }
protected override void OnPlayerEnter() { StartBattleSignal.Raise(); //Data.IsActive = false; gameObject.SetActive(false); }