Пример #1
0
    protected override void OnLoad()
    {
        mButton = this.FindComponent <UIButton>("Sprite");
        mLabel  = this.FindComponent <UILabel>("Sprite/Label");
        mIcon   = this.FindComponent <UISprite>("Sprite/Icon");

        mSrcPos = mIcon.gameObject.transform.position;

        EventDelegate.Add(mButton.onClick, OnButtonClick);
        mModule = ModuleManager.Instance.FindModule <FunctionModule>();
    }
Пример #2
0
    /// <summary>
    /// 建议不要用这个,因为策划填表时候id可能会变;
    /// </summary>
    /// <param name="resid"></param>
    //public static void OpenChildFunc(int resid)
    //{
    //    FunctionModule fm = ModuleManager.Instance.FindModule<FunctionModule>();

    //    if (fm == null)
    //        return;

    //    fm.OpenChildFunc(resid);
    //}

    public static void CloseChildFunc(string uiname)
    {
        FunctionModule fm = ModuleManager.Instance.FindModule <FunctionModule>();

        if (fm == null)
        {
            return;
        }

        int id = FunctionModule.GetMenuIdByUIName(uiname);

        if (id < 0)
        {
            return;
        }

        fm.CloseChildFunc(id);
    }
Пример #3
0
    public void SetShowInfo(int id)
    {
        AssisterItemTableItem item_res = DataManager.AssisterItemTable[id] as AssisterItemTableItem;

        if (item_res == null)
        {
            return;
        }

        UIAtlasHelper.SetSpriteImage(funcIcon, item_res.icon);
        funcName.text    = item_res.funcName;
        funcdesc.text    = item_res.desc;
        doBtn.CustomData = id;
        for (int i = 0; i < 5; i++)
        {
            starList[i].gameObject.SetActive(i < item_res.starNum);
        }
        gameObject.SetActive(true);

        //判断功能开启
        if (item_res.funcid != -1)
        {
            FunctionModule fmodule  = ModuleManager.Instance.FindModule <FunctionModule>();
            MenuTableItem  menu_res = DataManager.MenuTable[item_res.funcid] as MenuTableItem;
            if (menu_res == null)
            {
                return;
            }
            doBtn.isEnabled = fmodule.IsFunctionUnlock(menu_res.mId);
        }
        else
        {
            if (item_res.openui.Equals("stagelist"))
            {
                int       tempId;
                SceneType type = (SceneType)(Convert.ToInt32(item_res.openParam));
                doBtn.isEnabled = ModuleManager.Instance.FindModule <StageListModule>().FindLastStage(type, out tempId);
            }
            else
            {
                doBtn.isEnabled = true;
            }
        }
    }
Пример #4
0
    void createSubMenuForm(List <int> ids, Vector3 pos)
    {
        subMenuForm.clear();

        foreach (int id in ids)
        {
            MenuTableItem item = FunctionModule.GetItem(id);

            if (item == null)
            {
                continue;
            }

            AddBtn(item.uiName, subMenuForm.grid.gameObject, subMenuForm.SubMenuDict, id, item.icon, new Quaternion());
        }

        subMenuForm.Reposition();

        subMenuForm.SetSubFormPosition(pos);
    }
Пример #5
0
    void UpdateAllMenus()
    {
        FunctionModule module = ModuleManager.Instance.FindModule <FunctionModule>();

        Hashtable             ht  = module.GetUnlocks();
        IDictionaryEnumerator itr = ht.GetEnumerator();

        while (itr.MoveNext())
        {
            AddMenu(Convert.ToInt32(itr.Key));
        }
//         foreach (DictionaryEntry de in ht)
//         {
//             //MenuTableItem item = DataManager.MenuTable[(int)de.Key] as MenuTableItem;
//
//             //if (FunctionModule.IsParentOrChildType(item))
//             //    return;
//
//
//         }
    }
Пример #6
0
        public AutocompleteList()
        {
            this.SelectedIndex = -1;

            //retrieve the tokens from the modules
            //add them to the master list along with the descriptions of each
            List <string> tokens = new FunctionModule().GetTokens();

            foreach (string token in tokens)
            {
                this.allItems.Add(new AutocompleteItem(AutocompleteItemType.Function, token, Autocomplete.ResourceManager.GetString(token)));
            }

            tokens = new ConstantModule().GetTokens();

            foreach (string token in tokens)
            {
                this.allItems.Add(new AutocompleteItem(AutocompleteItemType.Constant, token, Autocomplete.ResourceManager.GetString(token)));
            }

            //sort by alpha
            this.allItems.Sort(new Comparison <AutocompleteItem> ((x, y) => x.Name.CompareTo(y.Name)));
        }
Пример #7
0
    private void onFunctionClick(GameObject obj)
    {
        UIButton btn = obj.GetComponent <UIButton>();

        if (btn == null)
        {
            return;
        }
        int           functionid = (int)btn.CustomData;
        MenuTableItem item       = DataManager.MenuTable[functionid] as MenuTableItem;

        if (item == null)
        {
            return;
        }
        if (item.soundid != -1)
        {
            SoundManager.Instance.Play(item.soundid);
        }

        if (item.menuOpType == (uint)MenuOpType.MenuOpType_OpenUI)
        {
            closeSubMenuForm();

            if (string.IsNullOrEmpty(mLastOpenName) ||
                (!string.IsNullOrEmpty(mLastOpenName) && !WindowManager.Instance.IsOpen(mLastOpenName)))
            {
                WindowManager.Instance.OpenUI(item.param);
                mLastOpenName = item.param;
            }
        }
        else if (item.menuOpType == (uint)MenuOpType.MenuOpType_Scene)
        {
            closeSubMenuForm();

            string[] str = item.param.Split(new char[] { '|' });
            if (str.Length != 2)
            {
                return;
            }
            SceneManager.Instance.RequestEnterScene(int.Parse(str[1]));
        }
        else if (item.menuOpType == (uint)MenuOpType.MenuOpType_ParentUI)
        {
            FunctionModule fm = ModuleManager.Instance.FindModule <FunctionModule>();
            if (fm == null)
            {
                Debug.LogError("fuctionmodule not found error");
                return;
            }


            List <int> ids = fm.GetChildIdsByParentId(functionid);

            if (ids == null || ids.Count <= 0)
            {
                return;
            }

            if (functionid != mLastOpenSubId)
            {
                createSubMenuForm(ids, UICamera.currentCamera.WorldToScreenPoint(obj.transform.position));
                mLastOpenSubId = functionid;
            }

            openOrCloseSubMenuForm();
        }
    }