Example #1
0
        public override void Read(BinaryReader Reader)
        {
            int ParameterCount = Reader.ReadInt32();

            for (int i = 0; i < ParameterCount; i++)
            {
                byte   ParamType           = Reader.ReadByte();
                string ParamName           = Reader.ReadString();
                BasicEffectParameter param = null;
                if (!Parameters.ContainsKey(ParamName))
                {
                    param = BasicEffectParameter.ReturnParameter(ParamType, ParamName);
                    param.Read(Reader);
                    Add(param);
                }
                else
                {
                    Parameters[ParamName].Read(Reader);
                }
            }

            set(Reader.ReadString());

            base.Read(Reader);
        }
Example #2
0
 public void Add(BasicEffectParameter p)
 {
     if (!ParameterQue.Contains(p))
     {
         ParameterQueNeeded = true;
         ParameterQue.AddLast(p);
     }
 }
Example #3
0
 private void Add(BasicEffectParameter Param)
 {
     if (Param != null)
     {
         Param.ParentValue = this;
         Parameters.Add(Param.Name, Param);
     }
 }
Example #4
0
        public static void DummyRead(BinaryReader Reader)
        {
            int ParameterCount = Reader.ReadInt32();

            for (int i = 0; i < ParameterCount; i++)
            {
                byte   ParamType = Reader.ReadByte();
                string ParamName = Reader.ReadString();
                BasicEffectParameter.ReturnParameter(ParamType, ParamName).Read(Reader);
            }
            Reader.ReadString();
        }
Example #5
0
        public override void Write(BinaryWriter Writer)
        {
            Writer.Write((Int32)Parameters.Values.Count);

            foreach (BasicEffectParameter param in Parameters.Values)
            {
                Writer.Write(BasicEffectParameter.ReturnByteType(param));
                Writer.Write(param.Name);
                param.Write(Writer);
            }

            Writer.Write(getPath());

            base.Write(Writer);
        }
Example #6
0
        public void ConstructParameters()
        {
            if (Value != null)
            {
                LinkedList <BasicEffectParameter> DestroyValues = new LinkedList <BasicEffectParameter>(Parameters.Values);

                foreach (EffectParameter param in Value.Parameters)
                {
                    if (!IllegalParameters.Contains(param.Name) && param.RowCount < 2 && !param.Name.ToUpper().StartsWith("NOEDIT"))
                    {
                        if (!Parameters.ContainsKey(param.Name))
                        {
                            Add(BasicEffectParameter.ReturnParameter(param));
                        }
                        else
                        {
                            BasicEffectParameter p = Parameters[param.Name];
                            p.setParameter(param);
                            DestroyValues.Remove(p);
                        }
                    }
                }
                foreach (BasicEffectParameter Parameter in DestroyValues)
                {
                    Remove(Parameter);
                }


#if EDITOR && WINDOWS
                if (Parent.EditorSelected)
                {
                    Parent.ParentLevel.MyScene.UpdateSelected();
                }
#endif
            }
        }
Example #7
0
 private void Remove(BasicEffectParameter Param)
 {
     Parameters.Remove(Param.Name);
 }