/// <summary> /// This sets up environment and agents based on parameters given in inspector, or otherwise /// # these can be replaced by restart Env so long Initialise agents is accounted for /// </summary> public void InitDebugSetup() { var(tileLogicBuilder, gameParams) = GetTileLogicBuilderAndGameParamsDebug(); var tileLogic = GetTileLogicDebug(tileLogicBuilder); CreateEnv.PopulateEnv(tileLogic, _parentObjects, mapScale, materials); InitialiseAgents(gameParams); }
/// <summary> /// Resets environment and agent positions with given parameters, in the inspector or otherwise /// </summary> private void DebugRestart() { var(tileLogicBuilder, gameParams) = GetTileLogicBuilderAndGameParamsDebug(); ClearChildrenOf(envParent); var tileLogic = GetTileLogicDebug(tileLogicBuilder); CreateEnv.PopulateEnv(tileLogic, _parentObjects, mapScale, materials); SetAgentPosition(gameParams); }
/// <summary> /// Set up environment with parameters given by the specified curriculum /// </summary> private void InitCurrSetup() { Random rand = new Random(); var curriculumParam = randomiseParameters ? rand.Next(1, 11) : Academy.Instance.EnvironmentParameters.GetWithDefault(curriculum.ToString(), 1.0f); var(tileLogicBuilder, gameParams) = GetTileLogicBuilderAndGameParamsFromCurr(curriculumParam); var(tileLogic, gameParamMapScale) = GetTileLogicAndGameParamMapScaleCurr(tileLogicBuilder, gameParams); CreateEnv.PopulateEnv(tileLogic, _parentObjects, gameParamMapScale, materials); InitialiseAgents(gameParams); }
/// <summary> /// Resets the environment and agent positions with parameters from curriculum /// </summary> private void CurriculumRestart() { Random rand = new Random(); var curriculumParam = randomiseParameters ? rand.Next(1, 11) : Academy.Instance.EnvironmentParameters.GetWithDefault(curriculum.ToString(), 1.0f); var(tileLogicBuilder, gameParams) = GetTileLogicBuilderAndGameParamsFromCurr(curriculumParam); ClearChildrenOf(envParent); var(tileLogic, gameParamMapScale) = GetTileLogicAndGameParamMapScaleCurr(tileLogicBuilder, gameParams); CreateEnv.PopulateEnv(tileLogic, _parentObjects, gameParamMapScale, materials); SetAgentPosition(gameParams); }