started cleaning up the scene graph
This commit is contained in:
@@ -16,227 +16,54 @@ namespace _2DGAMELIB
|
||||
|
||||
public Pars Parent => parent;
|
||||
|
||||
public IEnumerable<string> Keys => pars.Keys;
|
||||
|
||||
public IEnumerable<object> Values => pars.Values;
|
||||
|
||||
public double PositionSize
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).PositionSize = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).PositionSize = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void SetAngleBase(double value)
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SetAngleBase(value);
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SetAngleBase(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Vector2D PositionVector
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).PositionVector = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).PositionVector = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void SetSizeBase(double value)
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SetSizeBase(value);
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SetSizeBase(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double AngleBase
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).AngleBase = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).AngleBase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void SetSizeYCont(double value)
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SetSizeYCont(value);
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SetSizeYCont(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double AngleCont
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).AngleCont = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).AngleCont = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeBase
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeBase = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeBase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeCont
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeCont = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeCont = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeXBase
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeXBase = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeXBase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeXCont
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeXCont = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeXCont = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeYBase
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeYBase = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeYBase = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public double SizeYCont
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).SizeYCont = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).SizeYCont = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool Dra
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).Dra = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).Dra = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool Hit
|
||||
{
|
||||
set
|
||||
{
|
||||
foreach (object value2 in pars.Values)
|
||||
{
|
||||
if (value2 is Pars)
|
||||
{
|
||||
((Pars)value2).Hit = value;
|
||||
}
|
||||
else if (value2 is Par)
|
||||
{
|
||||
((Par)value2).Hit = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public object this[string Name]
|
||||
public object this[string Name]
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -248,18 +75,6 @@ namespace _2DGAMELIB
|
||||
}
|
||||
}
|
||||
|
||||
public object this[int Index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return pars[Index];
|
||||
}
|
||||
set
|
||||
{
|
||||
pars[Index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetParent(Pars Parent)
|
||||
{
|
||||
parent = Parent;
|
||||
@@ -353,12 +168,6 @@ namespace _2DGAMELIB
|
||||
{
|
||||
}
|
||||
|
||||
public Pars(Par Par)
|
||||
{
|
||||
Tag = Par.Tag;
|
||||
Add(Par.Tag, Par);
|
||||
}
|
||||
|
||||
public Pars(ParT ParT)
|
||||
{
|
||||
Tag = ParT.Tag;
|
||||
@@ -448,42 +257,6 @@ namespace _2DGAMELIB
|
||||
}
|
||||
}
|
||||
|
||||
public List<string> GetHitTags(ref Color HitColor)
|
||||
{
|
||||
List<string> list = new List<string>();
|
||||
foreach (object value in pars.Values)
|
||||
{
|
||||
Par par;
|
||||
if (value is Pars)
|
||||
{
|
||||
list.AddRange(((Pars)value).GetHitTags(ref HitColor));
|
||||
}
|
||||
else if (value is Par && (par = (Par)value).HitColor == HitColor)
|
||||
{
|
||||
list.Add(par.Tag);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<Par> GetHitPars(ref Color HitColor)
|
||||
{
|
||||
List<Par> list = new List<Par>();
|
||||
foreach (object value in pars.Values)
|
||||
{
|
||||
Par item;
|
||||
if (value is Pars)
|
||||
{
|
||||
list.AddRange(((Pars)value).GetHitPars(ref HitColor));
|
||||
}
|
||||
else if (value is Par && (item = (Par)value).HitColor == HitColor)
|
||||
{
|
||||
list.Add(item);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public bool IsHit(ref Color HitColor)
|
||||
{
|
||||
foreach (object value in pars.Values)
|
||||
@@ -492,7 +265,7 @@ namespace _2DGAMELIB
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (value is Par && ((Par)value).HitColor == HitColor)
|
||||
if (value is Par && ((Par)value).GetHitColor() == HitColor)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -564,91 +337,4 @@ namespace _2DGAMELIB
|
||||
}
|
||||
}
|
||||
}
|
||||
public static class pars
|
||||
{
|
||||
public static Pars ToPars(this object obj)
|
||||
{
|
||||
return (Pars)obj;
|
||||
}
|
||||
|
||||
public static ParT ToParT(this object obj)
|
||||
{
|
||||
return (ParT)obj;
|
||||
}
|
||||
|
||||
public static Par ToPar(this object obj)
|
||||
{
|
||||
return (Par)obj;
|
||||
}
|
||||
|
||||
public static Pen Copy(this Pen Pen)
|
||||
{
|
||||
return new Pen(Pen.Color, Pen.Width)
|
||||
{
|
||||
EndCap = Pen.EndCap,
|
||||
StartCap = Pen.StartCap
|
||||
};
|
||||
}
|
||||
|
||||
public static Brush Copy(this Brush Brush)
|
||||
{
|
||||
if (Brush is SolidBrush)
|
||||
{
|
||||
return new SolidBrush(((SolidBrush)Brush).Color);
|
||||
}
|
||||
if (Brush is LinearGradientBrush)
|
||||
{
|
||||
LinearGradientBrush linearGradientBrush = (LinearGradientBrush)Brush;
|
||||
LinearGradientBrush linearGradientBrush2 = new LinearGradientBrush(linearGradientBrush.Rectangle, Color.Black, Color.White, 0f);
|
||||
linearGradientBrush2.Blend = linearGradientBrush.Blend;
|
||||
linearGradientBrush2.GammaCorrection = linearGradientBrush.GammaCorrection;
|
||||
linearGradientBrush2.InterpolationColors = linearGradientBrush.InterpolationColors;
|
||||
linearGradientBrush2.LinearColors = new Color[linearGradientBrush.LinearColors.Length];
|
||||
linearGradientBrush.LinearColors.CopyTo(linearGradientBrush2.LinearColors, 0);
|
||||
linearGradientBrush2.Transform = linearGradientBrush.Transform;
|
||||
linearGradientBrush2.WrapMode = linearGradientBrush.WrapMode;
|
||||
return linearGradientBrush2;
|
||||
}
|
||||
if (Brush is PathGradientBrush)
|
||||
{
|
||||
PathGradientBrush pathGradientBrush = (PathGradientBrush)Brush;
|
||||
PathGradientBrush pathGradientBrush2 = new PathGradientBrush(new GraphicsPath());
|
||||
pathGradientBrush2.Blend = pathGradientBrush.Blend;
|
||||
pathGradientBrush2.CenterColor = pathGradientBrush.CenterColor;
|
||||
pathGradientBrush2.CenterPoint = pathGradientBrush.CenterPoint;
|
||||
pathGradientBrush2.FocusScales = pathGradientBrush.FocusScales;
|
||||
pathGradientBrush2.InterpolationColors = pathGradientBrush.InterpolationColors;
|
||||
pathGradientBrush2.SurroundColors = new Color[pathGradientBrush.SurroundColors.Length];
|
||||
pathGradientBrush.SurroundColors.CopyTo(pathGradientBrush2.SurroundColors, 0);
|
||||
pathGradientBrush2.Transform = pathGradientBrush.Transform;
|
||||
pathGradientBrush2.WrapMode = pathGradientBrush.WrapMode;
|
||||
return pathGradientBrush2;
|
||||
}
|
||||
if (Brush is TextureBrush)
|
||||
{
|
||||
TextureBrush textureBrush = (TextureBrush)Brush;
|
||||
return new TextureBrush(textureBrush.Image)
|
||||
{
|
||||
Transform = textureBrush.Transform,
|
||||
WrapMode = textureBrush.WrapMode
|
||||
};
|
||||
}
|
||||
if (Brush is HatchBrush)
|
||||
{
|
||||
HatchBrush hatchBrush = (HatchBrush)Brush;
|
||||
return new HatchBrush(hatchBrush.HatchStyle, hatchBrush.ForegroundColor, hatchBrush.BackgroundColor);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Font Copy(this Font Font)
|
||||
{
|
||||
return new Font(Font.FontFamily, Font.Size, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
||||
}
|
||||
|
||||
public static StringFormat Copy(this StringFormat StringFormat)
|
||||
{
|
||||
return new StringFormat(StringFormat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user