Esempio n. 1
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        _target = (UIMark)target;

        GUILayout.Label("类型 : " + _target.ComponentName);
    }
Esempio n. 2
0
 void OnEnable()
 {
     // Get a reference to the target script and serialize it
     targetScript  = (UIMark)target;
     popComponents = new string[targetScript.Components.Count];
     for (int i = 0; i < targetScript.Components.Count; i++)
     {
         popComponents[i] = targetScript.Components[i].GetType().Name;
     }
     serializedTargetScript = new SerializedObject(targetScript);
 }
Esempio n. 3
0
        //需求瞎变动太烦了,针对7号跑马灯进行硬编码处理:隔壁老王成功的将VIP等级提升到了15级[玩家名#vip等级]
        //
        public int GetSortKey(UIMark uiMark)
        {
            int _key = -1;

            if (IsSelfInfo)
            {
                _key = 0;
            }
            else
            {
                switch (uiMark)
                {
                case UIMark.DefaultMark:
                    _key = m_InfoTable.getSort1() * 100;
                    break;

                case UIMark.HeroUpgrade:
                    _key = m_InfoTable.getSort2() * 100;
                    break;

                case UIMark.HeroRecruit:
                    _key = m_InfoTable.getSort3() * 100;
                    break;

                case UIMark.RelicTreasure:
                    _key = m_InfoTable.getSort4() * 100;
                    break;

                case UIMark.Artifact:
                    _key = m_InfoTable.getSort5() * 100;
                    break;

                case UIMark.PlayerBag:
                    _key = m_InfoTable.getSort6() * 100;
                    break;
                }
            }

            if (_key > 0)
            {
                _key += m_InfoTable.getDataclass() * 100000;
            }
            //针对7号跑马灯进行特殊处理
            if (m_InfoTable.GetID() == 7)
            {
                int _lv;
                if (int.TryParse(m_ParaArr[1], out _lv))
                {
                    _key += _lv;
                }
            }
            return(_key);
        }
Esempio n. 4
0
    //写引用文件
    private static void WriteReferenceCode(RectTransform panelGo, string componentName)
    {
        UIMark[] marks        = panelGo.transform.GetComponentsInChildren <UIMark>();
        string   referenceStr = "";

        for (int i = 0; i < marks.Length; i++)
        {
            UIMark mark = marks[i];
            referenceStr += "public " + mark.ComponentName + " " + mark.name + ";" + (i == marks.Length - 1 ? "" : "\r\t");
        }

        string template = File.ReadAllText(UIReferenceTemplatePath);

        template = template.Replace("[ClassName]", componentName);
        template = template.Replace("[Reference]", referenceStr);

        File.WriteAllText(GenScriptFolderPath + componentName + ".Reference.cs", template, Encoding.UTF8);
    }
Esempio n. 5
0
        private static void CollectMark(Transform trans, ref List <_uiMark> uiMarks)
        {
            UIMark uiMark = trans.GetComponent <UIMark>();

            if (uiMark != null && uiMark.IgnoreChild && uiMark.IgnoreSelf)
            {
                return;
            }

            if (uiMark == null || (uiMark != null && !uiMark.IgnoreChild))
            {
                for (int i = 0; i < trans.childCount; i++)
                {
                    CollectMark(trans.GetChild(i), ref uiMarks);
                }
            }

            if (uiMark != null && uiMark.IgnoreSelf)
            {
                return;
            }

            string fieldName = trans.name;

            if (uiMark != null)
            {
                var _mark = new _uiMark(uiMark);
                uiMarks.Add(_mark);
            }
            else
            {
                foreach (var component in autoAddComponents)
                {
                    var com = trans.GetComponent(component);
                    if (com != null)
                    {
                        var _mark = new _uiMark(fieldName, com, trans);
                        uiMarks.Add(_mark);
                        break;
                    }
                }
            }
        }
Esempio n. 6
0
    /// <summary>
    /// GameEventID.UI_InterfaceChange回调,在加载或删除UI界面的时候刷新m_CurrentUI。
    /// 事件抛出逻辑见UI_HomeControler.FrameDelayControl()
    /// </summary>
    private void OnInterfaceChange()
    {
        BaseUI _currentPanel = UI_HomeControler.Inst.GetCanvas2FirstChildBaseUI();
        UIMark newMark;

        if (_currentPanel != null)
        {
            newMark = _currentPanel.UIMark;
        }
        else
        {
            newMark = UIMark.DefaultMark;
        }
        if (m_CurrentUI != newMark)
        {
            m_CurrentUI = newMark;
            m_EventNotice.Sort(SortHandler);
        }
    }
Esempio n. 7
0
 //查找关联引用
 static void FindReference(ref Component component, GameObject clone, string prefabPath)
 {
     //处理引用关联
     if (component != null)
     {
         FieldInfo[] fileFieldInfos = component.GetType().GetFields();
         UIMark[]    marks          = clone.transform.GetComponentsInChildren <UIMark>();
         foreach (FieldInfo fileFieldInfo in fileFieldInfos)
         {
             for (int j = 0; j < marks.Length; j++)
             {
                 UIMark mark = marks[j];
                 if (mark.name == fileFieldInfo.Name)
                 {
                     fileFieldInfo.SetValue(component, mark.GetComponent(mark.ComponentName));
                     break;
                 }
             }
         }
     }
 }
Esempio n. 8
0
 public _uiMark(UIMark uiMark)
 {
     fieldName = uiMark.FieldName;
     component = uiMark.CurComponent;
     transform = uiMark.transform;
 }