// Spawn Trampline or something else private void TrampolineSpawn(int PositionWidth) { if ((LevelSelected == Levels.WithTrampo || LevelSelected == Levels.SpawnWithTrampline) && LastLenghtPos == 20) // Events When function need work { foreach (GameObject Trampoline in OS.Trampolines) // Trampline Spawn { if (!Trampoline.active) { int TramplineSpawnPos = row - (WidthRandSave + PositionWidth); Vector3 GetPosition = PlatformScript.PositionMesh[LastLenghtPos, TramplineSpawnPos]; Trampoline.transform.SetParent(PlatformScript.gameObject.transform); Trampoline.transform.localPosition = GetPosition; Trampoline.transform.position = new Vector3(Trampoline.transform.position.x, 0, Trampoline.transform.position.z); Trampoline.SetActive(true); WidthRandSave = -1; LastLenghtPos++; SpawnThree++; break; } } } else if (LevelSelected == Levels.WithTrampo && LastLenghtPos != 20) { int TramplineSpawnPos = row - (WidthRandSave + PositionWidth); Vector3 GetPosition = PlatformScript.PositionMesh[LastLenghtPos, TramplineSpawnPos]; GameObject obj = OS.SpawnObjWithTrampo(); obj.transform.localPosition = GetPosition; obj.transform.position = new Vector3(obj.transform.position.x, 3, obj.transform.position.z); } }
public void SpawnWithTrampline(GameObject Box) { LevelSelected = Levels.SpawnWithTrampline; if (LastLenghtPos < PlatformScript.GetLength()) { if (LastLenghtPos == 20) { TwoInARow(Box, false); if (WidthRandSave == -1) { LastLenghtPos += 4; // Спавнить кубики через десять (Например) PositionHorizontal = 1; } } else if (LastLenghtPos >= 24) { if (randPos != -1) { Vector3 GetPositionLeft = PlatformScript.PositionMesh[LastLenghtPos, randPos]; Box.transform.localPosition = GetPositionLeft; randPos = -1; } else { switch (PositionHorizontal) { case 0: Vector3 GetPositionLeft = PlatformScript.PositionMesh[LastLenghtPos, PositionHorizontal]; Box.transform.localPosition = GetPositionLeft; if (Obst == 0) { randPos = Random.Range(1, 3); Obst = 2; } else { Obst--; } LastLenghtPos += 1; // Спавнить кубики через десять (Например) break; case 1: Vector3 GetPositionCentr = PlatformScript.PositionMesh[LastLenghtPos, PositionHorizontal]; Box.transform.localPosition = GetPositionCentr; LastLenghtPos += 1; // Спавнить кубики через десять (Например) break; case 2: Vector3 GetPositionRight = PlatformScript.PositionMesh[LastLenghtPos, PositionHorizontal]; Box.transform.localPosition = GetPositionRight; if (Obst == 0) { randPos = Random.Range(0, 2); Obst = 2; } else { Obst--; } LastLenghtPos += 1; // Спавнить кубики через десять (Например) break; default: break; } } BoxPlatform--; if (BoxPlatform == 1) { foreach (GameObject Trampoline in OS.Trampolines) // Trampline Spawn { if (!Trampoline.active) { Vector3 GetPosition = PlatformScript.PositionMesh[LastLenghtPos, PositionHorizontal]; GetPosition.y = 2; Trampoline.transform.SetParent(PlatformScript.gameObject.transform); Trampoline.transform.localPosition = GetPosition; //Trampoline.transform.position = new Vector3(Trampoline.transform.position.x, 0, Trampoline.transform.position.z); Trampoline.SetActive(true); break; } } } if (BoxPlatform == 0) { PositionHorizontal = Random.Range(0, 3); BoxPlatform = 10; LastLenghtPos += 4; } } } }