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(); }
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); } }
public UIAsset GetUIAsset(string name) { UIAsset asset = null; mUIMap.TryGetValue(name, out asset); return(asset); }
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); }
public void AddPackage(string packageName) { if (!assets.ContainsKey(packageName)) { assets[packageName] = new UIAsset(); } assets[packageName].AddRef(); UIPackage.AddPackage(packageName, LoadResource); }
public ViewBase GetView(string viewName) { UIAsset asset = GetUIAsset(viewName); if (asset == null) { return(null); } return(asset.view); }
public void RemovePackage(string packageName) { UIPackage.RemovePackage(packageName); if (assets.ContainsKey(packageName)) { UIAsset uiAsset = assets[packageName]; uiAsset.Drop(); } else { Debug.LogError("no package:" + packageName); } }
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; }
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>(); }