public override void Build()
        {
            Main.LogDebug("[GenericTriggerBuilder] Building 'Generic' trigger");
            GenericTrigger genericTrigger = new GenericTrigger(this.name, this.description, this.triggerMessageType, this.conditional, results);

            genericTrigger.Run(null);
        }
Example #2
0
 // Use this for initialization
 void Start()
 {
     TriggerRange  = transform.parent.GetComponent <GenericTrigger>();
     startPosition = this.transform.position;
     player        = GameObject.FindGameObjectWithTag("Player");
     state         = TrapState.Idle;
 }
Example #3
0
 private void MarkCommandsAsProcessed(GenericTrigger processedTrigger, int startButton, int endButton)
 {
     for (int i = startButton; i <= endButton; i++)
     {
         this.commandQueue[i].ProcessedTriggers.Add(processedTrigger);
     }
 }
Example #4
0
    // Use this for initialization
    void Start()
    {
        rb = GetComponent <Rigidbody>();

        //Collect scripts
        ChaseRange         = transform.Find("ChaseRange").GetComponent <GenericTrigger>();
        AttackRange        = transform.Find("AttackRange").GetComponent <GenericTrigger>();
        PersonalSpaceRange = transform.Find("PersonalSpaceRange").GetComponent <GenericTrigger>();
        BufferSpaceRange   = transform.Find("BufferSpaceRange").GetComponent <GenericTrigger>();

        player = GameObject.FindGameObjectWithTag("Player");
        state  = EnemyState.Idle;
    }
Example #5
0
        public override void Build()
        {
            Main.LogDebug("[GenericTriggerBuilder] Building 'Generic' trigger");

            if (this.Results == null)
            {
                Main.Logger.LogError("[GenericTriggerBuilder] Generic Triggers require 'Results'");
            }
            else
            {
                GenericTrigger genericTrigger = new GenericTrigger(this.name, this.description, this.triggerMessageType, this.conditional, Results);
                genericTrigger.Run(null);
            }
        }
Example #6
0
        private TriggerToBeInvoked SearchForTriggerInCommandQueue(GenericTrigger trigger)
        {
            TriggerToBeInvoked triggerToBeInvoked = null;

            for (int listIndex = 0; listIndex < commandQueue.Count - trigger.TriggerCommands.Count + 1; listIndex++)
            {
                int count = 0;
                while (count < trigger.TriggerCommands.Count &&
                       trigger.SenderType == DetermineSenderType(commandQueue[listIndex + count].Sender) &&
                       commandQueue[listIndex + count].Sender.ToString().Contains(trigger.Sender) &&
                       trigger.TriggerCommands[count].Equals(commandQueue[listIndex + count].Command))
                {
                    count++;
                    if (count == trigger.TriggerCommands.Count)
                    {
                        if (!commandQueue[listIndex].ProcessedTriggers.Contains(trigger))
                        {
                            List <object> paramList = new List <object>();
                            for (int i = listIndex; i < listIndex + trigger.TriggerCommands.Count; i++)
                            {
                                if (commandQueue[i].Parameters != null)
                                {
                                    paramList.AddRange(commandQueue[i].Parameters);
                                }
                            }

                            triggerToBeInvoked         = new TriggerToBeInvoked();
                            triggerToBeInvoked.Trigger = trigger;
                            if (paramList.Count > 0)
                            {
                                triggerToBeInvoked.TriggerParameters = paramList.ToArray();
                            }

                            MarkCommandsAsProcessed(trigger, listIndex, listIndex + trigger.TriggerCommands.Count - 1);
                        }
                    }
                }
            }
            return(triggerToBeInvoked);
        }
 private void OnAddNewSelected(GenericTrigger.GenericTriggerType type, GenericTrigger.UnityEventCollider newEvent)
 {
     GenericTrigger gt = (GenericTrigger)target;
     gt.delegates.Add(new GenericTrigger.Entry(){
         eventID = type,
         callbackCollider = newEvent
     });
     EditorUtility.SetDirty(gt);
 }