Ejemplo n.º 1
0
    private static void DamageGashapon(Gashapon gashapon)
    {
        gashapon.health--;
        if (gashapon.health > 0)
        {
            //gashapon.gameObject.GetComponent<RawImage>().texture = new Texture().
            damageGashaponObject.SetActive(true);
        }
        else
        {
            breakGashaponObject.SetActive(true);
            gashapon.gameObject.SetActive(false);
            formulaPanelObject.SetActive(false);
            variablesPanel2ElemObject.SetActive(false);
            variablesPanel3ElemObject.SetActive(false);
            box2Elem.SetActive(false);
            box3Elem.SetActive(false);
            Box2Elements.SetActive(false);
            Box3Elements.SetActive(false);
            PoolGashapons.SetActive(true);
            mainBottomInventoryPanel.SetActive(true);
            mainBottomTaskPanel.SetActive(false);
            variablesWatchPanel.SetActive(false);

            HaveTaskOnSolve = false;
            //    ShowGashapons();

            //  gashapon.gameObject.SetActive(false); TODO Починить, выключает весь префаб, при перезапуске нет шаров
        }
    }
Ejemplo n.º 2
0
    public static void OpenTaskWindow(Gashapon gashapon)
    {
        gashapon.task ??= Task.GetNextTask();
        taskText.text = gashapon.task.Text;

        //variablesPanelObject.GetComponent<GridLayoutGroup>().constraint = GridLayoutGroup.Constraint.FixedColumnCount;
        //  Добавить динамический выбор количества и размера для кнопок у переменных в задании

        taskPanelObject.SetActive(true);
        formulaPanelObject.SetActive(true);

        for (var i = 0; i < formulaButtons.Length; i++)
        {
            formulaButtons[i].onClick.RemoveAllListeners();
            if (i == gashapon.task.FormulaId)
            {
                formulaButtons[i].onClick.AddListener(() => TaskNextStep(gashapon));
            }
            else
            {
                formulaButtons[i].onClick.AddListener(() => DamageGashapon(gashapon));
            }
        }

        SetVariablesButtons(gashapon, 0);

        formulaPanelObject.SetActive(false);
    }
Ejemplo n.º 3
0
 private static void TaskNextStep(Gashapon gashapon)
 {
     formulaPanelObject.SetActive(!formulaPanelObject.activeSelf);
     if (gashapon.task.NeededValues.Length == 2)
     {
         variablesPanel3ElemObject.SetActive(!variablesPanel3ElemObject.activeSelf);
     }
     else
     {
         variablesPanel2ElemObject.SetActive(!variablesPanel2ElemObject.activeSelf);
     }
 }
Ejemplo n.º 4
0
 private static void TaskNextStep(Gashapon gashapon)
 {
     formulaPanelObject.SetActive(!formulaPanelObject.activeSelf);
     variablesWatchPanel.SetActive(true);
     PoolGashapons.SetActive(false);
     Box3Elements.SetActive(!Box3Elements.activeSelf);
     if (gashapon.task.NeededValues.Length == 2)
     {
         variablesPanel3ElemObject.SetActive(!variablesPanel3ElemObject.activeSelf);
         Box3Elements.SetActive(!Box3Elements.activeSelf);
     }
     else
     {
         variablesPanel2ElemObject.SetActive(!variablesPanel2ElemObject.activeSelf);
         Box2Elements.SetActive(!Box2Elements.activeSelf);
     }
 }
Ejemplo n.º 5
0
    private static void SetVariablesButtons(Gashapon gashapon, int currentIndex)
    {
        var currentButtons = variables3ElemButtons;

        if (gashapon.task.NeededValues.Length == 1)
        {
            currentButtons = variables2ElemButtons;
        }

        if (gashapon.task.InputValues.Length == currentIndex)
        {
            toyWinPanelObject.SetActive(true);
            toyWinPanelObject.GetComponentInChildren <Image>().sprite = collectionToys.First(toy => toy.color == Color.black).sprite;
            variablesPanel2ElemObject.SetActive(false);
            variablesPanel3ElemObject.SetActive(false);
            gashapon.gameObject.SetActive(false);
            collectionToys.First(toy => toy.color == Color.black).color = Color.white;
            return;
        }

        foreach (var button in currentButtons)
        {
            button.onClick.RemoveAllListeners();
        }

        if (gashapon.task.NeededValues.Contains(gashapon.task.InputValues[currentIndex]))
        {
            currentButtons[currentButtons.Length - 1].onClick.AddListener(() => DamageGashapon(gashapon));
        }
        else
        {
            currentButtons[currentButtons.Length - 1].onClick.AddListener(() => SetVariablesButtons(gashapon, currentIndex + 1));
        }

        for (var i = 0; i < gashapon.task.NeededValues.Length; i++)
        {
            if (gashapon.task.InputValues[currentIndex] == gashapon.task.NeededValues[i])
            {
                currentButtons[i].onClick.AddListener(() => SetVariablesButtons(gashapon, currentIndex + 1));
            }
            else
            {
                currentButtons[i].onClick.AddListener(() => DamageGashapon(gashapon));
            }
        }
    }
