File tree 2 files changed +37
-0
lines changed
pettingzoo-unity/pettingzoo_unity
2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change 6
6
7
7
try :
8
8
from .pettingzoo_wrapper import UnityToPettingZooWrapper # noqa
9
+ import pettingzoo_unity .envs
9
10
except ImportError :
10
11
pass
12
+
13
+
14
+
15
+
Original file line number Diff line number Diff line change
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 )
You can’t perform that action at this time.
0 commit comments