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; } }
public void BurnFirework() { amount = ShootAmount; State = FireworkState.FireReady; SmokeEffect.SetActive(true); StartCoroutine(Fire()); }
public void OffFirework() { FireEffect.gameObject.SetActive(false); SmokeEffect.SetActive(false); StopCoroutine(Fire()); State = FireworkState.Off; }
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; }
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); }
public void EquipFirework() { State = FireworkState.Equiped; }