Example #1
0
    // 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);
        }
    }
Example #2
0
    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;
                }
            }
        }
    }