Exemplo n.º 1
0
 protected virtual void RaisePlayerFinishedEvent(object sender, EventArgs e) =>
 InvokeActionOnMainThread(() => PlayerFinished?.Invoke(sender, e));
Exemplo n.º 2
0
    /// <summary>
    /// Setup the state machine.
    /// </summary>
    protected override void MakeFSM()
    {
        base.MakeFSM();

        PlayerWalk walk = new PlayerWalk(StateID.Walk, this);
        walk.AddTransition(Transition.DestinationReached, StateID.Idle);
        walk.AddTransition(Transition.FoundPlayer, StateID.Finished);

        PlayerIdle idle = new PlayerIdle(StateID.Idle, this);
        idle.AddTransition(Transition.WalkToDestination, StateID.Walk);
        idle.AddTransition(Transition.FoundPlayer, StateID.Finished);

        PlayerFinished finished = new PlayerFinished(StateID.Finished, this.gameObject);

        fsm.AddState(walk);
        fsm.AddState(idle);
        fsm.AddState(finished);
    }
Exemplo n.º 3
0
    protected override void MakeFSM()
    {
        base.MakeFSM();

        EnemyRandomWalk randomWalk = new EnemyRandomWalk(StateID.RandomWalk, this);
        randomWalk.AddTransition(Transition.FoundBreadcrumb, StateID.BreadcrumbWalk);
        randomWalk.AddTransition(Transition.FoundPlayer, StateID.Finished);

        EnemyBreadcrumbWalk breadcrumbWalk = new EnemyBreadcrumbWalk(StateID.BreadcrumbWalk, this);
        breadcrumbWalk.AddTransition(Transition.LostBreadcrumb, StateID.RandomWalk);
        breadcrumbWalk.AddTransition(Transition.FoundPlayer, StateID.Finished);

        PlayerFinished finished = new PlayerFinished(StateID.Finished, this.gameObject);

        fsm = new FiniteStateMachine();
        fsm.AddState(randomWalk);
        fsm.AddState(breadcrumbWalk);
        fsm.AddState(finished);
    }