void CreatePlatformsFromPositionInfo(PlatformPositionInfo[] platformPositionInfo, bool gameStarted) { for (int i = 0; i < platformPositionInfo.Length; i++) { PlatformPositionInfo positionInfo = platformPositionInfo[i]; if (positionInfo.platformType == PlatformType.None) { continue; } Vector3 platformPosition; //here we going to check if the game is started or not if (gameStarted) { platformPosition = new Vector3(distanceBetweenPlatforms * i, positionInfo.positionY, 0); } else { platformPosition = new Vector3(distanceBetweenPlatforms + platformLastPositionX, positionInfo.positionY, 0); } //save the platform position x for later use platformLastPositionX = platformPosition.x; Transform createBlock = (Transform)Instantiate(platformPrefab, platformPosition, Quaternion.identity); createBlock.parent = platformParent; if (positionInfo.hasMonster) { if (gameStarted) { platformPosition = new Vector3(distanceBetweenPlatforms * i, positionInfo.positionY + 0.1f, 0); } else { platformPosition = new Vector3(distanceBetweenPlatforms + platformLastPositionX, positionInfo.positionY + 0.1f, 0); } Transform createMonster = (Transform)Instantiate(monster, platformPosition, Quaternion.Euler(0, -90, 0)); createMonster.parent = monsterParent; } if (positionInfo.hasHealthCollectible) { if (gameStarted) { platformPosition = new Vector3(distanceBetweenPlatforms * i, positionInfo.positionY + Random.Range(healthCollectibleMinY, healthCollectiveMaxY), 0); } else { platformPosition = new Vector3(distanceBetweenPlatforms + platformLastPositionX, positionInfo.positionY + Random.Range(healthCollectibleMinY, healthCollectiveMaxY), 0); } Transform healthCollectible = (Transform)Instantiate(healthCollectable, platformPosition, Quaternion.identity); healthCollectible.parent = healthCollectableParent; } }// for loop }
void CreatePlatformFromPositionInfo(PlatformPositionInfo[] platformpositioninfo, bool gameStarted) { for (int i = 0; i < platformpositioninfo.Length; i++) { PlatformPositionInfo positionInfo = platformpositioninfo[i]; if (positionInfo.platformType == PlatformType.None) { continue; } //Position for platform Vector3 platformPosition;//x y z //check game started or NOT if (gameStarted) { platformPosition = new Vector3(distance_between_platforms * i, positionInfo.positionY, 0); } else { platformPosition = new Vector3(distance_between_platforms + platformLastPositionX, positionInfo.positionY, 0); } // Save platform position for later use platformLastPositionX = platformPosition.x; //create new game object prefab //Quat = Rotation Transform creatblock = (Transform)Instantiate(platformPrefab, platformPosition, Quaternion.identity); creatblock.parent = platform_parent; if (positionInfo.hasMonster) { if (gameStarted) { platformPosition = new Vector3(distance_between_platforms * i, positionInfo.positionY + 0.1f, 0); } else { platformPosition = new Vector3(distance_between_platforms + platformLastPositionX, positionInfo.positionY + 0.1f, 0); } Transform createMonster = (Transform)Instantiate(monster, platformPosition, Quaternion.Euler(0, -90, 0)); createMonster.parent = monster_parent; } if (positionInfo.hasHealthCollectable) { if (gameStarted) { platformPosition = new Vector3(distance_between_platforms * i, positionInfo.positionY + Random.Range(healthCollectable_MinY, healthCollectable_MaxY), 0); } else { platformPosition = new Vector3(distance_between_platforms + platformLastPositionX, positionInfo.positionY + Random.Range(healthCollectable_MinY, healthCollectable_MaxY), 0); } Transform createHealth = (Transform)Instantiate(health_Collectable, platformPosition, Quaternion.Euler(0, -90, 0)); createHealth.parent = healthCollectable_parent; } }//for loop }
public void GenerateLevel(bool gameStarted) { PlatformPositionInfo[] platformInfo = new PlatformPositionInfo[levelLenght]; for (int i = 0; i < platformInfo.Length; i++) { platformInfo [i] = new PlatformPositionInfo (PlatformType.None, -1f, false, false); } FillOutPositionInfo (platformInfo); CreatePlatformsFromPositionInfo(platformInfo,gameStarted); }
void CreatePlatformsFromPositionInfo(PlatformPositionInfo[] platformPositionInfo) { for (int i = 0; i < platformPositionInfo.Length; i++) { PlatformPositionInfo positionInfo = platformPositionInfo[i]; if (positionInfo.platformType == PlatformType.None) { continue; } Vector3 platformPosiiton = new Vector3(distance_between_platforms * i, positionInfo.positionY, 0); Transform createBlock = (Transform)Instantiate(platformPrefab, platformPosiiton, Quaternion.identity); createBlock.parent = platform_parent; // if current block has a collectable and if block has a monster } }
void CreatePlatformsFromPositionInfo(PlatformPositionInfo[] platformPositionInfo, bool gameStarted) { for (int i = 0; i < platformPositionInfo.Length; i++) { PlatformPositionInfo positionInfo = platformPositionInfo [i]; // In c#, we can store the enement at the current index in another variable. Eg we stored platformPositionINfo[i] in PositionInfo if (positionInfo.platfromType == PlatformType.None) { continue; } Vector3 platformPosition; if (gameStarted) { platformPosition = new Vector3 (distance_between_platforms * i, positionInfo.positionY, 0); } else { platformPosition = new Vector3 (distance_between_platforms +platformLastPositionX, positionInfo.positionY, 0); } // save the platform position x for later use platformLastPositionX = platformPosition.x; Transform createBlock = (Transform)Instantiate (platformPrefab, platformPosition, Quaternion.identity); //Instantiate is used to create an object. The first parameter has the frefab for the object, second has the position, and third has the rotations //Quaternion.identity refers to zero rotation //we are using Type casting here to only get the transform createBlock.parent = platform_parent; //Groups all the objjects together if (positionInfo.hasMonster) { if (positionInfo.hasMonster) { if (gameStarted) { platformPosition = new Vector3(distance_between_platforms * i, positionInfo.positionY + 0.1f, 0); } else { platformPosition = new Vector3(distance_between_platforms + platformLastPositionX, positionInfo.positionY, 0); } Transform createMonster = (Transform)Instantiate(monster, platformPosition, Quaternion.Euler(0,-90,0)); createMonster.parent = monster_parent; } } if (positionInfo.hasHealthCollectable) { if (gameStarted) { platformPosition = new Vector3(distance_between_platforms * i, positionInfo.positionY + Random.Range(healthCollectable_MinY, healthCollectable_MaxY), 0); } else { platformPosition = new Vector3(distance_between_platforms + platformLastPositionX, positionInfo.positionY + Random.Range(healthCollectable_MinY, healthCollectable_MaxY), 0); } Transform createHealthCollectable = (Transform)Instantiate(health_Collectable, platformPosition, Quaternion.identity); createHealthCollectable.parent = healthCollectable_parent; } } // for loop }