Exemple #1
0
    // Вызвать это для окончания игры
    public void GameWin()
    {
        Debug.Log("GameWin");
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.GameWin();
        //level.GameWin(); //@TODO
        //UnityEngine.SceneManagement.SceneManager.LoadScene("you_won");
        // --------------
        CommonSingleton.clearStaff();
        CommonSingleton.level_index++;

        var objects = FindObjectsOfType <MouseDragAndDrop>();

        foreach (MouseDragAndDrop ob in objects)
        {
            if (!ob.dropped)
            {
                CommonSingleton.AddStaff(ob.gameObject.transform.position, ob.gameObject.transform.rotation, ob.gameObject.transform.name);
            }
        }

        if (CommonSingleton.level_index == 1)
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("title_before_2");
        }
        if (CommonSingleton.level_index == 2)
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("title_before_3");
        }
        //--------------------------
    }
Exemple #2
0
    public void ButtonBlowUp()
    {
        Debug.Log("ButtonBlowUp");
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.BlowUp();
        blowEnable           = false;
        soundBlowBallon.loop = false;
    }
Exemple #3
0
    void Start()
    {
        flyingBall = FindObjectOfType <FlyingBall>();

        if (flyingBall == null)
        {
            Debug.Log("EROR: did not find flyingBall object.");
        }
        //GameObject.Find("FlyingBall").GetComponent<FlyingBall>();
    }
Exemple #4
0
    public void ButtonBlowDown()
    {
        Debug.Log("ButtonBlowDown");
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.BlowDown();
        blowEnable           = true;
        soundBlowBallon.loop = true;
        soundBlowBallon.Play();
    }
Exemple #5
0
    private void EventEnd()
    {
        SpriteRenderer blowButton_sr = blowButton.GetComponent <SpriteRenderer>();

        blowButton_sr.sprite = Resources.Load <Sprite>("elementStone011");
        blowButton.enabled   = true;
        isEnable             = false;
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.BlowUp();
    }
Exemple #6
0
    // Вызвать это для окончания игры
    public void GameOver()
    {
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.GameOver();
        //level.GameOver(); //@TODO
        if (CommonSingleton.level_index == 0)
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("game_over_1");
        }
        if (CommonSingleton.level_index == 1)
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("game_over_2");
        }
    }
Exemple #7
0
    private void EventEnd()
    {
        //SpriteRenderer blowButton_sr = blowButton.GetComponent<SpriteRenderer>();
        //blowButton_sr.sprite = Resources.Load<Sprite>("elementStone011");
        //blowButton.enabled = true;
        var main = fire_ps.main;

        main.maxParticles = 6;
        fire_ps.Play();
        isEnable = false;
        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.BlowUpLight();
        InspectorObject inspector = FindObjectOfType <InspectorObject>();

        inspector.setNightNoLight(false);
    }
Exemple #8
0
    void OnTriggerEnter2D(Collider2D col)
    {
        flyingBall = FindObjectOfType <FlyingBall>();
        Debug.Log(col.gameObject.name + " : " + gameObject.name + " : " + Time.time);
        MouseDragAndDrop go = col.gameObject.GetComponent <MouseDragAndDrop>();

        go.dropped  = true;
        go.dragging = false;

        if (go.rigidBody1 != null)
        {
            flyingBall.dropObject(go.rigidBody1.mass);
            Debug.Log(go.rigidBody1.mass);
        }
        InspectorObject inspector = FindObjectOfType <InspectorObject>();

        inspector.dropObject(go.rigidBody1.mass);
    }
Exemple #9
0
 public void EventStart()
 {
     Debug.Log("EventLighter Start");
     //SpriteRenderer blowButton_sr = blowButton.GetComponent<SpriteRenderer>();
     //blowButton_sr.sprite = Resources.Load<Sprite>("elementStone054");
     //blowButton.enabled = false;
     if (!isEnable)
     {
         var main = fire_ps.main;
         main.maxParticles = 0;
         fire_ps.Stop();
         isEnable = true;
         FlyingBall flyingBall = FindObjectOfType <FlyingBall>();
         flyingBall.BlowDownLight();
         InspectorObject inspector = FindObjectOfType <InspectorObject>();
         inspector.setNightNoLight(true);
     }
 }
