示例#1
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            await base.Load(xndNode);

            var att = xndNode.FindAttrib("DefaultParamValue");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                {
                    att.ReadMetaObject(mTemplateClassInstance);
                }
                break;

                case 1:
                {
                    CodeGenerateSystem.Base.PropertyClassGenerator.LoadClassInstanceProperties(mTemplateClassInstance, att);
                }
                break;
                }
                att.EndRead();
            }

            var classType = mTemplateClassInstance.GetType();
            var property  = classType.GetProperty("Color");

            EngineNS.Color color = (EngineNS.Color)property.GetValue(mTemplateClassInstance);
            ColorBrush = new SolidColorBrush(Color.FromArgb(color.A, color.R, color.G, color.B));
        }
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            await base.Load(xndNode);

            var att = xndNode.FindAttrib("DefaultParamValue");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                {
                    int count = 0;
                    att.Read(out count);
                    for (int i = 0; i < count; i++)
                    {
                        GradientData obj = new GradientData();;
                        att.ReadMetaObject(obj);
                        GradientDatas.Add(obj);
                    }
                    SetGradientDatas(GradientDatas);
                }
                break;
                }
                att.EndRead();
            }
        }
示例#3
0
        protected override void LoadLink(XndNode xndNode)
        {
            mIsLoadingLinks = true;
            mLinkPairs.Clear();
            var att = xndNode.FindAttrib("TransitionLinks");

            att.BeginRead();
            switch (att.Version)
            {
            case 0:
            {
                int count = 0;
                att.Read(out count);
                for (int i = 0; i < count; i++)
                {
                    var pair = new LinkPair();
                    att.Read(out pair.LoadedLinkFrom);
                    att.Read(out pair.LoadedLinkTo);
                    mLinkPairs.Add(pair);
                }
            }
            break;
            }
            att.EndRead();

            mIsLoadingLinks = false;
        }
示例#4
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            try
            {
                await base.Load(xndNode);

                var att = xndNode.FindAttrib("defaultParam");
                if (att != null)
                {
                    att.BeginRead();
                    switch (att.Version)
                    {
                    case 0:
                    {
                        att.ReadMetaObject(mTemplateClassInstance_All);
                        var allType = mTemplateClassInstance_All.GetType();
                        foreach (var pro in mTemplateClassInstance_Show.GetType().GetProperties())
                        {
                            var allPro = allType.GetProperty(pro.Name);
                            pro.SetValue(mTemplateClassInstance_Show, allPro.GetValue(mTemplateClassInstance_All));
                        }
                    }
                    break;

                    case 1:
                    {
                        CodeGenerateSystem.Base.PropertyClassGenerator.LoadClassInstanceProperties(mTemplateClassInstance_All, att);
                        var allType = mTemplateClassInstance_All.GetType();
                        foreach (var pro in mTemplateClassInstance_Show.GetType().GetProperties())
                        {
                            var allPro = allType.GetProperty(pro.Name);
                            pro.SetValue(mTemplateClassInstance_Show, allPro.GetValue(mTemplateClassInstance_All));
                        }
                    }
                    break;
                    }
                    att.EndRead();
                }

                foreach (var child in mChildNodes)
                {
                    var childParam = child.CSParam as ExpandNodeChild.ExpandNodeChildConstructionParams;
                    foreach (var cb in StackPanel_Members.Children)
                    {
                        var cbTemp = cb as CheckBox;
                        if (((string)cbTemp.Content) == childParam.ParamName)
                        {
                            cbTemp.Tag = child;
                        }
                    }
                }
            }
            catch (System.Exception e)
            {
                HasError         = true;
                ErrorDescription = "节点读取失败!";
                System.Diagnostics.Debug.WriteLine($"节点读取失败!:Name=展开 {NodeName}\r\n{e.ToString()}");
            }
        }
示例#5
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            await base.Load(xndNode);

            var att = xndNode.FindAttrib("loopData");

            att.BeginRead();
            att.Read(out mCountDefaultValue);
            att.EndRead();
        }
