コード例 #1
0
    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();
    }
コード例 #2
0
 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();
 }
コード例 #3
0
    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;
        }
    }
コード例 #4
0
    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;
        }
    }
コード例 #5
0
    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);
        }
    }
コード例 #6
0
    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);
            }
        });
    }