private void Awake() { //enableToggleListener = false; layerList = new List <GameObject>(); btnList = new List <GameObject>(); barList = new List <GameObject>(); presetList = new List <GameObject>(); cardList = new List <GameObject>(); marionetteToggles = new List <Toggle>(); drawingToggles = new List <Toggle>(); goodToggles = new List <Toggle>(); btnToCp = new Dictionary <Button, CardPreset>(); cardPreview = GameObject.Find("Canvas/Background/CardContainer/CardPreview"); innerEditWrapper = GameObject.Find("Canvas/Background/InnerEditWrapper"); presetBtn = GameObject.Find("Canvas/Background/BottomMask/BottomPanel/ButtonPrep").GetComponent <Button>(); GameObject cardTypeCounter = GameObject.Find("Canvas/Background/InnerEditWrapper/CardTypeCounter"); cardTypeCounter_tmps = new List <TextMeshProUGUI>(cardTypeCounter.GetComponentsInChildren <TextMeshProUGUI>()); GameObject cardTypeToggles = GameObject.Find("Canvas/Background/InnerEditWrapper/CardTypeToggles"); displayToggles = new List <Toggle>(cardTypeToggles.GetComponentsInChildren <Toggle>()); cp_temp = new CardPreset(); }
public static void InitAll() { MarionetteCardList = new MarionetteCard[MARIONETTE_CARD_NUM]; DrawingCardList = new DrawingCard[DRAWING_CARD_NUM]; GoodCardList = new GoodCard[GOOD_CARD_NUM]; InitAllCardList(); gc = new GameConfiguration(); //gc.PrintAll(); cp1 = new CardPreset(); cp1.GenerateCardPresetRandomly(); //cp1.PrintAll(); cp2 = new CardPreset(); cp3 = new CardPreset(); cp4 = new CardPreset(); }
private void ReplaceAllCardsWithBlank(CardPreset cp) { barList[0].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.MarionetteCardNumber.ToString(); barList[1].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.DrawingCardNumber.ToString(); barList[2].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.GoodCardNumber.ToString(); barList[3].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.TotalNumber.ToString(); for (int k = 0; k < 32; k++) { string pathPrefix = Utilities.res_folder_path_cards + "blank"; ChangeSpriteState(cardList[k].GetComponent <Button>(), pathPrefix, true); Button btn = cardList[k].GetComponent <Button>(); DisplayMessageWhenMouseEnter(btn, null, true); cardList[k].GetComponent <Image>().sprite = Resources.Load(pathPrefix, typeof(Sprite)) as Sprite; } }
private void AttachCard(CardPreset cp, bool isBlank = false) { if (isBlank) { ReplaceAllCardsWithBlank(cp); return; } barList[0].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.MarionetteCardNumber.ToString(); barList[1].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.DrawingCardNumber.ToString(); barList[2].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.GoodCardNumber.ToString(); barList[3].transform.GetChild(1).gameObject.GetComponent <TextMeshProUGUI>().text = cp.TotalNumber.ToString(); int j = 0; for (int i = 0; i < cp.MarionetteCardNumber; i++) { string pathPrefix = Utilities.res_folder_path_cards + cp.MarionetteCardList[i].Name; Button btn = cardList[j].GetComponent <Button>(); ChangeSpriteState(btn, pathPrefix); DisplayMessageWhenMouseEnter(btn, cp.MarionetteCardList[i]); cardList[j++].GetComponent <Image>().sprite = Resources.Load(pathPrefix + "_n", typeof(Sprite)) as Sprite; } for (int i = 0; i < cp.DrawingCardNumber; i++) { string pathPrefix = Utilities.res_folder_path_cards + cp.DrawingCardList[i].Name; ChangeSpriteState(cardList[j].GetComponent <Button>(), pathPrefix); Button btn = cardList[j].GetComponent <Button>(); DisplayMessageWhenMouseEnter(btn, cp.DrawingCardList[i]); cardList[j++].GetComponent <Image>().sprite = Resources.Load(pathPrefix + "_n", typeof(Sprite)) as Sprite; } for (int i = 0; i < cp.GoodCardNumber; i++) { string pathPrefix = Utilities.res_folder_path_cards + cp.GoodCardList[i].Name; ChangeSpriteState(cardList[j].GetComponent <Button>(), pathPrefix); Button btn = cardList[j].GetComponent <Button>(); DisplayMessageWhenMouseEnter(btn, cp.GoodCardList[i]); cardList[j++].GetComponent <Image>().sprite = Resources.Load(pathPrefix + "_n", typeof(Sprite)) as Sprite; } for (int k = j; k < /*cp.MAX_TOTAL_NUM*/ 32; k++) { string pathPrefix = Utilities.res_folder_path_cards + "blank"; ChangeSpriteState(cardList[k].GetComponent <Button>(), pathPrefix, true); Button btn = cardList[k].GetComponent <Button>(); DisplayMessageWhenMouseEnter(btn, null, true); cardList[k].GetComponent <Image>().sprite = Resources.Load(pathPrefix, typeof(Sprite)) as Sprite; } }
private void UpdateCardScrollView(CardPreset cp) { GameObject cardScrollView = GameObject.Find("Canvas/Background/InnerEditWrapper/CardScrollView"); GameObject contents = cardScrollView.GetComponentInChildren <GridLayoutGroup>().gameObject; for (int i = 0; i < Utilities.MarionetteCardList.Length; i++) { bool state = cp.MarionetteCardList.Exists(t => t == Utilities.MarionetteCardList[i]); SetIsOn(marionetteToggles[i], state); } for (int i = 0; i < Utilities.DrawingCardList.Length; i++) { bool state = cp.DrawingCardList.Exists(t => t == Utilities.DrawingCardList[i]); SetIsOn(drawingToggles[i], state); } for (int i = 0; i < Utilities.GoodCardList.Length; i++) { bool state = cp.GoodCardList.Exists(t => t == Utilities.GoodCardList[i]); SetIsOn(goodToggles[i], state); } }
private void BindingEvent() { foreach (GameObject preset in presetList) { var btn = preset.GetComponent <Button>(); btn.onClick.AddListener(() => { cardPreview.SetActive(false); ChangeFontSizeAndColor(btn); AttachCard(btnToCp[btn], !btnToCp[btn].RandomTag); }); } presetBtn.onClick.AddListener(() => { HideAllLayers(); InitInterface(); AttachCard(Utilities.cp1); });; backBtn.GetComponent <Button>().onClick.AddListener(() => { if (Utilities.stageID == Utilities.StageOptions.PRESET_STAGE) { layerList[1].SetActive(true); layerList[2].SetActive(true); layerList[3].SetActive(true); layerList[4].SetActive(false); foreach (GameObject btn in btnList) { btn.SetActive(!btn.activeSelf); } SetPresets(false); //DestroyCards(); } }); randBtn.GetComponent <Button>().onClick.AddListener(() => { CardPreset curCp = CheckCurrentCp(); Utilities.DisableAllCards(); curCp.ClearAll(); curCp.GenerateCardPresetRandomly(); //curCp.PrintAll(); AttachCard(curCp); }); editBtn.GetComponent <Button>().onClick.AddListener(() => { //enableToggleListener = true; //cp_temp = CheckCurrentCp(); //print(cp_temp.MarionetteCardNumber); GoToEditInterface(); CardPreset curCp = CheckCurrentCp(); saveBtn.SetActive(curCp.IsLegal); UpdateTempData(curCp.MarionetteCardNumber, curCp.DrawingCardNumber, curCp.GoodCardNumber); UpdateCardTypeCounter(); UpdateCardScrollView(curCp); if (CardsOverflow()) { DisableAllCardToggles(); saveBtn.SetActive(false); } }); abandonBtn.GetComponent <Button>().onClick.AddListener(() => { //enableToggleListener = false; cardPreview.SetActive(false); InvertEditMode(false); //UpdateTempData(CheckCurrentCp()); }); clearBtn.GetComponent <Button>().onClick.AddListener(() => { //SetCardScrollView(false); //cp_temp = new CardPreset(0, 0, 0); saveBtn.SetActive(false); UpdateTempData(0, 0, 0); UpdateCardTypeCounter(); SetCardScrollView(false); }); saveBtn.GetComponent <Button>().onClick.AddListener(() => { //if (CanBeSaved()) //{ SaveTempCardPreset(); CardPreset curCp = CheckCurrentCp(); //curCp.PrintAll(); curCp = cp_temp; //curCp.PrintAll(); AttachCard(curCp); //} //else //{ // print(string.Format("{0} {1} {2}", marionetteCardNumber_temp, drawingCardNumber_temp, goodCardNumber_temp)); //} }); foreach (Toggle tg in marionetteToggles) { tg.onValueChanged.AddListener(isSelected => { if (!disableToggleListener) { OnToggleValueChanged(tg); UpdateCardTypeCounter(); } if (!CardsOverflow()) { EnableAllCardToggles(); //if (!disableToggleListener) //{ // OnToggleValueChanged(tg); //print(isSelected); //UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); //} } else { if (!alreadyDisabled) { DisableAllCardToggles(); saveBtn.SetActive(false); } else { EnableAllCardToggles(); if (!disableToggleListener) { OnToggleValueChanged(tg); //print(isSelected); UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); } } } }); } foreach (Toggle tg in drawingToggles) { tg.onValueChanged.AddListener((bool value) => { if (!disableToggleListener) { OnToggleValueChanged(tg); UpdateCardTypeCounter(); } if (!CardsOverflow()) { EnableAllCardToggles(); //if (!disableToggleListener) //{ // OnToggleValueChanged(tg); //print(isSelected); //UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); //} } else { if (!alreadyDisabled) { DisableAllCardToggles(); saveBtn.SetActive(false); } else { EnableAllCardToggles(); if (!disableToggleListener) { OnToggleValueChanged(tg); //print(isSelected); UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); } } } }); } foreach (Toggle tg in goodToggles) { tg.onValueChanged.AddListener((bool value) => { if (!disableToggleListener) { OnToggleValueChanged(tg); UpdateCardTypeCounter(); } if (!CardsOverflow()) { EnableAllCardToggles(); //if (!disableToggleListener) //{ // OnToggleValueChanged(tg); //print(isSelected); //UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); //} } else { if (!alreadyDisabled) { DisableAllCardToggles(); saveBtn.SetActive(false); } else { EnableAllCardToggles(); if (!disableToggleListener) { OnToggleValueChanged(tg); //print(isSelected); UpdateCardTypeCounter(); saveBtn.SetActive(CanBeSaved()); } } } }); } displayToggles[0].onValueChanged.AddListener((bool value) => { for (int i = 0; i < marionetteToggles.Count(); i++) { marionetteToggles[i].gameObject.SetActive(displayToggles[0].isOn); } }); displayToggles[1].onValueChanged.AddListener((bool value) => { for (int i = 0; i < drawingToggles.Count(); i++) { drawingToggles[i].gameObject.SetActive(displayToggles[1].isOn); } }); displayToggles[2].onValueChanged.AddListener((bool value) => { for (int i = 0; i < goodToggles.Count(); i++) { goodToggles[i].gameObject.SetActive(displayToggles[2].isOn); } }); }