Inheritance: MonoBehaviour
        void OnIdle(Idle handle)
        {
            if (handle != null)
            {
                this.idleCounter++;

                if (this.idleCounter == NumberOfTicks)
                {
                    handle.Stop();
                }
            }
        }
        /// <summary>
        /// Starts up the background thread, if needed, and triggers a reload
        /// on the lines.
        /// </summary>
        public void Restart()
        {
            // Set the flag so we loop through at least one more time.
            needRestart = true;

            // If we aren't running, then start it up again.
            if (!isRunning)
            {
                isRunning = true;
                Idle.Add(OnIdleUpdate);
            }
        }
 public override void Compose(List <State> states)
 {
     base.Compose(states);
     this.Idle.StateMachine = this;
     Idle.MoveTransition    = new StateTransition("MoveTransition", Idle, Move);
     Idle.AddTrigger(MoveTransition, Idle.MoveTransition);
     states.Add(Idle);
     this.Move.StateMachine = this;
     Move.StopTransition    = new StateTransition("StopTransition", Move, Idle);
     Move.AddTrigger(StopTransition, Move.StopTransition);
     states.Add(Move);
 }
        protected virtual void OnIdle(object sender, EventArgs args)
        {
            GLWrapper.Reset();
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            UpdateSubTree();
            DrawSubTree();

            Idle?.Invoke(this, EventArgs.Empty);

            GLControl.SwapBuffers();
        }
Exemple #5
0
 private void CheckIfStoppedMoving()
 {
     if (_isJumping || _beganFall)
     {
         return;
     }
     if (_isMoving)
     {
         Idle?.Invoke();
     }
     _isMoving = false;
 }
Exemple #6
0
        void OnIdle(Idle handle)
        {
            if (this.loopState > 0)
            {
                handle.CloseHandle(this.OnClosed);
                return;
            }

            if (this.queue.TryDequeue(out Activator activator))
            {
                activator.Execute(this.loop);
            }
        }
Exemple #7
0
    public override void Update()
    {
        Vector3 dir   = player.position - npc.transform.position;
        float   angle = Vector3.Angle(dir, npc.transform.forward);

        dir.y = 0;
        npc.transform.rotation = Quaternion.Slerp(npc.transform.rotation, Quaternion.LookRotation(dir), Time.deltaTime * rotationSpeed);
        if (!CanAttackPlayer())
        {
            nextState = new Idle(npc, agent, anim, player);
            stage     = EVENT.EXIT;
        }
    }
Exemple #8
0
 public CharacterMainStateMachineContext(InputManager inputManager, GameObject go, IState startState,
                                         [Inject(Id = "id")] string characterId, [Inject(Id = "playerId")] int playerId, [Inject(Id = "stats")] CharacterStats stats, [Inject(Id = "debug")] bool debug,
                                         CharacterLocomotionHandler locomotionHandler, CharacterAnimatorController animatorController,
                                         Idle idle, Walk walk, Die die) : base(go, startState, debug)
 {
     InputManager       = inputManager;
     CharacterId        = characterId;
     PlayerId           = playerId;
     Stats              = stats;
     LocomotionHandler  = locomotionHandler;
     AnimatorController = animatorController;
     RelatedStates      = new States(idle, walk, die);
 }
Exemple #9
0
            public override State Update()
            {
                State state = this;

                outer.fastMarchingMethod.Origin = origin;
                outer.fastMarchingMethod.UpdatePath();
                outer.fastMarchingMethod.DisplayPath();
                outer.IncrementStep();

                state = new Idle();

                return(state);
            }
Exemple #10
0
    private void Awake()
    {
        var idle        = new Idle();
        var attack      = new Attack();
        var chasePlayer = new ChasePlayer(GetComponent <NavMeshAgent>());

        _stateMachine = new StateMachine();
        _stateMachine.AddState(idle);
        _stateMachine.AddState(attack);
        _stateMachine.AddState(chasePlayer);

        _stateMachine.SetState(idle);
    }
    public PlayerControlStateManager()
    {
        States = new[]
        {
            typeof(Idle),
            typeof(Blocked),
            typeof(Choosing),
            typeof(Acting)
        };

        Current      = new Idle();
        IsPlayerIdle = true;
    }
    public static void Main(string [] args)
    {
        Program program = new Program("ImportCommandTest", "0.0", Modules.UI, args);

        try {
            File.Delete(db_path);
        } catch {}

        directory_path = args [0];

        Idle.Add(new IdleHandler(OnIdleStartImport));
        program.Run();
    }
