Files
Sarpy/bot/action/default_act.py
T
2023-09-25 20:37:02 +01:00

31 lines
1.0 KiB
Python

import numpy as np
from rlgym_compat import GameState
from .continuous_act import ContinuousAction
from typing import Union, List
class DefaultAction(ContinuousAction):
"""
Continuous Action space, that also accepts a few other input formats for QoL reasons and to remain
compatible with older versions.
"""
def __init__(self):
super().__init__()
def get_action_space(self):
return super().get_action_space()
def parse_actions(self, actions: Union[np.ndarray, List[np.ndarray], List[float]], state: GameState) -> np.ndarray:
# allow other data types, this part should not be necessary but is nice to have in the default action parser.
if type(actions) != np.ndarray:
actions = np.asarray(actions)
if len(actions.shape) == 1:
actions = actions.reshape((-1, 8))
elif len(actions.shape) > 2:
raise ValueError('{} is not a valid action shape'.format(actions.shape))
return super().parse_actions(actions, state)