Exemple #10
0
    public void GenerateLevel3(float startShift, float deltaX, float gateHeight, int gatesCount, int probabilityGates)
    {
        Color objectsColor = new Color(0.6f, 0.6f, 0.7f, 1.0f);

        //SetColorOfObjects(new Color(0.2f, 0.2f, 0.2f, 1.0f));
        isNight        = true;
        isNightNoLight = false;
        objectsColor   = new Color(0.6f, 0.6f, 0.6f, 1.0f);
        SetColorOfObjects(objectsColor);

        FlyingBall flyingBall = FindObjectOfType <FlyingBall>();

        flyingBall.GetComponent <SpriteRenderer>().color = objectsColor;

        background.GetComponent <SpriteRenderer>().color = objectsColor;

        // Трава
        Renderer level1layer1r     = level1layer1.GetComponent <Renderer>();
        float    level1layer1width = level1layer1r.bounds.size.x;

        for (int i = 0; i < 4.0 * (gatesCount + 2) * deltaX / level1layer1width; i++)
        {
            float      cur_x            = -startShift + i * level1layer1width;
            float      cur_y            = level1layer1r.bounds.size.y;
            GameObject cur_level1layer1 = Instantiate <GameObject>(level1layer1);
            cur_level1layer1.GetComponent <SpriteRenderer>().color = objectsColor;
            Level1 cur_level1layer1_script = cur_level1layer1.GetComponent <Level1>();
            cur_level1layer1_script.SetPosition(cur_x, -10.0f + cur_y * 0.5f, 0.0f);
            cur_level1layer1_script.xShift = 0.04f * 2.0f;
        }
        // Небо
        Renderer level1layer2r     = level1layer2up.GetComponent <Renderer>();
        float    level1layer2width = level1layer2r.bounds.size.x;

        for (int i = 0; i < (gatesCount + 2) * deltaX / level1layer1width; i++)
        {
            float      cur_x            = -startShift + i * level1layer2width;
            float      cur_y            = level1layer2r.bounds.size.y;
            GameObject cur_level1layer2 = Instantiate <GameObject>(level1layer2up);
            cur_level1layer2.GetComponent <SpriteRenderer>().color = objectsColor;
            Level1 cur_level1layer2_script = cur_level1layer2.GetComponent <Level1>();
            cur_level1layer2_script.SetPosition(cur_x, 10.0f - cur_y * 0.5f, 0.0f);
            cur_level1layer2_script.xShift = 0.04f * 0.5f;
        }

        int centerPhaseGates = 0;

        for (int i = 0; i < gatesCount; i++)
        {
            float cur_x = startShift + i * deltaX;
            //GameObject cur_brik_border_up = Instantiate<GameObject>(brikBorder);
            //Level1 cur_brik_border_instance_up = cur_brik_border_up.GetComponent<Level1>();
            //cur_brik_border_instance_up.SetPosition(cur_x, 11.0f, 0.0f);
            //cur_brik_border_instance_up.xShift = 0.04f;

            if (Random.Range(0, 99) > probabilityGates)
            {
                continue;
            }

            float cur_h_add = Random.Range(-4.0f, 0.0f) - 3.0f * Mathf.Sin(i * 0.4f) - 1.0f;
            float cur_x_add = Random.Range(-deltaX * 0.2f, deltaX * 0.2f);
            //if(brik == null)
            //{
            //    Debug.Log("Brick"+i+" : cur_x = "+ cur_x + "; cur_y = "+ cur_y);
            //}

            // Маленькие деревья
            float      curS_h_add     = Random.Range(-6.0f, 0.0f) - 4.0f;
            float      curS_x_add     = Random.Range(-deltaX * 0.8f, deltaX * 0.8f);
            GameObject cur_pineS_down = null;
            switch (Random.Range(0, 3))
            {
            case 0:
                cur_pineS_down = Instantiate <GameObject>(level1pine1);
                break;

            case 1:
                cur_pineS_down = Instantiate <GameObject>(level1pine2);
                break;

            case 2:
                cur_pineS_down = Instantiate <GameObject>(level1pine3);
                break;
            }
            cur_pineS_down.GetComponent <SpriteRenderer>().color = objectsColor;
            Renderer cur_pineS_down_r        = cur_pineS_down.GetComponent <Renderer>();
            float    pineS_cur_y             = cur_pineS_down_r.bounds.size.y;
            Level1   cur_pineS_instance_down = cur_pineS_down.GetComponent <Level1>();
            cur_pineS_instance_down.SetPosition(cur_x + curS_x_add, -10.0f + pineS_cur_y * 0.5f + curS_h_add, 0.0f);
            cur_pineS_instance_down.xShift = 0.04f;

            if (i % 2 == 0 && (Random.Range(0, 100) < 20))
            {
                centerPhaseGates = 10;
            }
            if (centerPhaseGates > 0)
            {
                centerPhaseGates--;
            }
            if (centerPhaseGates == 0)
            {
                // Большие деревья
                if (Random.Range(0, 100) < probabilityGates)
                {
                    GameObject cur_brik_down = null;
                    switch (Random.Range(0, 3))
                    {
                    case 0:
                        cur_brik_down = Instantiate <GameObject>(level1pine1);
                        break;

                    case 1:
                        cur_brik_down = Instantiate <GameObject>(level1pine2);
                        break;

                    case 2:
                        cur_brik_down = Instantiate <GameObject>(level1pine3);
                        break;
                    }
                    cur_brik_down.GetComponent <SpriteRenderer>().color = objectsColor;
                    Renderer cur_brik_down_r        = cur_brik_down.GetComponent <Renderer>();
                    float    cur_y                  = cur_brik_down_r.bounds.size.y;
                    Level1   cur_brik_instance_down = cur_brik_down.GetComponent <Level1>();
                    cur_brik_instance_down.SetPosition(cur_x + cur_x_add, -10.0f + cur_y * 0.5f + cur_h_add, 0.0f);
                    cur_brik_instance_down.xShift = 0.04f;
                    // Облака
                    if (Random.Range(0, 100) < 100)
                    {
                        int j = 0;
                        while (true)
                        {
                            float      cur_x_add2     = Random.Range(-2.0f, 2.0f);
                            GameObject cur_cloud_down = null;
                            switch (Random.Range(0, 3))
                            {
                            case 0:
                                cur_cloud_down = Instantiate <GameObject>(level1clouds1);
                                break;

                            case 1:
                                cur_cloud_down = Instantiate <GameObject>(level1clouds2);
                                break;

                            case 2:
                                cur_cloud_down = Instantiate <GameObject>(level1clouds3);
                                break;
                            }
                            SpriteRenderer[] allChildren = cur_cloud_down.GetComponentsInChildren <SpriteRenderer>();
                            foreach (SpriteRenderer child in allChildren)
                            {
                                SpriteRenderer sr = child.GetComponent <SpriteRenderer>();
                                sr.color = objectsColor;
                                // do what you want with the transform
                            }
                            Renderer cur_cloud_down_r      = cur_cloud_down.GetComponentInChildren <Renderer>();
                            float    cloud_h               = cur_cloud_down_r.bounds.size.y;
                            Level1   cur_cloud_down_level1 = cur_cloud_down.GetComponent <Level1>();
                            cur_cloud_down_level1.SetPosition(cur_x + cur_x_add + cur_x_add2, -10.0f + cur_y * 1.0f + cloud_h * (j * 1.1f + 0.5f) + gateHeight * 1.2f + cur_h_add, 0.0f);
                            cur_cloud_down_level1.xShift = 0.04f;
                            if (-10.0f + cur_y * 1.0f + cloud_h * (j * 1.1f + 0.5f) + gateHeight * 1.2f + cur_h_add > 10.0f - cloud_h)
                            {
                                break;
                            }
                            j++;
                        }
                    }
                }
                else
                {
                    //GameObject cur_brik_center = Instantiate<GameObject>(brik2);
                    //Level1 cur_brik2_instance = cur_brik_center.GetComponent<Level1>();
                    //cur_brik2_instance.SetPosition(cur_x, cur_y - cur_h_add, 0.0f);
                    //cur_brik2_instance.xShift = 0.04f;
                }
            }
            if (centerPhaseGates >= 7)
            {
                // Высокие деревья
                float      cur_h_add2    = Random.Range(-4.0f, 0.0f);
                GameObject cur_brik_down = null;
                switch (Random.Range(0, 3))
                {
                case 0:
                    cur_brik_down = Instantiate <GameObject>(level1pine1);
                    break;

                case 1:
                    cur_brik_down = Instantiate <GameObject>(level1pine2);
                    break;

                case 2:
                    cur_brik_down = Instantiate <GameObject>(level1pine3);
                    break;
                }
                cur_brik_down.GetComponent <SpriteRenderer>().color = objectsColor;
                Renderer cur_brik_down_r        = cur_brik_down.GetComponent <Renderer>();
                float    cur_y                  = cur_brik_down_r.bounds.size.y;
                Level1   cur_brik_instance_down = cur_brik_down.GetComponent <Level1>();
                cur_brik_instance_down.SetPosition(cur_x + cur_x_add, -10.0f + cur_y * 0.5f + cur_h_add2, 0.0f);
                cur_brik_instance_down.xShift = 0.04f;
            }

            if (centerPhaseGates == 6)
            {
                // выключаем горелку
                float             cur_x_add2             = Random.Range(-2.0f, 2.0f);
                GameObject        cur_event_loader       = Instantiate <GameObject>(level2eventLighter);
                EventLighterStart cur_event_loader_event = cur_event_loader.GetComponent <EventLighterStart>();
                cur_event_loader_event.SetPosition(cur_x + cur_x_add + cur_x_add2, 2.0f + cur_h_add * 0.5f, 0.0f);
                cur_event_loader_event.xShift = 0.04f;
            }
        }

        float      win_x            = startShift + (gatesCount - 1) * deltaX;
        GameObject cur_win          = Instantiate <GameObject>(winBorder);
        WinBorder  cur_win_instance = cur_win.GetComponent <WinBorder>();

        cur_win_instance.SetPosition(win_x, 0.0f, 0.0f);
        cur_win_instance.xShift = 0.04f;
    }