public void Fire() { if (GameTimer.Instance.RealTimeElapsed(fireRate, lastFireTime)) { lastFireTime = GameTimer.Instance.GetRealTimestamp(); Vector3 point = transform.position + gunpoints[gunIndex].point; Vector3 direction = transform.rotation * gunpoints[gunIndex].normal; gunIndex = (gunIndex + 1) % gunpoints.Length; FiringParameters parameters = new FiringParameters(); parameters.weaponType = WeaponType.Vulcan; parameters.direction = direction; parameters.ownerId = entity.index; parameters.position = point; EventSystem.Instance.Trigger(Evt_WeaponFired.Spawn(parameters)); } }
private void OnWeaponFired(Evt_WeaponFired evt) { weaponLists[(int)evt.parameters.weaponType].Add(evt.parameters); }