4 using System.Collections.Generic;
6 using SiliconStudio.Core;
7 using SiliconStudio.Core.Serialization;
8 using SiliconStudio.Core.Serialization.Serializers;
10 namespace SiliconStudio.BuildEngine
14 public readonly
string Name;
27 public readonly
string Name;
38 return string.Equals(Name, other.Name) && Equals(Value, other.
Value);
41 public override bool Equals(
object obj)
43 if (ReferenceEquals(null, obj))
return false;
51 return ((Name != null ? Name.GetHashCode() : 0) * 397) ^ (Value != null ? Value.GetHashCode() : 0);
57 return left.Equals(right);
62 return !left.Equals(right);
71 stream.Write(obj.Name);
72 stream.Write(obj.Value);
76 var name = stream.ReadString();
77 var value = stream.ReadString();
78 obj =
new BuildParameter(name, value);
86 [DataSerializerGlobal(null, typeof(List<BuildParameter>))]
89 private readonly List<BuildParameter> parameterList =
new List<BuildParameter>();
91 public void Add(
string name,
string value)
98 foreach (
string value
in values)
106 parameterList.Add(parameter);
111 return parameterList.Any(x => x.Name == name);
116 return parameterList.Count(x => x.Name == name) > 1;
121 return parameterList.Count(x => x.Name == name) == 1;
126 return parameterList.Where(x => x.Name == name).Select(x => x.Value);
131 return parameterList.SingleOrDefault(x => x.Name == name).Value;
136 return parameterList.GetEnumerator();
139 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
141 return parameterList.GetEnumerator();
144 internal class Serializer :
DataSerializer<BuildParameterCollection>
150 stream.Write(obj.parameterList);
154 var parameterList = stream.Read<List<BuildParameter>>();
155 obj =
new BuildParameterCollection();
156 obj.parameterList.AddRange(parameterList);
string GetSingle(string name)
void Add(string name, string value)
BuildParameter(string name, string value)
bool ContainsSingle(string name)
override bool Equals(object obj)
bool Equals(BuildParameter other)
Base class for implementation of SerializationStream.
bool Contains(string name)
IEnumerator< BuildParameter > GetEnumerator()
void Add(BuildParameter parameter)
bool ContainsMultiple(string name)
IEnumerable< string > GetRange(string name)
void Add(string name, IEnumerable< string > values)
Describes how to serialize and deserialize an object without knowing its type. Used as a common base ...
ArchiveMode
Enumerates the different mode of serialization (either serialization or deserialization).
override int GetHashCode()