示例#6
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            var att = xndNode.FindAttrib("Data");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                {
                    att.ReadMetaObject(mTemplateClassInstance);
                    Int32 count;
                    att.Read(out count);
                    for (int i = 0; i < count; i++)
                    {
                        var bPt = att.ReadMetaObject() as EngineNS.BezierPointBase;
                        var pt  = new EditorCommon.Controls.LineXBezierControl.BezierPoint(LineXBezierCtrl);
                        pt.Position     = bPt.Position;
                        pt.ControlPoint = bPt.ControlPoint;
                        mBezierPoints.Add(pt);
                    }
                    att.Read(out mBezierWidth);
                    att.Read(out mBezierHeight);
                }
                break;

                case 1:
                {
                    CodeGenerateSystem.Base.PropertyClassGenerator.LoadClassInstanceProperties(mTemplateClassInstance, att);
                    Int32 count;
                    att.Read(out count);
                    for (int i = 0; i < count; i++)
                    {
                        var bPt = att.ReadMetaObject() as EngineNS.BezierPointBase;
                        var pt  = new EditorCommon.Controls.LineXBezierControl.BezierPoint(LineXBezierCtrl);
                        pt.Position     = bPt.Position;
                        pt.ControlPoint = bPt.ControlPoint;
                        mBezierPoints.Add(pt);
                    }
                    att.Read(out mBezierWidth);
                    att.Read(out mBezierHeight);
                }
                break;
                }
                att.EndRead();
            }
            await base.Load(xndNode);

            SetBezierPointsToCtrl();
            foreach (var pt in mBezierPoints)
            {
                ((EditorCommon.Controls.LineXBezierControl.BezierPoint)pt).CalculateOpposite();
            }
        }
示例#7
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            try
            {
                await base.Load(xndNode);

                var att = xndNode.FindAttrib("defaultParam");
                if (att != null)
                {
                    att.BeginRead();
                    switch (att.Version)
                    {
                    case 0:
                    {
                        Byte result;
                        att.Read(out result);
                        if (result == 1)
                        {
                            att.ReadMetaObject(mTemplateClassInstance);
                        }
                    }
                    break;

                    case 1:
                    {
                        Byte result;
                        att.Read(out result);
                        if (result == 1)
                        {
                            CodeGenerateSystem.Base.PropertyClassGenerator.LoadClassInstanceProperties(mTemplateClassInstance, att);
                        }
                    }
                    break;
                    }
                    att.EndRead();
                }

                foreach (var child in mChildNodes)
                {
                    var childParameterCtrl = child as MethodInvokeParameterControl;
                    if (childParameterCtrl != null)
                    {
                        childParameterCtrl.OnUpdateParamTypeAction = OnUpdateChildParamType;
                    }
                }
            }
            catch (System.Exception e)
            {
                HasError         = true;
                ErrorDescription = e.ToString();
            }

            InitTemplateClass_WPF(null);
        }
示例#8
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            var att = xndNode.FindAttrib("MtlMacros");

            if (att != null)
            {
                att.BeginRead();
                att.ReadMetaObject(mMtlMacros);
                att.EndRead();
                this.IsDirty = false;
            }
            await base.Load(xndNode);
        }
示例#9
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            var att = xndNode.FindAttrib("_shaderVar");

            if (att != null)
            {
                switch (att.Version)
                {
                case 0:
                {
                    att.BeginRead();
                    att.ReadMetaObject(ShaderVarInfo);
                    att.EndRead();
                }
                break;
                }
            }
            await base.Load(xndNode);
        }
示例#10
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            await base.Load(xndNode);

            var att = xndNode.FindAttrib("Data");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                {
                    att.Read(out mTargetTypeName);
                }
                break;
                }
                att.EndRead();
            }
        }
