Example #1
0
 private void Sets()
 {
     canAttack      = false;
     currentTrigger = TriggerStates.None;
     animEvents.SetAgent(agent);
     me = new returnableObject(gameObject, GetComponent <Rigidbody>(), GetComponent <NavMeshAgent>());
 }
Example #2
0
 void InitTriggerStates()
 {
     triggerStates = new TriggerStates[numberOfControllers];
     for (int i = 0; i < triggerStates.Length; i++)
     {
         triggerStates[i] = new TriggerStates();
     }
 }
Example #3
0
        public async Task SetStopTriggerState(bool armed)
        {
            await SetStopTriggerStateCore(armed).ConfigureAwait(false);

            if (armed)
            {
                _triggerState |= TriggerStates.Stop;
            }
            else
            {
                _triggerState &= ~TriggerStates.Stop;
            }
        }
Example #4
0
    void CheckState(int controllerNum)
    {
        TriggerStates triggerState = TriggerState(controllerNum);

        bool lastHeldRight = triggerState.rightTriggerHeld;

        triggerState.rightTriggerHeld = RightTriggerAbove(controllerNum, buttonMinimum);
        triggerState.rightTriggerDown = !lastHeldRight && triggerState.rightTriggerHeld;
        triggerState.rightTriggerUp   = lastHeldRight && !triggerState.rightTriggerHeld;

        bool lastHeldLeft = triggerState.leftTriggerHeld;

        triggerState.leftTriggerHeld = LeftTriggerAbove(controllerNum, buttonMinimum);
        triggerState.leftTriggerDown = !lastHeldLeft && triggerState.leftTriggerHeld;
        triggerState.leftTriggerUp   = lastHeldLeft && !triggerState.leftTriggerHeld;
    }
Example #5
0
 //Finds how far player is from the enmy and does something with the information
 public IEnumerator getTrigger()
 {
     while (true)
     {
         float TargetDistance = Mathf.Abs(Target.position.x - transform.position.x);
         if (TargetDistance >= enemyRangedRange || transform.position.x > MaxXBounds || transform.position.x < minXBounds)
         {
             currentTrigger = TriggerStates.None;
         }
         else if (TargetDistance < enemyRangedRange && TargetDistance >= meleeRange)
         {
             currentTrigger = TriggerStates.Ranged;
         }
         else
         {
             currentTrigger = TriggerStates.MustMelee;
         }
         yield return(wait);
     }
 }
Example #6
0
        /// <summary>
        /// Set up the system for sweep
        /// </summary>
        /// <param name="startFrequencyIndex">Starting frequency index</param>
        /// <param name="endFrequencyIndex">Final frequency index</param>
        /// <param name="repeats">Number of repeats of the whole sweep, repeat indefinitely if null</param>
        public void SetupSweep(int startFrequencyIndex, int endFrequencyIndex, int?repeats)
        {
            if ((startFrequencyIndex >= 0) && (endFrequencyIndex >= 0))
            {
                if (TriggerState == TriggerStates.Sweep) // sweep already running, cancel it and run new sweep
                {
                    CancelSweep();
                }

                triggerStateBeforeSweep = TriggerState; // save device state

                TriggerState = TriggerStates.Sweep;

                if (TriggerState == TriggerStates.Sweep)
                {
                    RemainingRepeats          = repeats;
                    frequencyIndexBeforeSweep = device.FrequencyIndex; // save the currently selected frequency
                    RunSweep(startFrequencyIndex, endFrequencyIndex);
                    port.TransactionQueueEmpty += () => CleanAfterSweep(startFrequencyIndex, endFrequencyIndex);
                }
            }
        }
Example #7
0
    void Update()
    {
        // Hammer
        if ( Input.GetKeyDown(KeyCode.E) ){
            if ( hammerState == HammerStates.Rest ){
                hammerState = HammerStates.Cocked;
            }
        }

        // Trigger
        if ( Input.GetKeyDown(KeyCode.F) && hammerState == HammerStates.Cocked ){
            if ( triggerState == TriggerStates.Reset ){
                triggerState = TriggerStates.Pulled;
            } else {
                triggerState = TriggerStates.Reset;
            }
        }

        // Handle Bullet Chamber Status
        for( int i=0; i<chambers.Count; i++ ){
            if ( chambers[i] == ChamberStates.Empty ){
                liveBullets[i].SetActive(false);
                spentBullets[i].SetActive(false);
            }
            if ( chambers[i] == ChamberStates.LoadedLive ){
                liveBullets[i].SetActive(true);
                spentBullets[i].SetActive(false);
            }
            if ( chambers[i] == ChamberStates.LoadedSpent ){
                liveBullets[i].SetActive(false);
                spentBullets[i].SetActive(true);
            }
        }

        // if you died
        if ( dead ){
            locked = true;
            Camera.main.backgroundColor = Color.red;
            cylinderState = CylinderStates.Open;
            // show the restart button
            guiManager.objectivesPanel.SetActive(false);
            guiManager.restartButton.SetActive(true);
            guiManager.victoryButton.SetActive(false);
        } else {
            if ( !openPlay ){
                if ( triggerPulls >= triggerPulls_objective ){
                    locked = true;
                    Camera.main.backgroundColor = Color.green;
                    cylinderState = CylinderStates.Open;
                    // show the restart button
                    guiManager.objectivesPanel.SetActive(false);
                    guiManager.restartButton.SetActive(false);
                    guiManager.victoryButton.SetActive(true);
                }
            }
        }

        musicManager.src.pitch = Mathf.Lerp(musicManager.src.pitch, 1f+liveBulletsInCylinder*0.1f, Time.deltaTime*0.25f);
    }
Example #8
0
 public Func <Task> FromStateHandlers(string elementName, string elementType, StateTriggerKinds sTK, TriggerStates tS)
 {
     //ToDo: null checks
     try {
         return(StateChangeEventHandlers
                .Where(triggerHandler => triggerHandler.ElementName == elementName &&
                       triggerHandler.ElementType == elementType &&
                       triggerHandler.TriggerKind == sTK &&
                       triggerHandler.TriggerState == tS)
                .Single()
                .MethodToUse);
     } catch {
         Logger.LogError(StringConstants.InvalidFromStateHandlersExceptionMessage, elementName, elementType, sTK, tS);
         throw new Exception(); // ToDo: create a new exception and use it here
     }
 }
Example #9
0
 public IStateBuilder AddEventHandler(string elementName, string elementType, StateTriggerKinds triggerKind, TriggerStates triggerState, Func <Task> methodToUse)
 {
     // ToDo: null or empty checks
     Logger.LogDebug($"<AddEventHandler, elementName = {elementName}, elementType = {elementType}, sTK = {triggerKind}, tS = {triggerState}, methodToUse = {methodToUse}");
     StateChangeEventHandlers.Add(new StateChangeEventHandler()
     {
         ElementName = elementName, ElementType = elementType, TriggerKind = triggerKind, TriggerState = triggerState, MethodToUse = methodToUse
     });
     Logger.LogDebug($"AddEventHandler>");
     return(this);
 }
Example #10
0
 /// <summary>
 /// Initializes MeasurementMode after device transfers to ready state
 /// </summary>
 private void Port_MeasurementModeInitialize()
 {
     TriggerState = TriggerStates.Continuous;
     port.Send(new Transaction(Commands.Mode, ((int)Mode.ZTheta).ToString())); // set default mode Z-θ
     port.Query(new Transaction(Commands.Mode));
 }