public void HandleGameplayCue(GameObject Target, GameplayCueParameters Parameters, EGameplayCueEvent Event)
        {
            switch (Event)
            {
            case EGameplayCueEvent.OnExecute:
                if (ExecuteAction == null)
                {
                    break;
                }
                ExecuteAction.Action(Target, Parameters);
                break;

            case EGameplayCueEvent.OnActive:
                if (OnActiveAction == null)
                {
                    break;
                }
                OnActiveAction.Action(Target, Parameters);
                break;

            case EGameplayCueEvent.WhileActive:
                if (WhileActiveAction == null)
                {
                    break;
                }
                WhileActiveAction.Action(Target, Parameters);
                break;

            case EGameplayCueEvent.OnRemove:
                if (OnRemoveAction == null)
                {
                    break;
                }
                OnRemoveAction.Action(Target, Parameters);
                break;
            }
        }
 public virtual void Action(GameObject Target, GameplayCueParameters Parameters)
 {
 }
Esempio n. 3
0
 public abstract void HandleGameplayCue(GameObject Target, EGameplayCueEventTypes EventType, GameplayCueParameters Parameters);
Esempio n. 4
0
        public override async void HandleGameplayCue(GameObject Target, EGameplayCueEventTypes EventType, GameplayCueParameters Parameters)
        {
            Time.timeScale = 0.5f;
            await UniTask.DelayFrame(5);

            Time.timeScale = 1;

            var gameObject = Instantiate(ObjectToSpawn);

            gameObject.transform.SetParent(Target.transform);
            gameObject.transform.localPosition = Position;
            gameObject.transform.localRotation = Rotation;
            gameObject.transform.localScale    = Scale;
            if (DestroyInSeconds > 0)
            {
                await UniTask.Delay(TimeSpan.FromSeconds(DestroyInSeconds));

                GameObject.DestroyImmediate(gameObject);
            }
        }
 public override void Execute(GameObject Target, EGameplayCueEventTypes EventType, GameplayCueParameters Parameters)
 {
     GameplayCueImplementation.HandleGameplayCue(Target, EventType, Parameters);
 }
 public abstract void Execute(GameObject Target, GameplayCueParameters Parameters);