コード例 #1
0
        /// <summary>
        /// Guess what? This triggers the trigger :)
        /// </summary>
        public void TriggerTheTrigger(string triggerValue)
        {
            if (triggerOnGameEvent)
            {
                if (gameEvent.Equals(triggerValue) || dispatchAll)
                {
                    onTriggerEvent.Invoke(triggerValue);

                    if (gameEvents != null && gameEvents.Count > 0)
                    {
                        UIManager.SendGameEvents(gameEvents);
                    }
                }
            }
            else if (triggerOnButtonClick)
            {
                if (buttonName.Equals(triggerValue) || dispatchAll)
                {
                    onTriggerEvent.Invoke(triggerValue);

                    if (gameEvents != null && gameEvents.Count > 0)
                    {
                        UIManager.SendGameEvents(gameEvents);
                    }
                }
            }
        }
コード例 #2
0
ファイル: UITrigger.cs プロジェクト: LukaszKundys/rework
        /// <summary>
        /// Triggers the UITrigger to execute its actions.
        /// </summary>
        public void TriggerTheTrigger(string triggerValue)
        {
            if (triggerOnGameEvent)
            {
                if (gameEvent.Equals(triggerValue) || dispatchAll)
                {
                    onTriggerEvent.Invoke(triggerValue);

                    if (gameEvents != null && gameEvents.Count > 0)
                    {
                        StartCoroutine(SendGameEventsInTheNextFrame());
                    }
                }
            }
            else if (triggerOnButtonClick || triggerOnButtonDoubleClick || triggerOnButtonLongClick)
            {
                if (buttonName.Equals(triggerValue) || dispatchAll)
                {
                    onTriggerEvent.Invoke(triggerValue);

                    if (gameEvents != null && gameEvents.Count > 0)
                    {
                        StartCoroutine(SendGameEventsInTheNextFrame());
                    }
                }
            }
        }
コード例 #3
0
 //------------------------------------------------------------------------------------------------
 public void OnAction()
 {
     if (myNextState == State.ENTER && type == Type.ACTION)
     {
         myNextState = State.EXIT;
         onEvent.Invoke(this);
     }
 }
コード例 #4
0
 //------------------------------------------------------------------------------------------------
 public void OnActionEnd()
 {
     if (myNextState == State.EXIT && type == Type.ACTION)
     {
         myNextState = (canRepeat ? State.ENTER : State.DONE);
         onEventEnd.Invoke(this);
     }
 }
コード例 #5
0
 private void OnTriggerStay(Collider other)
 {
     if (other.tag == "Player")
     {
         triggerEvent.Invoke(other.gameObject);
     }
 }
コード例 #6
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (_onTriggerEnterEvent.IsAssigned())
     {
         _onTriggerEnterEvent.Invoke(other);
     }
 }
コード例 #7
0
 void Invoke(GameObject other)
 {
     foreach (var trigger in triggers)
     {
         TriggerEvent?.Invoke(this, new TriggerEventArgs(trigger.Target, trigger.SpecifiedTargetItem, other.gameObject, trigger.Key, trigger.Type, trigger.Value));
     }
 }
 void Invoke()
 {
     if (Lottery.TryGetWeightRandom(choices, c => c.Weight, out var result))
     {
         TriggerEvent?.Invoke(new TriggerEventArgs(result.Triggers));
     }
 }
コード例 #9
0
 public void Invoke(bool isDown)
 {
     foreach (var trigger in isDown ? downTriggers : upTriggers)
     {
         TriggerEvent?.Invoke(this, new TriggerEventArgs(trigger.Target, trigger.SpecifiedTargetItem, null, trigger.Key, trigger.Type, trigger.Value));
     }
 }
コード例 #10
0
        /// <summary>
        /// Updates alarm. Returns true, if alarm was triggered.
        /// </summary>
        public bool Update()
        {
            if (!Paused && Running)
            {
                Counter += TimeKeeper.Time();

                if (
                    OnTriggerAction != OnTriggerAction.None &&
                    Counter >= TriggerTime
                    )
                {
                    if (OnTriggerAction == OnTriggerAction.Stop)
                    {
                        Running = false;
                        Counter = 0;
                    }
                    if (OnTriggerAction == OnTriggerAction.Loop)
                    {
                        Counter -= TriggerTime;                         // Necessary for correct timing.
                    }
                    TriggerEvent?.Invoke(this);
                    return(true);
                }
            }

            return(false);
        }
コード例 #11
0
        /// <summary>
        /// Triggers the enter event
        /// </summary>
        /// <param name="gameObjectEntering">The object entering</param>
        public void TriggerEnterEvent(GameObject gameObjectEntering)
        {
            BaseEventData eventData = new BaseEventData(EventSystem.current);

            eventData.selectedObject = gameObjectEntering;
            enterEvent.Invoke(eventData);
        }
