Beispiel #1
0
    private void UnSelAllSlot()
    {
        foreach (var slot in slots)
        {
            slot.maskImage.SetActive(false);
        }

        curSlot = null;
    }
Beispiel #2
0
    public void Reset()
    {
        btnCreateNewWorld.onClick.RemoveAllListeners();
        btnCreateNewWorld.onClick.AddListener(() =>
        {
            EventSystem.current.SetSelectedGameObject(null);
            MenuManager.Instance.ShowCreateWorldPanel();
        });
        btnEnterWorld.onClick.RemoveAllListeners();
        btnEnterWorld.onClick.AddListener(() =>
        {
            EventSystem.current.SetSelectedGameObject(null);
            if (curSlot != null)
            {
                GameManager.Instance.LoadWorld(curSlot.bindArchive, curSlot.saveDir);
            }
        });
        btnModifyWorld.onClick.RemoveAllListeners();
        btnModifyWorld.onClick.AddListener(() =>
        {
            EventSystem.current.SetSelectedGameObject(null);
        });
        btnDeleteWorld.onClick.RemoveAllListeners();
        btnDeleteWorld.onClick.AddListener(() =>
        {
            EventSystem.current.SetSelectedGameObject(null);
            if (curSlot != null)
            {
                Debug.Log(curSlot);
                GameManager.Instance.DeleteArchiveDirectory(curSlot.saveDir);
                Reset();
            }
        });
        btnCancel.onClick.RemoveAllListeners();
        btnCancel.onClick.AddListener(() =>
        {
            EventSystem.current.SetSelectedGameObject(null);
            MenuManager.Instance.ShowMainMenuPanel();
        });
        var saveSlotTransform = saveSlotList.transform;

        for (int i = 0; i < saveSlotTransform.childCount; i++)
        {
            Destroy(saveSlotTransform.GetChild(i).gameObject);
        }
        EventSystem.current.SetSelectedGameObject(null);
        UnSelAllSlot();
        SetBtnState();
        slots.Clear();
        var archiveDatas = GetAllArchiveDatas();

        foreach (var item in archiveDatas)
        {
            GameObject   obj          = Instantiate(saveSlotPrefab, saveSlotTransform);
            SaveInfoSlot saveInfoSlot = obj.GetComponent <SaveInfoSlot>();
            saveInfoSlot.saveNameText.text = item.Value.saveName;
            saveInfoSlot.saveDir           = item.Key;
            saveInfoSlot.bindArchive       = item.Value;
            slots.Add(saveInfoSlot);
            Button btn = obj.GetComponent <Button>();
            btn.onClick.RemoveAllListeners();
            btn.onClick.AddListener(() =>
            {
                UnSelAllSlot();
                curSlot = saveInfoSlot;
                saveInfoSlot.maskImage.SetActive(true);
            });
        }

        RectTransform rectTransform = saveSlotList.GetComponent <RectTransform>();
        var           sizeDeltaY    = saveSlotPrefab.GetComponent <RectTransform>().sizeDelta.y *archiveDatas.Count;

        rectTransform.sizeDelta = new Vector2(
            rectTransform.sizeDelta.x,
            sizeDeltaY);
    }