started cleaning up the scene graph

This commit is contained in:
lewd_alt
2026-06-13 16:59:32 -05:00
parent 0da26b0478
commit 24b0d68e7e
706 changed files with 11202 additions and 11716 deletions

View File

@@ -21,53 +21,49 @@ namespace _2DGAMELIB
public Dictionary<Pars, Par> pr;
public int CountX => difs.Count;
public int GetCountX()
{
return difs.Count;
}
public int CountY
{
get
{
if (difs.Count > 0)
{
return difs[IndexX].Count;
}
return 0;
}
}
public int GetCountY()
{
if (difs.Count > 0)
{
return difs[GetIndexX()].Count;
}
return 0;
}
public int IndexX
{
get
{
if (!(ValueX >= 1.0))
{
return (int)((double)CountX * ValueX);
}
return CountX - 1;
}
set
{
ValueX = (double)value / (double)CountX;
}
}
public int GetIndexX()
{
if (!(ValueX >= 1.0))
{
return (int)((double)GetCountX() * ValueX);
}
return GetCountX() - 1;
}
public int IndexY
{
get
{
if (!(ValueY >= 1.0))
{
return (int)((double)CountY * ValueY);
}
return CountY - 1;
}
set
{
ValueY = (double)value / (double)CountY;
}
}
public void SetIndexX(int value)
{
ValueX = (double)value / (double)GetCountX();
}
public Dif this[int Index]
public int GetIndexY()
{
if (!(ValueY >= 1.0))
{
return (int)((double)GetCountY() * ValueY);
}
return GetCountY() - 1;
}
public void SetIndexY(int value)
{
ValueY = (double)value / (double)GetCountY();
}
public Dif this[int Index]
{
get
{
@@ -79,155 +75,46 @@ namespace _2DGAMELIB
}
}
public Pars Current => difs[IndexX][IndexY];
public Pars GetCurrent()
{
return difs[GetIndexX()][GetIndexY()];
}
public double PositionSize
{
set
{
foreach (Dif dif in difs)
{
dif.PositionSize = value;
}
}
}
public void SetAngleBase(double value)
{
foreach (Dif dif in difs)
{
dif.SetAngleBase(value);
}
}
public Vector2D PositionVector
{
set
{
foreach (Dif dif in difs)
{
dif.PositionVector = value;
}
}
}
public void SetSizeBase(double value)
{
foreach (Dif dif in difs)
{
dif.SetSizeBase(value);
}
}
public double AngleBase
{
set
{
foreach (Dif dif in difs)
{
dif.AngleBase = value;
}
}
}
public void SetSizeYCont(double value)
{
foreach (Dif dif in difs)
{
dif.SetSizeYCont(value);
}
}
public double AngleCont
{
set
{
foreach (Dif dif in difs)
{
dif.AngleCont = value;
}
}
}
public Par GetCurJoinRoot()
{
Pars current = GetCurrent();
if (pr.ContainsKey(current))
{
return pr[current];
}
return null;
}
public double SizeBase
{
set
{
foreach (Dif dif in difs)
{
dif.SizeBase = value;
}
}
}
public double SizeCont
{
set
{
foreach (Dif dif in difs)
{
dif.SizeCont = value;
}
}
}
public double SizeXBase
{
set
{
foreach (Dif dif in difs)
{
dif.SizeXBase = value;
}
}
}
public double SizeXCont
{
set
{
foreach (Dif dif in difs)
{
dif.SizeXCont = value;
}
}
}
public double SizeYBase
{
set
{
foreach (Dif dif in difs)
{
dif.SizeYBase = value;
}
}
}
public double SizeYCont
{
set
{
foreach (Dif dif in difs)
{
dif.SizeYCont = value;
}
}
}
public bool Dra
{
set
{
foreach (Dif dif in difs)
{
dif.Dra = value;
}
}
}
public bool Hit
{
set
{
foreach (Dif dif in difs)
{
dif.Hit = value;
}
}
}
[JsonIgnore]
public Par CurJoinRoot
{
get
{
Pars current = Current;
if (pr.ContainsKey(current))
{
return pr[current];
}
return null;
}
}
[JsonIgnore]
[JsonIgnore]
public IEnumerable<Par> EnumJoinRoot => pr.Values;
public IEnumerable<Par> EnumAllPar()
{
@@ -287,11 +174,11 @@ namespace _2DGAMELIB
public void Draw(RenderArea Are)
{
Are.Draw(Current);
Are.Draw(GetCurrent());
}
public void Draw(AreM AreM)
{
AreM.Draw(Current);
AreM.Draw(GetCurrent());
}
private Par GetJoinRoot(Pars ps)
@@ -304,13 +191,13 @@ namespace _2DGAMELIB
Par[] array2 = array;
foreach (Par p0 in array2)
{
Vector2D p = p0.Position;
if (array.All((Par p1) => p0 == p1 || p1.JP.All((Joi j) => !(p1.ToGlobal(j.Joint).DistanceSquared(p) <= Join.IdentityDistance))))
Vector2D p = p0.GetPosition();
if (array.All((Par p1) => p0 == p1 || p1.GetJP().All((Joi j) => !(p1.ToGlobal(j.Joint).DistanceSquared(p) <= Join.IdentityDistance))))
{
return p0;
}
}
Par par = array.FirstOrDefault((Par e) => e.JP.Count > 0);
Par par = array.FirstOrDefault((Par e) => e.GetJP().Count > 0);
if (par != null)
{
return par;
@@ -335,12 +222,12 @@ namespace _2DGAMELIB
public void JoinP()
{
pj[Current].JoinP();
pj[GetCurrent()].JoinP();
}
public void JoinPA()
{
pj[Current].JoinPA();
pj[GetCurrent()].JoinPA();
}
public void JoinPAall()
@@ -351,17 +238,9 @@ namespace _2DGAMELIB
}
}
public void JoinPA(Pars ps)
{
if (pj.ContainsKey(ps))
{
pj[ps].JoinPA();
}
}
public Par GetHitPar_(Color HitColor)
{
return difs.FirstOrDefault((Dif d) => d.IsHit(ref HitColor)).Parss.FirstOrDefault((Pars ps) => ps.IsHit(ref HitColor)).EnumAllPar().FirstOrDefault((Par e) => e.HitColor == HitColor);
return difs.FirstOrDefault((Dif d) => d.IsHit(ref HitColor)).Parss.FirstOrDefault((Pars ps) => ps.IsHit(ref HitColor)).EnumAllPar().FirstOrDefault((Par e) => e.GetHitColor() == HitColor);
}
public bool IsHit(ref Color HitColor)