void PutExplosion(Vector3 pos) { if (m_enable_shockwave) { DSShockwaveManager.AddEntity(pos); } if (m_enable_radialblur) { DSRadialBlurManager.AddEntity(pos); } if (m_enable_particles) { CSParticle[] additional = new CSParticle[1024]; for (int i = 0; i < additional.Length; ++i) { additional[i].position = pos + (new Vector3(R(), R(), R())).normalized * R(0.1f); additional[i].velocity = (new Vector3(R(), R(), R())).normalized * R(20.0f); } m_pset.AddParticles(additional); } if (m_enable_light) { Instantiate(m_light, pos, Quaternion.identity); } }
void Update() { CameraControl(); if (Input.GetKeyUp(KeyCode.Space)) { showGUI = !showGUI; } { CSParticle[] additional = new CSParticle[particlesParFrame]; Vector3 center = new Vector3(0.0f, 4.0f, 0.0f); for (int i = 0; i < additional.Length; ++i) { Vector3 r = new Vector3(Random.Range(-1.0f, 1.0f), Random.Range(-1.0f, 1.0f), Random.Range(-1.0f, 1.0f)); additional[i].position = center + r * 0.5f; additional[i].velocity = r * 1.5f; } cspset.AddParticles(additional); cspset.m_decelerate = 0.9925f; } }