void OnCollision(SimProjectileInstance inst, SimProjectileInstance.OnCollisionEventArgs args) { gameObject.BroadcastMessage("SimOnExplode", SendMessageOptions.DontRequireReceiver); AudioEngine.instance.PlayWeaponImpact(audioConfig); Instantiate(impactEffect, this.transform.position, Quaternion.identity); Destroy(gameObject); }
public SimProjectileInstance AddProjectile(SimProjectileConfig config, Vector3 startingposition) { SimProjectileInstance inst = new SimProjectileInstance(this, config, startingposition); Projectiles.Add(inst); return(inst); }
public void SetProjectileConfig(SimProjectileConfig config) { if (ProjectileInstance != null) { throw new Exception("ProjectileInstance is already set!!!!"); } AudioEngine.instance.PlayWeaponFire(audioConfig); Instantiate(mussleFlash, this.transform.position, Quaternion.identity); ProjectileInstance = SimulationComponent.CurrentSim.AddProjectile(config, transform.position); ProjectileInstance.OnCollision += OnCollision; ProjectileInstance.OnDestroy += OnSimDestroy; }