Exemplo n.º 1
0
 /// <summary>
 /// Initializes base class and registers to collision handler update events
 /// </summary>
 /// <param name="handler">the movement handler of any movement state</param>
 protected override void Initialize(StateMovementHandler handler)
 {
     base.Initialize(handler);
     //Collision Handler events
     RegisterCollisonHandlerStartStateUpdate();
     RegisterCollisionHandlerGroundedStateUpdate();
 }
Exemplo n.º 2
0
 public MovementState(uint id, string name, MovementStateMachine stateMachine) : base(id, name)
 {
     this.StateMachine      = stateMachine;
     movementOptions        = new List <EntityMovementOption>();
     transitions            = new List <Transition>();
     requestPriorityMapping = new Dictionary <TransitionRequest, int>();
     minPriorityValue       = 0;
     MovementHandler        = new StateMovementHandler(this, stateMachine.Player);
     isInitialized          = false;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Validates and calls base initialize
 /// </summary>
 /// <param name="handler">The handler responsible in this state of the state machine</param>
 protected override void Initialize(StateMovementHandler handler)
 {
     base.Initialize(handler);
     Validate();
 }
Exemplo n.º 4
0
 /// <summary>
 /// Unregisters an action to the handlers update event
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 /// <param name="updateAction">the action that will be registerd</param>
 protected void UnregisterUpdateCall(StateMovementHandler handler, Action updateAction)
 {
     handler.OnUpdate -= updateAction;
 }
Exemplo n.º 5
0
 /// <summary>
 /// Initialize the component
 /// call base.Initialize() if you don't register
 /// update and fixed update call on your own
 /// </summary>
 protected abstract void Initialize(StateMovementHandler handler);
Exemplo n.º 6
0
 /// <summary>
 /// Initializes movemnet optio for a states movement handler
 /// calls Initialize implemented by classes inheriting from base
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 public void Init(StateMovementHandler handler)
 {
     EntiyMovementStateMachine = GetComponent <MovementStateMachine>();
     Initialize(handler);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Unregisters an action to the handlers update event
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 /// <param name="fixedUpdateAction">the action that will be registerd</param>
 protected void UnregisterFixedUpdateCall(StateMovementHandler handler, Action fixedUpdateAction)
 {
     handler.OnFixedUpdate -= fixedUpdateAction;
 }
Exemplo n.º 8
0
 /// <summary>
 /// registers everything to the correct handler events
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 protected override void Initialize(StateMovementHandler handler)
 {
     Register(handler);
 }
Exemplo n.º 9
0
 /// <summary>
 /// unregister update and fixed update procedurees from the handlers events
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 void Unregister(StateMovementHandler handler)
 {
     UnregisterFixedUpdateCall(handler, FixedUpdateProcedure);
     UnregisterUpdateCall(handler, UpdateProcedure);
 }
Exemplo n.º 10
0
 /// <summary>
 /// registers fixed update procedure to fixed update event, and update to the update event, making sure nothing double registers
 /// </summary>
 /// <param name="handler">a states movement handler</param>
 void Register(StateMovementHandler handler)
 {
     Unregister(handler);//don't double register
     RegisterUpdateCall(handler, UpdateProcedure);
     RegisterFixedUpdateCall(handler, FixedUpdateProcedure);
 }