Exemple #13
0
        void NextTick(Idle handle)
        {
            if (handle != null)
            {
                handle.Stop();

                this.idle = this.loop.CreateIdle();
                this.idle.Start(this.IdleCallback);

                this.timer = this.loop.CreateTimer();
                this.timer.Start(this.TimerCallback, 0, 0);
            }
        }
Exemple #14
0
    void Start()
    {
        Idle  idleState  = new Idle(ballSpawner, enemySpawner);
        Shoot shootState = new Shoot(ballSpawner, enemySpawner);
        Move  moveState  = new Move(player, ballSpawner);

        idleState.SetNext(shootState);
        shootState.SetNext(moveState);
        moveState.SetNext(idleState);

        state = idleState;
        state.Start();
    }
        private void Conn_OnDisconnected()
        {
            generation++;
            if (Protocol != null)
            {
                Protocol.Stop();
                Protocol = new Idle(this);
            }

            FreeResources();

            this.OnDisconnected?.Invoke();
        }
    private void MakeFSM()
    {
        fsm = new SimpleAIFSMSystem();

        Idle idle =  new Idle(fsm, gameObject, pc);
        idle.AddTransition(SimpleAITransition.FoundPlayer, SimpleAIStateID.ChasePlayer);

        ChasePlayer chasePlayer = new ChasePlayer(fsm, gameObject, pc);
        chasePlayer.AddTransition(SimpleAITransition.LostPlayer, SimpleAIStateID.Idle);

        fsm.AddState(idle);
        fsm.AddState(chasePlayer);
    }
Exemple #17
0
    private void Start()
    {
        stats = GetComponent<Stats> ();
        uMC = GetComponent<UnitMovementController> ();
        uJC = GetComponent<UnitJobController> ();

        idle = new Idle (this);
        occupied = new Occupied (this);
        returnHome = new ReturnHome (this);
        fullfilingNeeds = new FullfilingNeeds (this);

        currentState = idle;
    }
Exemple #18
0
        public Boolean Save()
        {
            Boolean Saved = true;

            try
            {
                XmlNode Node;

                m_Doc.RemoveAll();

                Node = m_Doc.CreateXmlDeclaration("1.0", "utf-8", String.Empty);
                m_Doc.AppendChild(Node);

                Node = m_Doc.CreateComment(String.Format(" ScpControl Configuration Data. {0} ", DateTime.Now));
                m_Doc.AppendChild(Node);

                Node = m_Doc.CreateWhitespace("\r\n");
                m_Doc.AppendChild(Node);

                Node = m_Doc.CreateNode(XmlNodeType.Element, "ScpControl", null);
                {
                    CreateTextNode(Node, "Idle", Idle.ToString());

                    CreateTextNode(Node, "LX", LX.ToString());
                    CreateTextNode(Node, "LY", LY.ToString());
                    CreateTextNode(Node, "RX", RX.ToString());
                    CreateTextNode(Node, "RY", RY.ToString());

                    CreateTextNode(Node, "LED", LED.ToString());
                    CreateTextNode(Node, "Rumble", Rumble.ToString());
                    CreateTextNode(Node, "Triggers", Triggers.ToString());

                    CreateTextNode(Node, "Latency", Latency.ToString());
                    CreateTextNode(Node, "DeadL", DeadL.ToString());
                    CreateTextNode(Node, "DeadR", DeadR.ToString());

                    CreateTextNode(Node, "Native", Native.ToString());
                    CreateTextNode(Node, "SSP", SSP.ToString());

                    CreateTextNode(Node, "Brightness", Brightness.ToString());
                    CreateTextNode(Node, "Bus", Bus.ToString());
                    CreateTextNode(Node, "Force", Repair.ToString());
                }
                m_Doc.AppendChild(Node);

                m_Doc.Save(m_File);
            }
            catch { Saved = false; }

            return(Saved);
        }
