示例#1
0
    public void Awake()
    {
        _arenasParametersSideChannel = new ArenasParametersSideChannel();
        _arenasConfigurations        = new ArenasConfigurations();

        _arenasParametersSideChannel.NewArenasParametersReceived += _arenasConfigurations.UpdateWithConfigurationsReceived;

        Academy.Instance.RegisterSideChannel(_arenasParametersSideChannel);
        Academy.Instance.OnEnvironmentReset += EnvironmentReset;
    }
示例#2
0
 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;
 }