Пример #1
0
        public EffectResourceBuilder(EffectResourceBuilder original, bool cloneEffects)
            : base(0, null)
        {
            int i, count = original.mEffectSectionList.Count;

            // Initialize Effect Sections
            this.mEffectSectionList = new EffectResource.EffectSectionList(this.OnResourceChanged);
            EffectResource.EffectSection eSection;
            for (i = 0; i < count; i++)
            {
                eSection = original.mEffectSectionList[i];
                this.mEffectSectionList.Add((int)eSection.Type, (int)eSection.Version);
            }
            this.InitEffectSectionIndices();
            // Initialize Resource Sections
            count = original.mResourceSectionList.Count;
            this.mResourceSectionList = new EffectResource.ResourceSectionList(this.OnResourceChanged);
            EffectResource.ResourceSection rSection;
            for (i = 0; i < count; i++)
            {
                rSection = original.mResourceSectionList[i];
                this.mResourceSectionList.Add((int)rSection.Type, (int)rSection.Version);
            }
            this.InitResourceSectionIndices();
            // Initialize Visual Effect Builders
            this.mVisualEffectSection = new EffectResource.VisualEffectSection(0, this.OnResourceChanged, 2);
            //this.mVisualEffectBuilders = new SectionDataList<VisualEffectBuilder>(this.OnResourceChanged, null);
            // Initialize Reserved
            this.mReserved = new byte[] { 0xff, 0xff, 0xff, 0xff };
            // Initialize Handle List
            this.mVisualEffectHandleList = new VisualEffectHandleList(this.OnResourceChanged);
        }
Пример #2
0
        public EffectResourceBuilder()
            : base(0, null)
        {
            int i;

            // Initialize Effect Sections
            this.mEffectSectionList = new EffectResource.EffectSectionList(this.OnResourceChanged);
            for (i = 0; i < sEffectSectionCount; i++)
            {
                this.mEffectSectionList.Add((int)sEffectTypeList[i], sEffectVersionList[i]);
            }
            this.mEffectSectionIndices = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
            // Initialize Resource Sections
            this.mResourceSectionList = new EffectResource.ResourceSectionList(this.OnResourceChanged);
            for (i = 0; i < sResourceSectionCount; i++)
            {
                this.mResourceSectionList.Add((int)sResourceTypeList[i], sResourceVersionList[i]);
            }
            this.mResourceSectionIndices = new int[] { 0, 1 };
            // Initialize Visual Effect Builders
            this.mVisualEffectSection = new EffectResource.VisualEffectSection(0, this.OnResourceChanged, 2);
            //this.mVisualEffectBuilders = new SectionDataList<VisualEffectBuilder>(base.OnResourceChanged, null);
            // Initialize Reserved
            this.mReserved = new byte[] { 0xff, 0xff, 0xff, 0xff };
            // Initialize Handle List
            this.mVisualEffectHandleList = new VisualEffectHandleList(this.OnResourceChanged);
        }
Пример #3
0
        private void FlushEffectNames()
        {
            VisualEffectBuilder builder;
            VisualEffectName    handle;
            string effectName;
            int    num, count = this.mVisualEffectSection.Items.Count /*this.mVisualEffectBuilders.Count/**/;

            this.mVisualEffectHandleList = new VisualEffectHandleList(base.OnResourceChanged);
            for (int i = 0; i < count; i++)
            {
                builder = this.mVisualEffectSection.Items[i] as VisualEffectBuilder;
                //builder = this.mVisualEffectBuilders[i] as VisualEffectBuilder;
                effectName = EffectHelper.CreateSafeEffectName(builder.EffectName, true);
                num        = this.mVisualEffectHandleList.BinarySearch(effectName);
                if (num < 0)
                {
                    handle            = new VisualEffectName(0, base.OnResourceChanged);
                    handle.EffectName = effectName;
                    handle.Index      = (uint)i;
                    this.mVisualEffectHandleList.Insert(~num, handle);
                }
            }
        }
Пример #4
0
        protected void Parse(Stream s)
        {
            BinaryStreamWrapper wrapper = new BinaryStreamWrapper(s, ByteOrder.BigEndian);

            this.mVersion = wrapper.ReadUInt16();
            // Initialize Effect Sections
            this.mEffectSectionList = new EffectResource.EffectSectionList(this.OnResourceChanged, s);
            this.InitEffectSectionIndices();
            // Initialize Resource Sections
            this.mResourceSectionList = new EffectResource.ResourceSectionList(this.OnResourceChanged, s);
            this.InitResourceSectionIndices();
            // Initialize Visual Effect Builders
            this.mVisualEffectSection = new EffectResource.VisualEffectSection(0, this.OnResourceChanged, wrapper.ReadUInt16());
            //this.mVisualEffectVersion = wrapper.ReadUInt16();
            //this.mVisualEffectBuilders = new SectionDataList<VisualEffectBuilder>(this.OnResourceChanged, null, s);
            // Initialize Reserved
            this.mReserved = wrapper.ReadBytes(4);
            // Initialize Handle List
            this.mVisualEffectHandleList = new VisualEffectHandleList(this.OnResourceChanged, s);
            // Initialize Visual Effect Builder Properties
            this.InitEffectNames();
            this.InitEffectBuilders();
        }