Пример #1
0
 public void GainCoins(int quantity)
 {
     Coins += quantity;
     if (UpdateCoinsSignal)
     {
         UpdateCoinsSignal.Raise();
     }
 }
Пример #2
0
 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();
     }
 }
Пример #3
0
 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());
         }
     }
 }
Пример #4
0
    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);
    }
Пример #5
0
    IEnumerator OpenBook()
    {
        isOpen = true;
        animator.SetBool("IsOpen", true);
        yield return(new WaitForSeconds(0.5f));

        restZoneSignal.Raise();
    }
Пример #6
0
    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;
        }
    }
Пример #7
0
 void Start()
 {
     updateUISignal.Raise();
     PermanentObjects.Instance.Player.Freeze();
     StartCoroutine(ScreenFade());
 }
Пример #8
0
 protected override void OnPlayerEnter()
 {
     StartBattleSignal.Raise();
     //Data.IsActive = false;
     gameObject.SetActive(false);
 }