예제 #1
0
        public void Init(ViewConfig elementConfig)
        {
            if (elementConfig is ElementConfig)
            {
                this.elementConfig = elementConfig as ElementConfig;
                name = elementConfig.Name;

                foreach (var attribute in BeforeInitAttribute(this.elementConfig.Attributes))
                {
                    MB2CustomEditorView view;
                    if (!ElementViewManager.GetView(attribute.Type, out view))
                    {
                        view = new NotSupportView();
                    }
                    view.Init(attribute);

                    attributeViews.Add(attribute.Name, view);
                }
                AfterInitAttribute(attributeViews);

                foreach (var element in BeforeInitNestedElement(this.elementConfig.NestedElements))
                {
                    MB2CustomEditorView view;
                    if (!ElementViewManager.GetView(element.Name, out view))
                    {
                        view = new ElementView();
                    }
                    view.Init(element);
                    nestedElementExpanded.Add(element.Name, true);
                    nestedElementViews.Add(element.Name, view);
                }
                AfterInitNestedElement(nestedElementViews);
            }
        }
예제 #2
0
        public void CreateElement()
        {
            ElementConfig element = ElementList?.GetElementById(_cellValue) ?? null;

            if (element != null)
            {
                CreateDot(element);
            }
        }
예제 #3
0
        public void Init(ViewConfig config)
        {
            if (config is ElementConfig && (config as ElementConfig).IsContainer)
            {
                elementConfig = config as ElementConfig;
                string nameSpace = elementConfig.DataSetConfig.NameSpace;
                var    filters   = elementConfig.NestedElements.Select((element) => "l: " + element.Name + "@" + nameSpace);

                if (filters.Any())
                {
                    filter = string.Join(" ", filters);
                }
                else
                {
                    filter = null;
                }
            }

            ForceUpdate();
        }
예제 #4
0
 private void CreateDot(ElementConfig element)
 {
     _dot = Instantiate(dotPrefab, transform);
     _dot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
     _dot.SetConfig(element);
 }
예제 #5
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// 加载
        /// </summary>
        public void load()
        {
            if (_strModelID.Length == 0)
            {
                return;
            }

            _pObjModelData = PlayerManager.ModelData.getGameModelData(_strModelID);
            if (_pObjModelData == null)
            {
                //Utils.LogSys.LogWarning("Model config data is missed. " + _strModelID);
                return;
            }

            //获取数据
            _listBindPoints = _pObjModelData._listModelBps;
            _listAnimEvent  = _pObjModelData._listAnimEvents;
            _listAnimations = _pObjModelData._listAnimations;

            //获取模型部件列表
            //模型 = 部件加载 + 部件组装 + 材质

            ElementConfig     cfg       = (ElementConfig)ConfigDataMgr.getInstance().GetData(ConfigDataType.ModelElementConfig);
            ElementConfigItem modelData = cfg.GetDataByKey(_strModelID);

            if (modelData == null)
            {
                Utils.LogSys.LogWarning(" ElementConfigItem is null " + _strModelID);
            }

            string        strLev   = levToWeaponAndMaterialIdx();
            List <string> listTemp = new List <string>();

            for (int i = 0; i < modelData.getKeys().Count; i++)
            {
                var strKey = modelData.getKeys()[i];
                if (strKey == "key")
                {
                    continue;
                }
                if (!(bool)modelData[strKey])
                {
                    continue;
                }
                var strComponent = strKey.ToLower().Contains("weapon") && strLev != "" ? strKey + "_" + strLev : strKey;

                //忽略部件不创建
                if (!_listIgnoreComponents.Contains(strComponent))
                {
                    _listUncomplete.Add(strComponent);
                    listTemp.Add(strComponent);
                }
            }
            for (int i = 0; i < listTemp.Count; i++)
            {
                string strKey = listTemp[i];
                _listElement.Add(new ModelElement(strKey, strKey, _strModelID, this));
            }


            loadBaseElement();
        }
예제 #6
0
 public void SetConfig(ElementConfig config)
 {
     _config = config;
 }