Exemple #1
0
    private void Apply(FireworkState newState, float newPhase, bool manageLifetime = false)
    {
        life = newPhase;
        if (newState != state)
        {
            state = newState;
            if (state == FireworkState.Shot)
            {
                visual.SetActive(value: true);
                flyParticles.enableEmission = true;
                light.range = 5f;
                if (life <= 0.5f)
                {
                    shootSound.PlayOneShot(Fireworks.instance.transform.position);
                }
            }
            else if (state == FireworkState.Exploded)
            {
                visual.SetActive(value: false);
                flyParticles.enableEmission = false;
                if (life <= 0.5f)
                {
                    explodeParticles.Emit(128);
                    explodeSound.PlayOneShot(base.transform.position);
                }
            }
        }
        float num = (state != FireworkState.Exploded) ? 5f : Mathf.Lerp(50f, 0f, life * 10f);

        if (light.range != num)
        {
            light.range = num;
        }
    }
Exemple #2
0
 public void BurnFirework()
 {
     amount = ShootAmount;
     State  = FireworkState.FireReady;
     SmokeEffect.SetActive(true);
     StartCoroutine(Fire());
 }
Exemple #3
0
 public void OffFirework()
 {
     FireEffect.gameObject.SetActive(false);
     SmokeEffect.SetActive(false);
     StopCoroutine(Fire());
     State = FireworkState.Off;
 }
Exemple #4
0
    public void Reset()
    {
        for (int i = 0; i < fireballs.Length; i++)
        {
            fireballs[i].transform.SetParent(FireTr);
            fireballs[i].transform.localPosition = Vector3.zero;
            fireballs[i].transform.localRotation = Quaternion.Euler(Vector3.zero);
            fireballs[i].transform.localScale    = Vector3.one;
        }

        transform.SetParent(TableTr);
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.Euler(0, 0, 0);
        State = FireworkState.Item;
    }
Exemple #5
0
    public void ApplyState(NetStream state)
    {
        bool          flag          = NetBoolEncoder.ApplyState(state);
        bool          flag2         = NetBoolEncoder.ApplyState(state);
        FireworkState fireworkState = flag ? FireworkState.Shot : (flag2 ? FireworkState.Exploded : FireworkState.Inactive);
        float         newPhase      = NetSignal.encoder.ApplyState(state);

        if (fireworkState != 0 && this.state == FireworkState.Inactive)
        {
            Fireworks.instance.MarkUsed(this);
        }
        if (fireworkState == FireworkState.Inactive && this.state != 0)
        {
            Fireworks.instance.Kill(this);
        }
        Apply(fireworkState, newPhase);
    }
Exemple #6
0
 public void EquipFirework()
 {
     State = FireworkState.Equiped;
 }