示例#11
0
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            var att = xndNode.FindAttrib("coData");

            if (att != null)
            {
                att.BeginRead();
                switch (att.Version)
                {
                case 0:
                    if (mTemplateClassInstance != null)
                    {
                        att.ReadMetaObject(mTemplateClassInstance);
                    }
                    break;

                case 1:
                    CodeGenerateSystem.Base.PropertyClassGenerator.LoadClassInstanceProperties(mTemplateClassInstance, att);
                    break;
                }
                att.EndRead();
            }
            await base.Load(xndNode);
        }
        public static async System.Threading.Tasks.Task <bool> LoadData(string name, XndNode xndNode, StructNodeControlConstructionParams csparam, IParticleNode pnode, CodeGenerateSystem.Controls.NodesContainerControl mLinkedNodesContainer)
        {
            if (mLinkedNodesContainer != null)
            {
                var att = xndNode.FindAttrib(name);
                if (att != null)
                {
                    List <string> keys = new List <string>();
                    switch (att.Version)
                    {
                    case 0:
                    {
                        att.BeginRead();

                        int count = 0;
                        att.Read(out count);
                        if (count != 0)
                        {
                            Macross.NodesControlAssist NodesControlAssist;
                            MacrossPanelBase           MacrossOpPanel;
                            IMacrossOperationContainer NodesControlAssist_HostControl;

                            NodesControlAssist             = mLinkedNodesContainer.HostControl as Macross.NodesControlAssist;
                            MacrossOpPanel                 = NodesControlAssist.HostControl.MacrossOpPanel;
                            NodesControlAssist_HostControl = NodesControlAssist.HostControl;

                            csparam.CategoryDic = new Dictionary <string, Category>();
                            for (int i = 0; i < count; i++)
                            {
                                string key;
                                int    itemcount;

                                att.Read(out key);

                                keys.Add(key);

                                att.Read(out itemcount);
                                csparam.CategoryDic[key] = new Category(MacrossOpPanel);

                                //var category = csparam.CategoryDic[key];
                                //for (int j = 0; j < itemcount; j++)
                                //{
                                //    category.Items.Add(new CategoryItem(null, category));
                                //    //category.Items[j].Load(xndNode, NodesControlAssist_HostControl);
                                //}
                            }
                            //此刻已经读完
                            att.EndRead();
                            for (int i = 0; i < keys.Count; i++)
                            {
                                var Node     = xndNode.FindNode(keys[i]);
                                var category = csparam.CategoryDic[keys[i]];

                                var childNodes = Node.GetNodes();
                                foreach (var childNode in childNodes)
                                {
                                    var item = new CategoryItem(null, category);
                                    item.Load(childNode, NodesControlAssist_HostControl);
                                    category.Items.Add(item);
                                }
                            }
                        }
                    }
                    break;
                    }
                    //att.EndRead();
                }
            }


            if (pnode.GetCreateObject() != null)
            {
                var childenode = xndNode.FindNode("CreateObjectNode");
                await pnode.GetCreateObject().Load(childenode);
            }

            return(false);
        }
        //EngineNS.Thread.Async.TaskLoader.WaitContext WaitContext = new EngineNS.Thread.Async.TaskLoader.WaitContext();
        //async System.Threading.Tasks.Task<EngineNS.Thread.Async.TaskLoader.WaitContext> AwaitLoad()
        //{
        //    return await EngineNS.Thread.Async.TaskLoader.Awaitload(WaitContext);
        //}
        public override async System.Threading.Tasks.Task Load(XndNode xndNode)
        {
            //await AwaitLoad();
            await ParticleDataSaveLoad.LoadData("ParticleMaterialInstanceNode", xndNode, CSParam as ParticleMaterialInstanceControlConstructionParams, this, mLinkedNodesContainer);

            await base.Load(xndNode);

            InitValueDatas = new List <MaterialInstanceEditProperty>();
            var attr = xndNode.FindAttrib("MaterialInstance_control");

            attr.BeginRead();
            if (attr.Version == 0)
            {
                int count;
                attr.Read(out count);
                for (int i = 0; i < count; i++)
                {
                    var   showvalue = new MaterialInstanceEditProperty();
                    RName materialname;
                    attr.Read(out materialname);
                    showvalue.MaterialInstanceName = materialname;
                    int varcount;
                    attr.Read(out varcount);
                    //foreach (var varvalue in showvalue.VarRNameValues)
                    for (int varn = 0; varn < varcount; varn++)
                    {
                        int    key;
                        string typefullname;
                        attr.Read(out key);
                        attr.Read(out typefullname);
                        {
                            if (typefullname.Equals(typeof(float).FullName))
                            {
                                float value;
                                attr.Read(out value);
                                //elem.VarObject.mMaterialInstance.SetVarValue(elem.VarObject.Index, 0, ref value);
                                showvalue.VarRNameValues.Add(key, value);
                            }
                            else if (typefullname.Equals(typeof(Vector2).FullName))
                            {
                                Vector2 value;
                                attr.Read(out value);
                                showvalue.VarRNameValues.Add(key, value);
                            }
                            else if (typefullname.Equals(typeof(Vector3).FullName))
                            {
                                Vector3 value;
                                attr.Read(out value);
                                showvalue.VarRNameValues.Add(key, value);
                            }
                            else if (typefullname.Equals(typeof(Vector4).FullName))
                            {
                                Vector4 value;
                                attr.Read(out value);
                                showvalue.VarRNameValues.Add(key, value);
                            }
                            else if (typefullname.Equals(typeof(EngineNS.Color).FullName))
                            {
                                Vector4 value;
                                attr.Read(out value);
                                showvalue.VarRNameValues.Add(key, value);
                            }
                        }
                    }

                    int srvcount;
                    attr.Read(out srvcount);
                    //foreach (var srvvalue in showvalue.SRVRNameValues)
                    for (int srvn = 0; srvn < srvcount; srvn++)
                    {
                        string key;
                        RName  rname;
                        attr.Read(out key);
                        attr.Read(out rname);
                        showvalue.SRVRNameValues.Add(key, rname);
                    }

                    InitValueDatas.Add(showvalue);
                }
                attr.EndRead();
            }

            if (InitValueDatas.Count > 0)
            {
                ShowValues = InitValueDatas;
            }
        }