コード例 #1
0
        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));
            }
        }
コード例 #2
0
 public void DeRegisterProcessor(IGameInputProcessor proc)
 {
     _processors.Remove(proc);
 }
コード例 #3
0
 public void RegisterProcessor(IGameInputProcessor proc)
 {
     _processors.Add(proc);
 }