Example #1
0
        //只能更改动态加入的UI UpdateKey
        public bool UF_ChangeUIUpdateKey(string source, string target)
        {
            IUIUpdate ui = this.UF_GetDynamicUI(source);

            if (ui == null)
            {
                Debugger.UF_Warn(string.Format("Change UI UpdateKey Failed,Can not find UI[{0}] in Dynamic", source ?? ""));
                return(false);
            }
            else if (MapDynamicUI.ContainsKey(target))
            {
                Debugger.UF_Warn(string.Format("Change UI UpdateKey Failed,Same UI UpdateKey{0}] Has Exist", target ?? ""));
                return(false);
            }
            ui.updateKey = target;
            //移除原有Key
            MapDynamicUI.Remove(source);
            //添加新key
            MapDynamicUI.Add(target, ui);
            return(true);
        }
Example #2
0
 public virtual void UF_AddUI(IUIUpdate ui, bool firstSibling)
 {
     if (ui != null)
     {
         if (!string.IsNullOrEmpty(ui.updateKey) && !MapDynamicUI.ContainsKey(ui.updateKey))
         {
             MapDynamicUI.Add(ui.updateKey, ui);
         }
         else
         {
             //如果没有或有重复UpdateKey ,则使用InstanceID 来代替
             int insID = ((Object)ui).GetInstanceID();
             MapDynamicUI.Add(insID.ToString(), ui);
             Debugger.UF_Warn(string.Format("UI Update Key[{0}] Is Same Or Empty,Map With Instance ID:{1}", ui.updateKey ?? "", insID));
         }
         GameObject uiobject = (ui as MonoBehaviour).gameObject;
         uiobject.transform.SetParent(this.transform, false);
         uiobject.transform.localScale = Vector3.one;
         if (firstSibling)
         {
             uiobject.transform.SetAsFirstSibling();
         }
     }
 }