Beispiel #1
0
    public void Update(float dt)
    {
        while (mCmdQueue.Count != 0)
        {
            UICmd cmd = mCmdQueue.Dequeue();

            if (cmd == null)
            {
                continue;
            }

            List <UIAsset> uiAsset = mCmdTable[cmd.key] as List <UIAsset>;

            for (int i = 0; i < uiAsset.Count; i++)
            {
                UIAsset asset = uiAsset[i];

                if (asset == null)
                {
                    continue;
                }
                if (asset.view == null || asset.viewObject == null)
                {
                    continue;
                }
                asset.view.HandleCommand(cmd);
            }
        }
        mCmdQueue.Clear();
    }
Beispiel #2
0
    public void RegisterCommand()
    {
        int length = UICmdDefine.commands.GetLength(0);

        for (int i = 0; i < length; i++)
        {
            string key  = UICmdDefine.commands[i, 0];
            string view = UICmdDefine.commands[i, 1];
            if (mCmdTable.ContainsKey(key) == false)
            {
                mCmdTable.Add(UICmdDefine.commands[i, 0], new List <UIAsset>());
            }

            UIAsset asset = UIManager.GetInstance().GetUIAsset(view);
            if (asset == null)
            {
                Debug.LogError("[UICmdSystem] UICmd:" + key + ",Panel:" + view + ",not ui");
                return;
            }

            List <UIAsset> list = mCmdTable[key] as List <UIAsset>;
            if (list.Contains(asset))
            {
                Debug.LogError("[UICmdSystem] UICmd:" + key + ",Panel:" + view + ",has register");
                return;
            }
            list.Add(asset);
        }
    }
Beispiel #3
0
    public UIAsset GetUIAsset(string name)
    {
        UIAsset asset = null;

        mUIMap.TryGetValue(name, out asset);
        return(asset);
    }
Beispiel #4
0
        List <UIAsset> loadUIs()
        {
            var uis = new List <UIAsset>();

            if (!Directory.Exists(metadataPath + "UIs"))
            {
                Directory.CreateDirectory(metadataPath + "UIs");
            }

            foreach (var filename in Directory.EnumerateFiles(metadataPath + "UIs"))
            {
                var metadata = File.ReadAllLines(filename);

                var ui = new UIAsset();

                ui.Name             = System.IO.Path.GetFileNameWithoutExtension(filename);
                ui.Description      = metadata[0].Split('=')[1].Trim();
                ui.LastUpdated      = parseLastUpdatedDate(metadata[1].Split('=')[1].Trim(), "ui", ui.Name);
                ui.ImportedFilename = metadata[2].Split('=')[1].Trim();
                ui.DefaultMesh      = metadata[3].Split('=')[1].Trim();
                ui.DefaultMaterial  = metadata[4].Split('=')[1].Trim();
                ui.DefaultFont      = metadata[5].Split('=')[1].Trim();

                uis.Add(ui);
            }

            return(uis);
        }
Beispiel #5
0
 public void AddPackage(string packageName)
 {
     if (!assets.ContainsKey(packageName))
     {
         assets[packageName] = new UIAsset();
     }
     assets[packageName].AddRef();
     UIPackage.AddPackage(packageName, LoadResource);
 }
Beispiel #6
0
    public ViewBase GetView(string viewName)
    {
        UIAsset asset = GetUIAsset(viewName);

        if (asset == null)
        {
            return(null);
        }
        return(asset.view);
    }
Beispiel #7
0
 public void RemovePackage(string packageName)
 {
     UIPackage.RemovePackage(packageName);
     if (assets.ContainsKey(packageName))
     {
         UIAsset uiAsset = assets[packageName];
         uiAsset.Drop();
     }
     else
     {
         Debug.LogError("no package:" + packageName);
     }
 }
Beispiel #8
0
    public void Initialize()
    {
        Table_UI      uitable     = GameTableManager.GetInstance().GetTable("table_ui") as Table_UI;
        List <Record> recordsList = uitable.recordsList;

        foreach (Record record in recordsList)
        {
            UIAsset asset = new UIAsset();
            asset.uiRecord = record as Record_UI;
            mUIMap.Add(asset.uiRecord.name, asset);
        }

        mWeaponRoot = GameObject.FindWithTag("WeaponRoot").transform;
        mUIRoot     = GameObject.FindWithTag("UIRoot").transform;
    }
Beispiel #9
0
    public void Show(string viewName)
    {
        UIAsset asset = GetUIAsset(viewName);

        if (asset == null)
        {
            return;
        }
        Object     viewdata = ResourcesManager.GetInstance().LoadLocalAsset("UIPrefabs/" + asset.uiRecord.prefabName);
        GameObject viewObj  = GameObject.Instantiate(viewdata) as GameObject;

        viewObj.transform.parent        = mUIRoot;
        viewObj.transform.localScale    = Vector3.one;
        viewObj.transform.localPosition = Vector3.zero;
        asset.viewObject = viewObj;
        asset.view       = asset.viewObject.GetComponent <ViewBase>();
    }