Exemple #1
0
 public void Die()
 {
     State                  = PhaseBarrierState.OUT;
     nextFlashTime          = Time.time + FlashTime;
     nextStateChangeTime    = Time.time + OutTime;
     spriteRenderer.enabled = false;
     rigidbody2D.simulated  = false;
 }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        if (State != PhaseBarrierState.ACTIVE & Time.time > nextFlashTime)
        {
            nextFlashTime          = Time.time + FlashTime;
            spriteRenderer.enabled = !spriteRenderer.enabled;
        }
        if (controller.GameState == GameState.RUNNING)
        {
            if (Time.time > nextSpriteChangeTime)
            {
                nextSpriteChangeTime = Time.time + SpriteChangeTime;
                if (Random.value < SpriteChangeChance)
                {
                    RandomSprite();
                }
            }
            switch (State)
            {
            case PhaseBarrierState.IN:
                if (Time.time > nextStateChangeTime)
                {
                    spriteRenderer.enabled = true;
                    rigidbody2D.simulated  = true;
                    State = PhaseBarrierState.ACTIVE;
                }
                break;

            case PhaseBarrierState.ACTIVE:
                break;

            case PhaseBarrierState.OUT:
                if (Time.time > nextStateChangeTime)
                {
                    controller.PhaseBarrierList.Remove(gameObject);
                    Destroy(gameObject);
                }
                break;
            }
        }
    }