Exemple #19
0
    private void Start()
    {
        #region Configuring State Machine

        _animator       = GetComponent <Animator>();
        _spriteRenderer = GetComponent <SpriteRenderer>();
        _rb             = GetComponent <Rigidbody2D>();

        _stateMachine = new StateMachine();

        // Instantiating states
        var running = new Running(this, _animator);
        var idle    = new Idle(this, _animator);
        var dashing = new Dashing(this, _animator, _rb);
        var stunned = new Stunned(this, _rb);

        // Assigning transitions
        _stateMachine.AddAnyTransition(stunned, IsStunned());
        At(running, idle, IsIdle());
        At(idle, running, IsMoving());
        At(idle, dashing, IsDashing());
        At(running, dashing, IsDashing());
        At(stunned, idle, IsNotStunned());

        // Starting state
        _stateMachine.SetState(running);

        // Method to assign transitions easily
        void At(IState to, IState from, Func <bool> condition) => _stateMachine.AddTransition(to, from, condition);

        // Transition conditions
        Func <bool> IsMoving() => () => (xInput != 0 || yInput != 0);
        Func <bool> IsIdle() => () => (xInput == 0 && yInput == 0);
        Func <bool> IsDashing() => () => (isDashing);
        Func <bool> IsNotDashing() => () => (!isDashing);
        Func <bool> IsStunned() => () => (isStunned);
        Func <bool> IsNotStunned() => () => (!isStunned);

        #endregion

        #region Instantiating instance variables
        // Get boundaries object to set player movement boundaries
        GameObject boundaryObj = GameObject.Find("Boundaries");
        Boundaries boundary    = boundaryObj.GetComponent <Boundaries>();
        xBoundary = boundary.playerBoundary_x;
        yBoundary = boundary.playerBoundary_y;

        // Base sorting layer
        baseLayer = GetComponent <SpriteRenderer>().sortingOrder;
        #endregion
    }
 /// <summary>
 /// Starts the background update of the elements if it isn't already
 /// running.
 /// </summary>
 private void StartBackgroundUpdate()
 {
     using (new WriteLock(sync))
     {
         // If the idle is already running, then we don't need to worry
         // about the idle. If it isn't, then set the flag and attach
         // the idle function to the Gtk# loop.
         if (!idleRunning)
         {
             idleRunning = true;
             Idle.Add(OnIdle);
         }
     }
 }
        public async Task HandleAsync_CommandAndRegisteredCommandHandler_HandlesTheCommand()
        {
            var wrapper  = new RequestHandlerWrapper <Idle, VoidUnit>();
            var provider = new ServiceProvider(serviceType =>
            {
                return(serviceType == typeof(IQueryHandler <Idle, VoidUnit>)
                    ? new SyncIdleHandler()
                    : null);
            });

            var request = new Idle();
            var actual  = await wrapper.HandleAsync(request, provider, default);

            actual.Should().Be(default);
Exemple #22
0
        public override void ReadXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("IdleTime", false, out subEle))
            {
                if (IdleTime == null)
                {
                    IdleTime = new SimpleSubrecord <Single>();
                }

                IdleTime.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ScriptMarker", false, out subEle))
            {
                if (ScriptMarker == null)
                {
                    ScriptMarker = new SubMarker();
                }

                ScriptMarker.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Idle", false, out subEle))
            {
                if (Idle == null)
                {
                    Idle = new RecordReference();
                }

                Idle.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Script", false, out subEle))
            {
                if (Script == null)
                {
                    Script = new EmbeddedScript();
                }

                Script.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Topic", false, out subEle))
            {
                if (Topic == null)
                {
                    Topic = new RecordReference();
                }

                Topic.ReadXML(subEle, master);
            }
        }
    public MainWindow() : base(Gtk.WindowType.Toplevel)
    {
        Build();

        InitControls();

        InitToolbar();

        Tic();

        GtkSelection.Selection.EllipseMode = false;

        Idle.Add(new IdleHandler(OnIdle));
    }
Exemple #24
0
    // Use this for initialization
    void Start()
    {
        m_InitState = new Initialize(this);
        m_MoveState = new Move(this);
        m_IdleState = new Idle(this);

        m_MecanimController = gameObject.GetComponent <QuerySDMecanimController>();

        m_CameraPosition   = Camera.main.transform.position;
        m_CameraPosition.y = 20.5f;
        m_Target           = m_CameraPosition;

        SetState(m_MoveState);
    }
Exemple #25
0
 void LnStateIdle(object sender, EventArgs e)
 {
     if (Idle != null)
     {
         if (ui.InvokeRequired)
         {
             ui.BeginInvoke(new EventHandler(LnStateIdle), sender, e);
         }
         else
         {
             Idle.Fire(this);
         }
     }
 }
Exemple #26
0
    // Start is called before the first frame update
    void Awake()
    {
        _rigidbody = GetComponent <Rigidbody>();
        _animator  = GetComponent <Animator>();

        _idleState    = new Idle(this);
        _aimState     = new Aim(this);
        _walkingState = new Walking(this);
        _throwState   = new Throw(this);

        _controls = new InputPlayerControls();

        ControlsInitialization();
    }
Exemple #27
0
        /// <summary>
        /// Handles application shutdown procedures - terminating render threads, cleaning
        /// up the UI, etc.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="a">The alpha component.</param>
        private void OnDeleteEvent(object sender, DeleteEventArgs a)
        {
            this.IsShuttingDown = true;

            Idle.Remove(OnIdleRenderFrame);

            this.RenderingEngine.SetRenderTarget(null);
            this.RenderingEngine.Dispose();

            this.ViewportWidget.Dispose();

            Application.Quit();
            a.RetVal = true;
        }
Exemple #28
0
 private void HandleIdle()
 {
     lock (_lock) {
         if ((DateTime.Now - _lastActivityTime).TotalMilliseconds > IdleDelay)
         {
             _timesFired++;
             if (_timesFired > MaxTimesFired)
             {
                 StopTimer();
             }
             _mainThread.Post(() => Idle?.Invoke(this, EventArgs.Empty), ThreadPostPriority.IdleOnce);
         }
     }
 }
    // Start is called before the first frame update
    void Start()
    {
        _playerTransform = GlobalController.Instance.player.GetComponent <Transform>();
        _transform       = gameObject.GetComponent <Transform>();
        _rigidbody       = gameObject.GetComponent <Rigidbody2D>();
        _animator        = gameObject.GetComponent <Animator>();
        _spriteRenderer  = gameObject.GetComponent <SpriteRenderer>();

        _isShootable = true;
        _isShooting  = false;

        // default to idle mode
        _currentState = new Idle();
    }
Exemple #30
0
        public void IdleStarvation()
        {
            this.loop = new Loop();

            this.idle  = this.loop.CreateIdle().Start(this.OnIdle);
            this.check = this.loop.CreateCheck().Start(this.OnCheck);
            this.loop.CreateTimer().Start(this.OnTimer, 50, 0);

            this.loop.RunDefault();

            Assert.True(this.idleCount > 0);
            Assert.Equal(1, this.timerCount);
            Assert.True(this.checkCount > 0);
            Assert.Equal(3, this.closeCount);
        }
        public void AddToIdle(IClient client)
        {
            if (client == null)
            {
                return;
            }

            if (g_traceInfo.IsInfoEnabled)
            {
                TraceHelper.TraceInfo(g_traceInfo, "Idle - {0}", client);
            }

            client.IdleState.Reset();
            Idle.Return(client);
        }
Exemple #32
0
 protected override void Update()
 {
     SetNavMeshAgentSpeed();
     StateData.NavMeshAgent.SetDestination(_positionToCheck);
     if (IsPositionReached())
     {
         NextState = new Idle(StateData);
         Stage     = StateEvent.Exit;
     }
     if (StateData.EnemySight.CanSeeTarget() || StateData.EnemySight.IsAttacked)
     {
         NextState = StateData.StateFactory.GetPursueState(StateData);
         Stage     = StateEvent.Exit;
     }
 }
        // Use this for initialization
        void Start()
        {
            // initialize the agent
            /*for(int i = 0; i < transform.childCount; i++)
            {
                agents.Add(transform.GetChild(i).GetComponent<Member>());
            }*/
            uniqueAgent = transform.GetChild(0).GetComponent<Member>();

            // State machine for member
            statePatrol = new StateMachine();

            Idle monIdle = new Idle(uniqueAgent);
            Search monWalk = new Search(uniqueAgent);
            Chase monFire = new Chase(uniqueAgent);

            //from Idle to...
            Transition transitionIdle = new Transition(uniqueAgent.changeToWalk, monWalk);
            Transition transitionWalk = new Transition(uniqueAgent.canShoot, monFire);
            Transition transitionFire = new Transition(uniqueAgent.changeToIdle, monIdle);

            monIdle.addTransition(transitionIdle);
            monWalk.addTransition(transitionWalk);
            monFire.addTransition(transitionFire);

            statePatrol.currentState = monIdle;

            // State machine for team
            stateTactic = new StateMachine();

            Regroup regroup = new Regroup(this);
            Reform reform = new Reform(this);
            StateMachineWrapper stateWrapper = new StateMachineWrapper(statePatrol);

            Transition transitionRegroup = new Transition(checkNeedToReform, reform);
            Transition transitionReform = new Transition(() => { return doTransitionToPatrol; }, stateWrapper);
            Transition transitionPatrol = new Transition(() => { return doTransitionToRegroup; }, regroup);

            regroup.addTransition(transitionRegroup);
            reform.addTransition(transitionReform);
            stateWrapper.addTransition(transitionPatrol);

            stateTactic.currentState = regroup;
        }
Exemple #34
0
    void Start()
    {
        SearchCooldown = SearchCooldownRate;

        idle = GetComponent<Idle>();
        rotate = GetComponent<AIRotate>();
        hunt = GetComponent<Hunt>();
        if( GetComponent<Predation>() ) pred = GetComponent<Predation>();

           // StartCoroutine( SearchForTarget() );
        Targetify( SecondaryTarget );
    }
		public void Idle(Idle action)
		{
			dbe.Idle(action);
		}
Exemple #36
0
			public PrimaryStances(bool directional, string projectileType, Projectile projectile, Idle idle, Windup windup, Cooldown cooldown)
			{
				this.directional    = directional;
				this.projectileType = projectileType;
				this.projectile     = projectile;
				this.idle           = idle;
				this.windup         = windup;
				this.cooldown       = cooldown;
			}
Exemple #37
0
 public void Process(Processing process, out IProcessingState timeoutState)
 {
     timeoutState = new Idle(5);
 }
        void EvaluateAI()
        {
            if (!CanControlMovement) return;

            if (State != UnitState.Alive)
            {
                if (!(aiState is Idle))
                    ChangeState(new Idle(this));
                return;
            }

            var e = evalAILastFrame;
            evalAILastFrame = Game.Instance.FrameId;
            if (!InCombat && e >= inRangeLastChangedFrame) return;

            var inRange = new List<Destructible>(NearestNeightboursObject.InRange);
            foreach (var u in new List<Destructible>(inRange))
                if (u is NPC && ((NPC)u).aiState is TryPerformAbility)
                    inRange.Add(((TryPerformAbility)((NPC)u).aiState).Chasing);

            if (lastChasing != null && !inRange.Contains(lastChasing))
                inRange.Add(lastChasing);

            foreach (var u in inRange)
                InCombat |= Mechanics.TeamReleations.IsHostile(this.Team, u.Team);

            var bestState = aiState;

            var s = new Idle(this);
            if (bestState.IsBetterState(s)) bestState = s;

            foreach (var u in inRange)
                bestState = TryFindBetterState(bestState, u);

            if (bestState != aiState)
            {
                ChangeState(bestState);
                return;
            }
        }
Exemple #39
0
    protected virtual void InitializeStateMachine()
    {
        Idle idleState = new Idle(this);
        idleState.AddTransition(Transition.E_FAILGESTURE, StateID.E_ATTACK);
        idleState.AddTransition(Transition.E_LOSTHP, StateID.E_DAMAGED);
        idleState.AddTransition(Transition.E_NOHP, StateID.E_DEATH);

        Attack atkState = new Attack(this);
        atkState.AddTransition(Transition.E_FINISHATTACK, StateID.E_IDLE);
        atkState.AddTransition(Transition.E_LOSTHP, StateID.E_DAMAGED);

        Damaged dmgState = new Damaged(this);
        dmgState.AddTransition(Transition.E_NOHP, StateID.E_DEATH);
        dmgState.AddTransition(Transition.E_FINISHATTACK, StateID.E_IDLE);
        dmgState.AddTransition(Transition.E_LOSTHP, StateID.E_DAMAGED);

        Death deathState = new Death(this);
        enemyState = new FiniteStateMachine();
        enemyState.AddState(idleState);

        enemyState.AddState(atkState);
        enemyState.AddState(dmgState);
        enemyState.AddState(deathState);
    }