Ejemplo n.º 6
0
    private static void DamageGashapon(Gashapon gashapon)
    {
        gashapon.health--;
        if (gashapon.health > 0)
        {
            //gashapon.gameObject.GetComponent<RawImage>().texture = new Texture().
            damageGashaponObject.SetActive(true);
        }
        else
        {
            breakGashaponObject.SetActive(true);
            gashapon.gameObject.SetActive(false);
            formulaPanelObject.SetActive(false);
            variablesPanel2ElemObject.SetActive(false);
            variablesPanel3ElemObject.SetActive(false);
            box2Elem.SetActive(false);
            box3Elem.SetActive(false);
            //    ShowGashapons();

            //  gashapon.gameObject.SetActive(false); TODO Починить, выключает весь префаб, при перезапуске нет шаров
        }
    }
Ejemplo n.º 7
0
    public static void OpenTaskWindow(Gashapon gashapon)
    {
        gashapon.task ??= Task.GetRandomTask(0);
        taskText.text      = gashapon.task.Text;
        taskWatchText.text = gashapon.task.Text;

        taskPanelObject.SetActive(true);
        formulaPanelObject.SetActive(true);

        foreach (var text in variablesWatchText)
        {
            text.text  = "";
            text.color = Color.black;
        }

        for (var i = 0; i < gashapon.task.InputValues.Length; i++)
        {
            variablesWatchText[i].text = gashapon.task.InputValues[i].ToString();
        }
        variablesWatchText.First().color = Color.white;

        for (var i = 0; i < formulaButtons.Length; i++)
        {
            formulaButtons[i].onClick.RemoveAllListeners();
            if (i == gashapon.task.FormulaId)
            {
                formulaButtons[i].onClick.AddListener(() => TaskNextStep(gashapon));
            }
            else
            {
                formulaButtons[i].onClick.AddListener(() => DamageGashapon(gashapon));
            }
        }

        SetVariablesButtons(gashapon, 0);

        formulaPanelObject.SetActive(false);
    }
Ejemplo n.º 8
0
    private static void SetVariablesButtons(Gashapon gashapon, int currentIndex)
    {
        var currentButtons = variables3ElemButtons;

        if (gashapon.task.NeededValues.Length == 1)
        {
            currentButtons = variables2ElemButtons;
        }

        if (gashapon.task.InputValues.Length == currentIndex)
        {
            toyWinPanelObject.SetActive(true);
            toyWinPanelObject.GetComponentInChildren <Image>().sprite =
                collectionToysImages.First(toy => toy.color == Color.black).sprite;

            toyWinPanelObject.GetComponentInChildren <Text>().text =
                collectionToysImages.First(toy => toy.color == Color.black).gameObject.name;

            variablesPanel2ElemObject.SetActive(false);
            variablesPanel3ElemObject.SetActive(false);
            gashapon.gameObject.SetActive(false);

            mainBottomInventoryPanel.SetActive(true);
            mainBottomTaskPanel.SetActive(false);
            variablesWatchPanel.SetActive(false);

            Box3Elements.SetActive(false);
            Box2Elements.SetActive(false);
            PoolGashapons.SetActive(true);
            HaveTaskOnSolve = false;
            collectionToysImages.First(toy => toy.color == Color.black).color = Color.white;
            return;
        }

        foreach (var button in currentButtons)
        {
            button.onClick.RemoveAllListeners();
        }

        for (var i = 0; i < gashapon.task.InputValues.Length; i++)
        {
            variablesWatchText[i].color = i == currentIndex ? Color.white : Color.black;
        }

        if (gashapon.task.NeededValues.Contains(gashapon.task.InputValues[currentIndex]))
        {
            currentButtons[currentButtons.Length - 1].onClick.AddListener(() => DamageGashapon(gashapon));
        }
        else
        {
            currentButtons[currentButtons.Length - 1].onClick.AddListener(() => SetVariablesButtons(gashapon, currentIndex + 1));
        }

        for (var i = 0; i < gashapon.task.NeededValues.Length; i++)
        {
            if (gashapon.task.InputValues[currentIndex] == gashapon.task.NeededValues[i])
            {
                currentButtons[i].onClick.AddListener(() => SetVariablesButtons(gashapon, currentIndex + 1));
            }
            else
            {
                currentButtons[i].onClick.AddListener(() => DamageGashapon(gashapon));
            }
        }
    }