import gymnasium as gym
from .rollout_cfg import LBMIKRolloutCfg, LBMJointEffortRolloutCfg, LBMImplicityIKRolloutCfg
from .scenario_rollout_cfg import  ScenarioRelativeIKStateCfg, ScenarioIKStateCfg, ScenarioIkVisionCfg, ScenarioRelativeIKVisionCfg
from .lbm_manager_based_rl_env import LBMManagerBasedRLEnv
from isaaclab.envs import ManagerBasedRLEnv


gym.register(
    id="LBM-Scenario-ImplicitIK-State",
    entry_point=ManagerBasedRLEnv,
    disable_env_checker=True,
    order_enforce=False,
    kwargs={
        "env_cfg_entry_point": ScenarioIKStateCfg,
    },
)

gym.register(
    id="LBM-Scenario-ImplicitIK-Vision",
    entry_point=ManagerBasedRLEnv,
    disable_env_checker=True,
    order_enforce=False,
    kwargs={
        "env_cfg_entry_point": ScenarioIkVisionCfg,
    },
)

gym.register(
    id="LBM-Scenario-ImplicitRelativeIK-State",
    entry_point=ManagerBasedRLEnv,
    disable_env_checker=True,
    order_enforce=False,
    kwargs={
        "env_cfg_entry_point": ScenarioRelativeIKStateCfg,
    },
)

gym.register(
    id="LBM-Scenario-ImplicitRelativeIK-Vision",
    entry_point=ManagerBasedRLEnv,
    disable_env_checker=True,
    order_enforce=False,
    kwargs={
        "env_cfg_entry_point": ScenarioRelativeIKVisionCfg,
    },
)