Some improvements

This commit is contained in:
Perfare
2018-04-21 09:36:10 +08:00
parent a3c92ddb8f
commit 674c634c2c
17 changed files with 53 additions and 156 deletions

View File

@ -19,7 +19,6 @@ namespace AssetStudio
{
public string Name { get; set; }
public Matrix Matrix { get; set; }
public dynamic Parent { get; set; }
}
@ -35,9 +34,6 @@ namespace AssetStudio
public List<ImportedVertex> VertexList { get; set; }
public List<ImportedFace> FaceList { get; set; }
public string Material { get; set; }
public int Index { get; set; }
public bool WorldCoords { get; set; }
public bool Visible { get; set; }
}
public class ImportedVertex

View File

@ -5,67 +5,61 @@ using System.IO;
namespace AssetStudio
{
public interface IObjChild
{
dynamic Parent { get; set; }
}
public interface IObjChild
{
dynamic Parent { get; set; }
}
public abstract class ObjChildren<T> : IEnumerable<T> where T : IObjChild
{
protected List<T> children;
public abstract class ObjChildren<T> : IEnumerable<T> where T : IObjChild
{
protected List<T> children;
public T this[int i]
{
get { return (T)children[i]; }
}
public T this[int i] => children[i];
public int Count
{
get { return children.Count; }
}
public int Count => children.Count;
public void InitChildren(int count)
{
children = new List<T>(count);
}
public void InitChildren(int count)
{
children = new List<T>(count);
}
public void AddChild(T obj)
{
children.Add(obj);
obj.Parent = this;
}
public void AddChild(T obj)
{
children.Add(obj);
obj.Parent = this;
}
public void InsertChild(int i, T obj)
{
children.Insert(i, obj);
obj.Parent = this;
}
public void InsertChild(int i, T obj)
{
children.Insert(i, obj);
obj.Parent = this;
}
public void RemoveChild(T obj)
{
obj.Parent = null;
children.Remove(obj);
}
public void RemoveChild(T obj)
{
obj.Parent = null;
children.Remove(obj);
}
public void RemoveChild(int i)
{
children[i].Parent = null;
children.RemoveAt(i);
}
public void RemoveChild(int i)
{
children[i].Parent = null;
children.RemoveAt(i);
}
public int IndexOf(T obj)
{
return children.IndexOf(obj);
}
public int IndexOf(T obj)
{
return children.IndexOf(obj);
}
public IEnumerator<T> GetEnumerator()
{
return children.GetEnumerator();
}
public IEnumerator<T> GetEnumerator()
{
return children.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}