from gym.envs.registration import register
import os


register(
    id='Sprites-v0',
    entry_point='core.rl.envs.sprites:SpritesEnv',
    kwargs={'n_distractors': 0}
)

register(
    id='Sprites-v1',
    entry_point='core.rl.envs.sprites:SpritesEnv',
    kwargs={'n_distractors': 1}
)

register(
    id='Sprites-v2',
    entry_point='core.rl.envs.sprites:SpritesEnv',
    kwargs={'n_distractors': 2}
)

register(
    id='SpritesNatural-v0',
    entry_point='core.rl.envs.sprites:SpritesNaturalEnv',
    kwargs={'n_distractors': 0, 'background_path':'./core/data/ktti/2011_09_29/2011_09_29_drive_0071_sync/image_02/data'}
)

register(
    id='SpritesRepel-v0',
    entry_point='core.rl.envs.sprites:SpritesRepelEnv',
    kwargs={'n_distractors': 0}
)

register(
    id='SpritesRepel-v1',
    entry_point='core.rl.envs.sprites:SpritesRepelEnv',
    kwargs={'n_distractors': 1}
)

register(
    id='SpritesRepel-v2',
    entry_point='core.rl.envs.sprites:SpritesRepelEnv',
    kwargs={'n_distractors': 2}
)


register(
    id='SpritesState-v0',
    entry_point='core.rl.envs.sprites:SpritesStateEnv',
    kwargs={'n_distractors': 0}
)

register(
    id='SpritesState-v1',
    entry_point='core.rl.envs.sprites:SpritesStateEnv',
    kwargs={'n_distractors': 1}
)


register(
    id='SpritesState-v2',
    entry_point='core.rl.envs.sprites:SpritesStateEnv',
    kwargs={'n_distractors': 2}
)


register(
    id='SpritesRepelState-v0',
    entry_point='core.rl.envs.sprites:SpritesRepelStateEnv',
    kwargs={'n_distractors': 0}
)

register(
    id='SpritesRepelState-v1',
    entry_point='core.rl.envs.sprites:SpritesRepelStateEnv',
    kwargs={'n_distractors': 1}
)

register(
    id='SpritesRepelState-v2',
    entry_point='core.rl.envs.sprites:SpritesRepelStateEnv',
    kwargs={'n_distractors': 2}
)

register(
    id="VizdoomD4Battle-v0",
    entry_point='core.rl.envs.vizdoom:D4BattleDoomEnv',
)

register(
    id="VizdoomD3Battle-v0",
    entry_point='core.rl.envs.vizdoom:D3BattleDoomEnv',
)

register(
    id="VizdoomD2Navigation-v0",
    entry_point='core.rl.envs.vizdoom:D2NavigationDoomEnv'
)

register(
    id="VizdoomD2NavigationState-v0",
    entry_point='core.rl.envs.vizdoom:D2NavigationDoomStateEnv'
)


register(
    id="VizdoomD3BattleState-v0",
    entry_point='core.rl.envs.vizdoom:D3BattleDoomStateEnv',
)



register(
    id="VizdoomD1Basic-v0",
    entry_point='core.rl.envs.vizdoom:D1BasicDoomEnv'
)
register(
    id="VizdoomBasic-v0",
    entry_point='core.rl.envs.vizdoom:BasicDoomEnv'
)

register(
    id='alfred-v0',
    entry_point='core.rl.envs.alfred:AlfredEnv',
    kwargs={}
)
register(
    id='alfred-simple-v0',
    entry_point='core.rl.envs.alfred:AlfredSimpleEnv',
    kwargs={}
)

register(
    id='carla-v0',
    entry_point='core.rl.envs.carla:CarlaEnv',
    kwargs={}
)

register(
    id='carla-state-v0',
    entry_point='core.rl.envs.carla:CarlaStateEnv',
    kwargs={}
)

register(
    id='carla-segmentation-v0',
    entry_point='core.rl.envs.carla:CarlaSegmentationEnv',
    kwargs={}
)

register(
    id='distracting-carla-v0',
    entry_point='core.rl.envs.carla:DistractingCarlaEnv',
    kwargs={}
)
