public void Launch(Vector3 _direction, bool curved, bool fastLaunch) { lastPlayer = player; player = null; CurrentState = State.LAUNCHED; direction = _direction.normalized; baseDirection = _direction.normalized; if (curved) { curveAngle = baseCurveAngle; this.Curved = true; } if (fastLaunch) { currentSpeed += fastLaunchAddedSpeed; } OnLaunched?.Invoke(this, new FrisbeeEventArgs(lastPlayer, currentArea)); }
private void Start() { if (OnLaunched == null) { OnLaunched = new OnLaunched(); } if (OnRemovedWithNoTarget == null) { OnRemovedWithNoTarget = new OnRemovedWithNoTarget(); } if (OnHitEnemy == null) { OnHitEnemy = new OnHitEnemy(); } if (OnProjectileLauncherFired == null) { OnProjectileLauncherFired = new OnProjectileLauncherFired(); } OnLaunched.AddListener(Launched); OnRemovedWithNoTarget.AddListener(Removed); OnHitEnemy.AddListener(HitEnemy); OnProjectileLauncherFired.AddListener(LaunchedProjectile); }
public void RemoveOnLaunchedDelegate(OnLaunched del) { this.OnLaunchedDelegates -= del; }
public void SetOnLaunchedDelegate(OnLaunched del) { this.OnLaunchedDelegates = del; }
public void AddOnLaunchedDelegate(OnLaunched del) { this.OnLaunchedDelegates += del; }
internal void on_OnLaunched(Vector LaunchVelocity, bool bXYOverride, bool bZOverride) => OnLaunched?.Invoke(LaunchVelocity, bXYOverride, bZOverride);