protected ObstaclesManager.PlaceHolder GetObstaclePlaceholder(SerializedObstaclePlaceholder sPlaceholder) { ObstaclesManager.PlaceHolder placeholder = new ObstaclesManager.PlaceHolder(); placeholder.token = tokenByName[sPlaceholder.tokenName]; placeholder.position = new Vector3(sPlaceholder.position[0], sPlaceholder.position[1], sPlaceholder.position[2]); placeholder.item = obstacleManager.ObstacleItemsByName[sPlaceholder.itemName]; return(placeholder); }
protected SerializedObstaclePlaceholder GetSerializedObstaclePlaceholder(ObstaclesManager.PlaceHolder placeholder) { SerializedObstaclePlaceholder sPlaceholder = new SerializedObstaclePlaceholder(); sPlaceholder.tokenName = placeholder.token.name; sPlaceholder.position[0] = placeholder.position.x; sPlaceholder.position[1] = placeholder.position.y; sPlaceholder.position[2] = placeholder.position.z; sPlaceholder.itemName = placeholder.item.obstacle.name; return(sPlaceholder); }
public void LoadDataStructures() { int crossesNum = environmentManager.Crosses.Count; crosses = new SerializedRoad[crossesNum]; for (int i = 0; i < crossesNum; i++) { crosses[i] = GetSerializedRoad(environmentManager.Crosses[i]); } int vRoadsNum = environmentManager.VerticalRoads.Count; vRoadsArray = new SerializedRoad[vRoadsNum]; for (int i = 0; i < vRoadsNum; i++) { vRoadsArray[i] = GetSerializedRoad(environmentManager.VerticalRoads[i]); } int hRoadsNum = environmentManager.HorizontalRoads.Count; hRoadsArray = new SerializedRoad[hRoadsNum]; for (int i = 0; i < hRoadsNum; i++) { hRoadsArray[i] = GetSerializedRoad(environmentManager.HorizontalRoads[i]); } int buildingsNum = environmentManager.Buildings.Count; buildings = new SerializedBuilding[buildingsNum]; for (int i = 0; i < buildingsNum; i++) { buildings[i] = GetSerializedBuilding(environmentManager.Buildings[i]); } int borderBuildingsNum = environmentManager.BorderBuildings.Count; borderBuildings = new SerializedBuilding[borderBuildingsNum]; for (int i = 0; i < borderBuildingsNum; i++) { borderBuildings[i] = GetSerializedBuilding(environmentManager.BorderBuildings[i]); } //obstaclePlaceholdersList = new SerializedObstaclePlaceholder[GameplayManager.LevelCount][]; //for (int j = 0; j < GameplayManager.LevelCount; j++) obstaclePlaceholdersList = new SerializedObstaclePlaceholder[gameplayManager.GetLevelCount()][]; for (int j = 0; j < gameplayManager.GetLevelCount(); j++) { int placeholderNum = obstacleManager.ObstaclesPositionsList[j].Count; obstaclePlaceholdersList[j] = new SerializedObstaclePlaceholder[placeholderNum]; for (int i = 0; i < placeholderNum; i++) { obstaclePlaceholdersList[j][i] = GetSerializedObstaclePlaceholder(obstacleManager.ObstaclesPositionsList[j][i]); } } floors = environmentManager.FloorList.ToArray(); hTowerCoord = environmentManager.HTowerCoord; vTowerCoord = environmentManager.VTowerCoord; hRoads = environmentManager.HRoads; vRoads = environmentManager.VRoads; cityHeight = environmentManager.CityHeight; cityWidth = environmentManager.CityWidth; roadTextureId = environmentManager.RoadTextureId; int dayLightNum = environmentManager.isDayLight.Count; daylight = new bool[dayLightNum]; for (int i = 0; i < dayLightNum; i++) { daylight[i] = environmentManager.isDayLight[i]; } int obstacleVolumesNum = obstacleManager.volumesByLevel.Count; obstacleVolumes = new int[obstacleVolumesNum]; for (int i = 0; i < obstacleVolumesNum; i++) { obstacleVolumes[i] = obstacleManager.volumesByLevel[i]; } int obstClassesNum = obstacleManager.levelConfigs[0].obstacleAlphas.Count; obstClasses = new string[obstClassesNum]; int c = 0; foreach (string key in obstacleManager.levelConfigs[0].obstacleAlphas.Keys) { obstClasses[c] = key; c++; } int obstLevelNum = obstacleManager.levelConfigs.Count; obstAlphas = new float[obstLevelNum][]; obstSpeeds = new float[obstLevelNum][]; for (int i = 0; i < obstLevelNum; i++) { int obstacleAlphasNum = obstacleManager.levelConfigs[i].obstacleAlphas.Count; obstAlphas[i] = new float[obstacleAlphasNum]; obstSpeeds[i] = new float[obstacleAlphasNum]; for (int j = 0; j < obstacleAlphasNum; j++) { obstAlphas[i][j] = obstacleManager.levelConfigs[i].obstacleAlphas[obstClasses[j]]; if (obstacleManager.levelConfigs[i].obstacleSpeeds.ContainsKey(obstClasses[j])) { obstSpeeds[i][j] = obstacleManager.levelConfigs[i].obstacleSpeeds[obstClasses[j]]; } else { obstSpeeds[i][j] = 0.0f; } } } int pedNum = environmentManager.totalPedestrians.Count; pedestrians = new int[pedNum]; for (int i = 0; i < pedNum; i++) { pedestrians[i] = environmentManager.totalPedestrians[i]; } int targetsNum = gameplayManager.targetNumByLevel.Count; targets = new int[targetsNum]; for (int i = 0; i < targetsNum; i++) { targets[i] = gameplayManager.targetNumByLevel[i]; } //Denis int levelCount = gameplayManager.GetLevelCount(); int targetCount = targets[0]; levelsTargets = new int[levelCount, targetCount]; levelsGates = new int[levelCount, targetCount]; //Debug.Log("@@@@@ START NEW PARTS IN LoadDataStructures levelCount = " + levelCount); for (int i = 0; i < levelCount; i++) { for (int k = 0; k < targetCount; k++) { if (gameplayManager.TargetIndexStack.Count > 0) { levelsTargets[i, k] = gameplayManager.TargetIndexStack.Pop(); } else { if (k < targetCount - 1) { Debug.Log("targetCount: " + targetCount + ", levelCount " + levelCount + ", " + gameplayManager.TargetIndexStack.Count); interfaces.SetTfSessionResult(true, "Error processing XML. Please try again", false); interfaces.SetTfSaveResult(false); interfaces.DisableSaveButton(); } } //levelsGates[i,k] = gameplayManager.GateIndexStack.Pop(); //Debug.Log("@@@@@ levelsTargets["+ i +"][" + k + "] = " + levelsTargets[i,k]); } } //End Denis //show target on map int showTargetsNum = gameplayManager.showOnMapByLevel.Count; showTargets = new bool[showTargetsNum]; for (int i = 0; i < showTargetsNum; i++) { showTargets[i] = gameplayManager.showOnMapByLevel[i]; } int showMapssNum = gameplayManager.showMapByLevel.Count; showMaps = new bool[showMapssNum]; for (int i = 0; i < showMapssNum; i++) { showMaps[i] = gameplayManager.showMapByLevel[i]; } learningEnabled = gameplayManager.learningPhase; learningMap = gameplayManager.mapOnLearning; learningTarget = gameplayManager.targetOnLearning; //Debug.LogWarning("learningEnabled: " + learningEnabled); }