public void Awake() { _arenasParametersSideChannel = new ArenasParametersSideChannel(); _arenasConfigurations = new ArenasConfigurations(); _arenasParametersSideChannel.NewArenasParametersReceived += _arenasConfigurations.UpdateWithConfigurationsReceived; Academy.Instance.RegisterSideChannel(_arenasParametersSideChannel); Academy.Instance.OnEnvironmentReset += EnvironmentReset; }
public void Start() { _builder = new ArenaBuilder(gameObject, spawnedObjectsHolder, maxSpawnAttemptsForPrefabs, maxSpawnAttemptsForAgent); _arenasConfigurations = GameObject.FindObjectOfType <Academy>().arenasConfigurations; if (!_arenasConfigurations.configurations.TryGetValue(arenaID, out _arenaConfiguration)) { _arenaConfiguration = new ArenaConfiguration(prefabs); _arenasConfigurations.configurations.Add(arenaID, _arenaConfiguration); } agent = transform.FindChildWithTag("agent").GetComponent <Agent>(); _agentDecisionInterval = agent.agentParameters.numberOfActionsBetweenDecisions; }