public void ApplyStates(IGameInputProcessor processor) { var states = _playerState.GetCurrentStates(); foreach (var state in states) { processor.AddState(_statePool.GetState(state)); } //处理复合状态 if (states.Contains(EPlayerState.Prone) && (states.Contains(EPlayerState.Run) || states.Contains(EPlayerState.Sprint) || states.Contains(EPlayerState.Walk))) { processor.AddState(_statePool.GetState(EPlayerState.ProneMove)); } }
public void DeRegisterProcessor(IGameInputProcessor proc) { _processors.Remove(proc); }
public void RegisterProcessor(IGameInputProcessor proc) { _processors.Add(proc); }