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 Починить, выключает весь префаб, при перезапуске нет шаров } }
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); }
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); } }
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); } }
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)); } } }
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 Починить, выключает весь префаб, при перезапуске нет шаров } }
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); }
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)); } } }