Files
SlaveMatrix-SDL/SlaveMatrix/SlaveMatrix/BodyPartClasses/多足_蜘.cs
2025-10-23 21:31:59 +04:00

483 lines
12 KiB
C#

using System.Collections.Generic;
using System.Linq;
using _2DGAMELIB;
namespace SlaveMatrix
{
public class _蜘 :
{
public Par X0Y0_胴;
public Par X0Y0_胸版;
public Par X0Y0_柄;
public ColorD CD;
public ColorD CD;
public ColorD CD;
public ColorP X0Y0_胴CP;
public ColorP X0Y0_胸版CP;
public ColorP X0Y0_柄CP;
public Ele[] _接続;
public Ele[] _接続;
public Ele[] 1_;
public Ele[] 2_;
public Ele[] 3_;
public Ele[] 4_;
public Ele[] 1_;
public Ele[] 2_;
public Ele[] 3_;
public Ele[] 4_;
public Ele[] _接続;
public override bool
{
get
{
return _;
}
set
{
_ = value;
}
}
public override bool
{
get
{
return _;
}
set
{
_ = value;
}
}
public override bool
{
get
{
return _;
}
set
{
_ = value;
}
}
public bool _表示
{
get
{
return X0Y0_胴.Dra;
}
set
{
X0Y0_胴.Dra = value;
X0Y0_胴.Hit = value;
}
}
public bool _表示
{
get
{
return X0Y0_胸版.Dra;
}
set
{
X0Y0_胸版.Dra = value;
X0Y0_胸版.Hit = value;
}
}
public bool _表示
{
get
{
return X0Y0_柄.Dra;
}
set
{
X0Y0_柄.Dra = value;
X0Y0_柄.Hit = value;
}
}
public override bool
{
get
{
return _表示;
}
set
{
_表示 = value;
_表示 = value;
_表示 = value;
}
}
public override double
{
get
{
return CD.;
}
set
{
CD. = value;
CD. = value;
CD. = value;
}
}
public JointS _接続点 => new JointS(, X0Y0_胴, 10);
public JointS _接続点 => new JointS(, X0Y0_胴, 11);
public JointS 1_ => new JointS(, X0Y0_胴, 2);
public JointS 2_ => new JointS(, X0Y0_胴, 4);
public JointS 3_ => new JointS(, X0Y0_胴, 6);
public JointS 4_ => new JointS(, X0Y0_胴, 8);
public JointS 1_ => new JointS(, X0Y0_胴, 3);
public JointS 2_ => new JointS(, X0Y0_胴, 5);
public JointS 3_ => new JointS(, X0Y0_胴, 7);
public JointS 4_ => new JointS(, X0Y0_胴, 9);
public JointS _接続点 => new JointS(, X0Y0_胴, 0);
public _蜘(double DisUnit, , , Med Med, _蜘D e)
{
_蜘 _蜘2 = this;
ThisType = GetType();
Dif dif = new Dif();
dif.Tag = "蜘";
dif.Add(new Pars(Sta.["多足"][0][1]));
= new Difs();
.Tag = dif.Tag;
.Add(dif);
Pars pars = [0][0];
X0Y0_胴 = pars["Torso"].ToPar();
X0Y0_胸版 = pars["胸版"].ToPar();
X0Y0_柄 = pars["柄"].ToPar();
.SetJoints();
= new JointD();
= e.;
X = e.X;
Y = e.Y;
C = e.C;
C = e.C;
B = e.B;
C = e.C;
B = e.B;
C = e.C;
XB = e.XB;
XC = e.XC;
YB = e.YB;
YC = e.YC;
= e.;
= e.;
Xv = e.Xv;
Yv = e.Yv;
Xi = e.Xi;
Yi = e.Yi;
= e.;
X = e.X;
Y = e.Y;
_表示 = e._表示;
_表示 = e._表示;
_表示 = e._表示;
= e.;
= e.;
= e.;
if (!e.)
{
= false;
}
Ele f;
if (e._接続.Count > 0)
{
_接続 = e._接続.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_触肢左_接続;
f.(_蜘2._接続点);
return f;
}).ToArray();
}
if (e._接続.Count > 0)
{
_接続 = e._接続.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_触肢右_接続;
f.(_蜘2._接続点);
return f;
}).ToArray();
}
if (e.1_.Count > 0)
{
1_ = e.1_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足左1_接続;
f.(_蜘2.1_);
return f;
}).ToArray();
}
if (e.2_.Count > 0)
{
2_ = e.2_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足左2_接続;
f.(_蜘2.2_);
return f;
}).ToArray();
}
if (e.3_.Count > 0)
{
3_ = e.3_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足左3_接続;
f.(_蜘2.3_);
return f;
}).ToArray();
}
if (e.4_.Count > 0)
{
4_ = e.4_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足左4_接続;
f.(_蜘2.4_);
return f;
}).ToArray();
}
if (e.1_.Count > 0)
{
1_ = e.1_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足右1_接続;
f.(_蜘2.1_);
return f;
}).ToArray();
}
if (e.2_.Count > 0)
{
2_ = e.2_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足右2_接続;
f.(_蜘2.2_);
return f;
}).ToArray();
}
if (e.3_.Count > 0)
{
3_ = e.3_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足右3_接続;
f.(_蜘2.3_);
return f;
}).ToArray();
}
if (e.4_.Count > 0)
{
4_ = e.4_.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_節足右4_接続;
f.(_蜘2.4_);
return f;
}).ToArray();
}
if (e._接続.Count > 0)
{
_接続 = e._接続.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = _蜘2;
f.ConnectionType = ConnectionInfo._蜘_尾_接続;
f.(_蜘2._接続点);
return f;
}).ToArray();
}
base. = ;
();
X0Y0_胴CP = new ColorP(X0Y0_胴, CD, DisUnit, abj: true);
X0Y0_胸版CP = new ColorP(X0Y0_胸版, CD, DisUnit, abj: true);
X0Y0_柄CP = new ColorP(X0Y0_柄, CD, DisUnit, abj: true);
= e.;
}
public override void ()
{
X0Y0_胴CP.Update();
X0Y0_胸版CP.Update();
X0Y0_柄CP.Update();
}
private void ( )
{
switch ()
{
case .N0:
N0();
break;
case .T0:
T0();
break;
case .T1:
T1();
break;
default:
N0();
break;
}
}
private void N0( )
{
CD = new ColorD(ref Col.Black, ref .0O);
CD = new ColorD(ref Col.Black, ref .1O);
CD = new ColorD(ref Col.Black, ref .0O);
}
private void T0( )
{
CD = new ColorD(ref Col.Black, ref .0O);
CD = new ColorD(ref Col.Black, ref .1O);
CD = new ColorD(ref Col.Black, ref .O);
}
private void T1( )
{
CD = new ColorD(ref Col.Black, ref .0O);
CD = new ColorD(ref Col.Black, ref .O);
CD = new ColorD(ref Col.Black, ref .0O);
}
public override IEnumerable<Ele> EnumEle()
{
yield return this;
if (_接続 != null)
{
foreach (Ele item in _接続.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item;
}
}
if (4_ != null)
{
foreach (Ele item2 in 4_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item2;
}
}
if (4_ != null)
{
foreach (Ele item3 in 4_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item3;
}
}
if (3_ != null)
{
foreach (Ele item4 in 3_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item4;
}
}
if (3_ != null)
{
foreach (Ele item5 in 3_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item5;
}
}
if (2_ != null)
{
foreach (Ele item6 in 2_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item6;
}
}
if (2_ != null)
{
foreach (Ele item7 in 2_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item7;
}
}
if (1_ != null)
{
foreach (Ele item8 in 1_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item8;
}
}
if (1_ != null)
{
foreach (Ele item9 in 1_.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item9;
}
}
if (_接続 != null)
{
foreach (Ele item10 in _接続.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item10;
}
}
if (_接続 == null)
{
yield break;
}
foreach (Ele item11 in _接続.Select((Ele e) => e.EnumEle()).JoinEnum())
{
yield return item11;
}
}
}
}