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); }
public void Add(BasicEffectParameter p) { if (!ParameterQue.Contains(p)) { ParameterQueNeeded = true; ParameterQue.AddLast(p); } }
private void Add(BasicEffectParameter Param) { if (Param != null) { Param.ParentValue = this; Parameters.Add(Param.Name, Param); } }
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(); }
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); }
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 } }
private void Remove(BasicEffectParameter Param) { Parameters.Remove(Param.Name); }