using System.Collections.Generic;
|
using System.Collections;
|
using System;
|
|
#if UNITY_XCODE_API_BUILD
|
namespace UnityEditor.iOS.Xcode.PBX
|
#else
|
namespace UnityEditor.iOS.Xcode.Custom.PBX
|
#endif
|
{
|
|
class PBXElement
|
{
|
protected PBXElement() {}
|
|
// convenience methods
|
public string AsString() { return ((PBXElementString)this).value; }
|
public PBXElementArray AsArray() { return (PBXElementArray)this; }
|
public PBXElementDict AsDict() { return (PBXElementDict)this; }
|
|
public PBXElement this[string key]
|
{
|
get { return AsDict()[key]; }
|
set { AsDict()[key] = value; }
|
}
|
}
|
|
class PBXElementString : PBXElement
|
{
|
public PBXElementString(string v) { value = v; }
|
|
public string value;
|
}
|
|
class PBXElementDict : PBXElement
|
{
|
public PBXElementDict() : base() {}
|
|
private Dictionary<string, PBXElement> m_PrivateValue = new Dictionary<string, PBXElement>();
|
public IDictionary<string, PBXElement> values { get { return m_PrivateValue; }}
|
|
new public PBXElement this[string key]
|
{
|
get {
|
if (values.ContainsKey(key))
|
return values[key];
|
return null;
|
}
|
set { this.values[key] = value; }
|
}
|
|
public bool Contains(string key)
|
{
|
return values.ContainsKey(key);
|
}
|
|
public void Remove(string key)
|
{
|
values.Remove(key);
|
}
|
|
public void SetString(string key, string val)
|
{
|
values[key] = new PBXElementString(val);
|
}
|
|
public PBXElementArray CreateArray(string key)
|
{
|
var v = new PBXElementArray();
|
values[key] = v;
|
return v;
|
}
|
|
public PBXElementDict CreateDict(string key)
|
{
|
var v = new PBXElementDict();
|
values[key] = v;
|
return v;
|
}
|
}
|
|
class PBXElementArray : PBXElement
|
{
|
public PBXElementArray() : base() {}
|
public List<PBXElement> values = new List<PBXElement>();
|
|
// convenience methods
|
public void AddString(string val)
|
{
|
values.Add(new PBXElementString(val));
|
}
|
|
public PBXElementArray AddArray()
|
{
|
var v = new PBXElementArray();
|
values.Add(v);
|
return v;
|
}
|
|
public PBXElementDict AddDict()
|
{
|
var v = new PBXElementDict();
|
values.Add(v);
|
return v;
|
}
|
}
|
|
} // namespace UnityEditor.iOS.Xcode
|