protected override void OnEvent(TakeDamageEvent eventType) { SoundEvent soundEvent = new SoundEvent(eventType.entity.transform, eventType.sound); soundEvent.FireEvent(); ParticleEvent particleEvent = new ParticleEvent(eventType.entity.transform, eventType.particle); particleEvent.FireEvent(); }
protected override void OnEvent(DeathEvent eventType) { SoundEvent soundEvent = new SoundEvent(eventType.entity.transform, eventType.deathSound); soundEvent.FireEvent(); ParticleEvent particleEvent = new ParticleEvent(eventType.entity.transform, eventType.deathParticle); particleEvent.FireEvent(); //Destroy(eventType.entity); eventType.entity.SetActive(false); EnemyManager.EnemyManagerRef.AddDeadEnemiesToDictionary(eventType.entity); }
public int FireEvent(string eventName, int id = -1) { if (eventsDict.ContainsKey(eventName)) { SoundEvent e = eventsDict[eventName]; id = e.FireEvent(id); } else { Log.Hsz("Warning: Firing sound event that doesn't exist - " + eventName); } return(id); }
public override void HandleUpdate() { if (Input.GetMouseButton(0) && fireRateTimer <= 0) { //ShootRifle(); Shoot(bullet, fireSpeed); SoundEvent sound = new SoundEvent(owner.transform, shotSound); sound.FireEvent(); } else if (Input.GetKeyDown(KeyCode.Tab)) { //owner.Transition<GrenadeLauncher>(); } base.HandleUpdate(); }
// Update is called once per frame void Update() { if (timer <= 0) { Destroy(gameObject); } if (Physics2D.OverlapCircle(gameObject.transform.position, 0.5f, LayerMask.GetMask("Player"))) { ParticleEvent part = new ParticleEvent(gameObject.transform, particle); part.FireEvent(); SoundEvent sound = new SoundEvent(gameObject.transform, audio); sound.FireEvent(); GameManager.Instance.UpdateScore(10); Destroy(gameObject); } timer -= Time.deltaTime; }
/// <summary> /// Denna metod börjar med att kontrollera skottets rörelse. /// Sedan görs en raycast som tittar ifall skottet studsar med något. /// Ifall skottet studsar med något beräknas infallsradianen, /// räknar ut den nya vikeln och sätter skottets nya färdrikning till den /// framräknade vikeln. Skottets snabbhet ökas och vi lägger även till en poäng /// på en räknare som sedan läggs till i poängsystemet om vi dödar en fiende. /// I slutet av metoden tittar vi så att hastigheten inte gått över maxhastigheten. /// </summary> void Update() { transform.position += transform.up * speed * Time.deltaTime; Ray2D ray = new Ray2D(transform.position, transform.up); RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction, Time.deltaTime * speed + detection, collisionMask); if (hit.collider != null) { Vector2 v = Vector2.Reflect(ray.direction, hit.normal); float rot = Mathf.Atan2(v.x, v.y) * Mathf.Rad2Deg; transform.up = v; counter++; speed += speedIncrease; SoundEvent sound = new SoundEvent(transform, bounceSound); sound.FireEvent(); } if (speed > maxSpeed) { speed = maxSpeed; } }