コード例 #12
0
 private void OnTriggerStay(Collider other)
 {
     if (other.tag == "Player")
     {
         stay.Invoke();
     }
 }
コード例 #13
0
ファイル: Weapon.cs プロジェクト: Seppli11/GPPCC12-Game
    public override bool Use()
    {
        if (Time.time - lastShootTime < shootTime)
        {
            return(false);
        }
        if (Time.time - lastReloadTime < reloadTime)
        {
            return(false);
        }


        if (!CheckBullets())
        {
            if (EmptyMagasinEvent != null)
            {
                EmptyMagasinEvent.Invoke(this);
            }
            if (autoReload)
            {
                Reload();
            }

            return(false);
        }
        if (TriggerEvent != null)
        {
            TriggerEvent.Invoke(this);
        }

        lastShootTime = Time.time;
        return(true);
    }
コード例 #14
0
 void Invoke()
 {
     foreach (var trigger in triggers)
     {
         TriggerEvent?.Invoke(this, new TriggerEventArgs(trigger.Target, trigger.SpecifiedTargetItem, null, trigger.Key, trigger.Type, trigger.Value));
     }
 }
コード例 #15
0
    void OnTriggerExit(Collider _other)
    {
        bool isCollided = false;

        if (filterTags.Length <= 0)
        {
            isCollided = true;
        }

        foreach (string tag in filterTags)
        {
            if (_other.CompareTag(tag))
            {
                isCollided = true;
            }
        }

        if (!isCollided)
        {
            return;
        }

        if (OnExit != null)
        {
            OnExit.Invoke(_other);
        }
    }
コード例 #16
0
ファイル: Buy.cs プロジェクト: dustypants2005/Arena
 private void OnTriggerExit(Collider other)
 {
     if (other.tag == "Player")
     {
         Hide.Invoke();
     }
 }
コード例 #17
0
 private void OnTriggerExit(Collider collider)
 {
     if (!m_ignoreColliders.Contains(collider))
     {
         onTriggerExit.Invoke(collider);
     }
 }
コード例 #18
0
 private void OnTriggerStay(Collider col)
 {
     if (col.CompareTag(tagToDetect))
     {
         onTriggerStayEvent.Invoke(m_col, GoalValue);
     }
 }
コード例 #19
0
 public void OnDrag(PointerEventData eventData)
 {
     if (m_Delegate != null)
     {
         m_Delegate.Invoke(eventData);
     }
 }
コード例 #20
0
 private void OnTriggerExit(Collider col)
 {
     if (col.CompareTag(tagToDetect))
     {
         onTriggerExitEvent.Invoke(col);
     }
 }
コード例 #21
0
ファイル: Buy.cs プロジェクト: dustypants2005/Arena
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         Show.Invoke();
     }
 }
コード例 #22
0
ファイル: GoalBehaviour.cs プロジェクト: Sponglee/BaseJumping
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         goalReached.Invoke(this);
     }
 }
コード例 #23
0
ファイル: PlayerStart.cs プロジェクト: dustypants2005/Arena
 void OnTriggerExit(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         Hide.Invoke();
     }
 }
コード例 #24
0
 private void OnTriggerExit(Collider other)
 {
     if (CanTrigger(other.gameObject))
     {
         OnExit?.Invoke(other);
     }
 }
コード例 #25
0
ファイル: PlayerStart.cs プロジェクト: dustypants2005/Arena
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         Show.Invoke();
     }
 }
コード例 #26
0
 private void OnTriggerEnter(Collider other)
 {
     if ((1 << other.gameObject.layer) == mask)
     {
         onTriggerEnter?.Invoke(other);
     }
 }
コード例 #27
0
 private void OnTriggerExit(Collider other)
 {
     if (_onTriggerExitEvent.IsAssigned())
     {
         _onTriggerExitEvent.Invoke(other);
     }
 }
コード例 #28
0
 public virtual void OnTrigger()
 {
     TriggerEvent?.Invoke(Durability);
     if (Durability <= 0 && IdleAnimation != null)
     {
         transform.root.GetComponentInChildren <Animator>().SetBool(IdleAnimation, false);
     }
 }
コード例 #29
0
ファイル: TriggerCall.cs プロジェクト: vhdias/unesp-cg-game
 void OnTriggerExit(Collider other)
 {
     //Debug.Log("Trigger exit " + transform.parent.gameObject.name + ": " + other.gameObject.name);
     if ((layerMask.value & 1 << other.gameObject.layer) != 0)
     {
         onTriggerExit.Invoke(other);
     }
 }
コード例 #30
0
ファイル: TriggerCall.cs プロジェクト: vhdias/unesp-cg-game
 private void OnTriggerStay(Collider other)
 {
     //Debug.Log("Trigger stay " + transform.parent.gameObject.name + ": " + other.gameObject.name);
     if ((layerMask.value & 1 << other.gameObject.layer) != 0)
     {
         onTriggerStay.Invoke(other);
     }
 }