Skip to content

Commit a4c985f

Browse files
committed
init petting_zoo registry
1 parent 47a4719 commit a4c985f

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

pettingzoo-unity/pettingzoo_unity/__init__.py

+5
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,10 @@
66

77
try:
88
from .pettingzoo_wrapper import UnityToPettingZooWrapper # noqa
9+
import pettingzoo_unity.envs
910
except ImportError:
1011
pass
12+
13+
14+
15+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from mlagents_envs.registry import default_registry
2+
from pettingzoo_unity import UnityToPettingZooWrapper
3+
from typing import Optional
4+
from mlagents_envs.exception import UnityWorkerInUseException
5+
6+
class petting_zoo_env:
7+
def __init__(self, env_id):
8+
self.env_id = env_id
9+
def env(self, seed: Optional[int] = None, **kwargs):
10+
def make_env(seed: Optional[int] = None, **kwargs): # some args here
11+
_env = None
12+
if "base_port" not in kwargs:
13+
port = 6000
14+
while _env is None:
15+
print(f"*** increasing port: {port}")
16+
try:
17+
kwargs["base_port"] = port
18+
_env = default_registry[self.env_id].make(**kwargs)
19+
except UnityWorkerInUseException:
20+
port += 1
21+
pass
22+
else:
23+
print(kwargs["base_port"])
24+
_env = default_registry[self.env_id].make(**kwargs)
25+
return UnityToPettingZooWrapper(_env, seed)
26+
27+
return make_env()
28+
29+
30+
for key in default_registry:
31+
#todo: proper value name 3dball not accepted
32+
locals()[key] = petting_zoo_env(key)

0 commit comments

Comments
 (0)