Files
SlaveMatrix-SDL/SlaveMatrix/SlaveMatrix/BodyPartClasses/Torso_蛇.cs
REDCODE a588c1273b Renamed Par -> ShapePart
Renamed ParT -> ShapePartT
2026-06-13 20:45:58 +02:00

601 lines
15 KiB
C#

using System.Linq;
using _2DGAMELIB;
namespace SlaveMatrix
{
public class Torso_蛇 : //Long torso?
{
public ShapePart X0Y0_Torso_鱗;
public ShapePart X0Y0_Torso_鱗左;
public ShapePart X0Y0_Torso_鱗右;
public ShapePart X0Y0_Torso_Torso;
public ShapePart X0Y0_輪_革;
public ShapePart X0Y0_輪_金具1;
public ShapePart X0Y0_輪_金具2;
public ShapePart X0Y0_輪_金具3;
public ShapePart X0Y0_輪_金具左;
public ShapePart X0Y0_輪_金具右;
public ColorD Torso_鱗CD;
public ColorD Torso_鱗左CD;
public ColorD Torso_鱗右CD;
public ColorD Torso_TorsoCD;
public ColorD _革CD;
public ColorD _金具1CD;
public ColorD _金具2CD;
public ColorD _金具3CD;
public ColorD _金具左CD;
public ColorD _金具右CD;
public ColorP X0Y0_Torso_鱗CP;
public ColorP X0Y0_Torso_鱗左CP;
public ColorP X0Y0_Torso_鱗右CP;
public ColorP X0Y0_Torso_TorsoCP;
public ColorP X0Y0_輪_革CP;
public ColorP X0Y0_輪_金具1CP;
public ColorP X0Y0_輪_金具2CP;
public ColorP X0Y0_輪_金具3CP;
public ColorP X0Y0_輪_金具左CP;
public ColorP X0Y0_輪_金具右CP;
public 1;
public 2;
public Ele[] _接続;
public Ele[] _接続;
public Ele[] Torso_接続;
public override bool
{
get
{
return _;
}
set
{
_ = value;
}
}
public override bool
{
get
{
return _;
}
set
{
_ = value;
}
}
public override bool
{
get
{
return _;
}
set
{
_ = value;
= _;
}
}
public bool Torso_鱗_表示
{
get
{
return X0Y0_Torso_鱗.Dra;
}
set
{
X0Y0_Torso_鱗.Dra = value;
X0Y0_Torso_鱗.Hit = value;
}
}
public bool Torso_鱗左_表示
{
get
{
return X0Y0_Torso_鱗左.Dra;
}
set
{
X0Y0_Torso_鱗左.Dra = value;
X0Y0_Torso_鱗左.Hit = value;
}
}
public bool Torso_鱗右_表示
{
get
{
return X0Y0_Torso_鱗右.Dra;
}
set
{
X0Y0_Torso_鱗右.Dra = value;
X0Y0_Torso_鱗右.Hit = value;
}
}
public bool Torso_表示
{
get
{
return X0Y0_Torso_Torso.Dra;
}
set
{
X0Y0_Torso_Torso.Dra = value;
X0Y0_Torso_Torso.Hit = value;
}
}
public bool _革_表示
{
get
{
return X0Y0_輪_革.Dra;
}
set
{
X0Y0_輪_革.Dra = value;
X0Y0_輪_革.Hit = value;
}
}
public bool _金具1_表示
{
get
{
return X0Y0_輪_金具1.Dra;
}
set
{
X0Y0_輪_金具1.Dra = value;
X0Y0_輪_金具1.Hit = value;
}
}
public bool _金具2_表示
{
get
{
return X0Y0_輪_金具2.Dra;
}
set
{
X0Y0_輪_金具2.Dra = value;
X0Y0_輪_金具2.Hit = value;
}
}
public bool _金具3_表示
{
get
{
return X0Y0_輪_金具3.Dra;
}
set
{
X0Y0_輪_金具3.Dra = value;
X0Y0_輪_金具3.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 bool
{
get
{
return _革_表示;
}
set
{
_革_表示 = value;
_金具1_表示 = value;
_金具2_表示 = value;
_金具3_表示 = value;
_金具左_表示 = value;
_金具右_表示 = value;
}
}
public bool
{
get
{
return 1.;
}
set
{
1. = value;
2. = value;
}
}
public override bool
{
get
{
return Torso_鱗_表示;
}
set
{
Torso_鱗_表示 = value;
Torso_鱗左_表示 = value;
Torso_鱗右_表示 = value;
Torso_表示 = value;
_革_表示 = value;
_金具1_表示 = value;
_金具2_表示 = value;
_金具3_表示 = value;
_金具左_表示 = value;
_金具右_表示 = value;
1. = value;
2. = value;
}
}
public override double Intensity
{
get
{
return Torso_鱗CD.;
}
set
{
Torso_鱗CD. = value;
Torso_鱗左CD. = value;
Torso_鱗右CD. = value;
Torso_TorsoCD. = value;
_革CD. = value;
_金具1CD. = value;
_金具2CD. = value;
_金具3CD. = value;
_金具左CD. = value;
_金具右CD. = value;
}
}
public JointS _接続点 => new JointS(Body, X0Y0_Torso_Torso, 2);
public JointS _接続点 => new JointS(Body, X0Y0_Torso_Torso, 3);
public JointS Torso_接続点 => new JointS(Body, X0Y0_Torso_Torso, 1);
public JointS 1_ => new JointS(Body, X0Y0_輪_金具左, 0);
public JointS 2_ => new JointS(Body, X0Y0_輪_金具右, 0);
public Torso_蛇(double DisUnit, , BodyColorSet , ModeEventDispatcher Med, Torso_蛇D e)
{
Torso_蛇 Torso_蛇2 = this;
ThisType = GetType();
Pars pars = new Pars();
pars.Tag = "蛇";
pars.Add(new Pars(Sta.["長物"][0][2]["胴2"].ToPars()));
pars.Add(new Pars(Sta.["長物"][0][2]["輪1"].ToPars()));
Dif dif = new Dif();
dif.Tag = pars.Tag;
dif.Add(pars);
Body = new Difs();
Body.Tag = dif.Tag;
Body.Add(dif);
Pars pars2 = Body[0][0];
Pars pars3 = pars2["胴2"].ToPars();
X0Y0_Torso_鱗 = pars3["鱗"].ToPar();
X0Y0_Torso_鱗左 = pars3["鱗左"].ToPar();
X0Y0_Torso_鱗右 = pars3["鱗右"].ToPar();
X0Y0_Torso_Torso = pars3["胴"].ToPar();
pars3 = pars2["輪1"].ToPars();
X0Y0_輪_革 = pars3["革"].ToPar();
X0Y0_輪_金具1 = pars3["金具1"].ToPar();
X0Y0_輪_金具2 = pars3["金具2"].ToPar();
X0Y0_輪_金具3 = pars3["金具3"].ToPar();
X0Y0_輪_金具左 = pars3["金具左"].ToPar();
X0Y0_輪_金具右 = pars3["金具右"].ToPar();
Body.SetJoints();
= new JointD(Body);
= 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;
Torso_鱗_表示 = e.Torso_鱗_表示;
Torso_鱗左_表示 = e.Torso_鱗左_表示;
Torso_鱗右_表示 = e.Torso_鱗右_表示;
Torso_表示 = e.Torso_表示;
_革_表示 = e._革_表示;
_金具1_表示 = e._金具1_表示;
_金具2_表示 = e._金具2_表示;
_金具3_表示 = e._金具3_表示;
_金具左_表示 = 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 = Torso_蛇2;
f.ConnectionType = ConnectionInfo.Torso_蛇_左_接続;
f.(Torso_蛇2._接続点);
return f;
}).ToArray();
}
if (e._接続.Count > 0)
{
_接続 = e._接続.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = Torso_蛇2;
f.ConnectionType = ConnectionInfo.Torso_蛇_右_接続;
f.(Torso_蛇2._接続点);
return f;
}).ToArray();
}
if (e.Torso_接続.Count > 0)
{
Torso_接続 = e.Torso_接続.Select(delegate(EleD g)
{
f = g.GetEle(DisUnit, Med, );
f.Par = Torso_蛇2;
f.ConnectionType = ConnectionInfo.Torso_蛇_Torso_接続;
f.(Torso_蛇2.Torso_接続点);
return f;
}).ToArray();
}
base. = ;
();
X0Y0_Torso_鱗CP = new ColorP(X0Y0_Torso_鱗, Torso_鱗CD, DisUnit, abj: true);
X0Y0_Torso_鱗左CP = new ColorP(X0Y0_Torso_鱗左, Torso_鱗左CD, DisUnit, abj: true);
X0Y0_Torso_鱗右CP = new ColorP(X0Y0_Torso_鱗右, Torso_鱗右CD, DisUnit, abj: true);
X0Y0_Torso_TorsoCP = new ColorP(X0Y0_Torso_Torso, Torso_TorsoCD, DisUnit, abj: true);
X0Y0_輪_革CP = new ColorP(X0Y0_輪_革, _革CD, DisUnit, abj: true);
X0Y0_輪_金具1CP = new ColorP(X0Y0_輪_金具1, _金具1CD, DisUnit, abj: true);
X0Y0_輪_金具2CP = new ColorP(X0Y0_輪_金具2, _金具2CD, DisUnit, abj: true);
X0Y0_輪_金具3CP = new ColorP(X0Y0_輪_金具3, _金具3CD, DisUnit, abj: true);
X0Y0_輪_金具左CP = new ColorP(X0Y0_輪_金具左, _金具左CD, DisUnit, abj: true);
X0Y0_輪_金具右CP = new ColorP(X0Y0_輪_金具右, _金具右CD, DisUnit, abj: true);
Intensity = e.;
1 = new (DisUnit, , , , Xasix);
2 = new (DisUnit, !, , , Xasix);
1.(1_);
2.(2_);
int num = ( ? (-10) : 10);
1.B += num;
2.B -= num;
= e.;
}
public override void 0(RenderArea Are)
{
Are.Draw(X0Y0_Torso_鱗);
Are.Draw(X0Y0_Torso_鱗左);
Are.Draw(X0Y0_Torso_鱗右);
Are.Draw(X0Y0_Torso_Torso);
if (Torso_接続 != null && Torso_接続[0]. && Torso_接続[0] is Torso_蛇)
{
((Torso_蛇)Torso_接続[0]).(Are);
}
}
public void (RenderArea Are)
{
Are.Draw(X0Y0_輪_革);
Are.Draw(X0Y0_輪_金具1);
Are.Draw(X0Y0_輪_金具2);
Are.Draw(X0Y0_輪_金具3);
Are.Draw(X0Y0_輪_金具左);
Are.Draw(X0Y0_輪_金具右);
1.0(Are);
2.0(Are);
}
public override void Dispose()
{
base.Dispose();
1.Dispose();
2.Dispose();
}
public override void SetAngle0()
{
if (Par != null && !(Par is _蛇) && Par.Par != null && !(Par.Par is _蛇))
{
_ = ;
X0Y0_Torso_Torso.AngleBase = 20.0.GetRanAngle();
Body.JoinPAall();
}
}
public override bool Is革(ShapePart p)
{
if (p != X0Y0_輪_革 && p != X0Y0_輪_金具1 && p != X0Y0_輪_金具2 && p != X0Y0_輪_金具3 && p != X0Y0_輪_金具左)
{
return p == X0Y0_輪_金具右;
}
return true;
}
public override void ()
{
X0Y0_Torso_鱗CP.Update();
X0Y0_Torso_鱗左CP.Update();
X0Y0_Torso_鱗右CP.Update();
X0Y0_Torso_TorsoCP.Update();
X0Y0_輪_革CP.Update();
X0Y0_輪_金具1CP.Update();
X0Y0_輪_金具2CP.Update();
X0Y0_輪_金具3CP.Update();
X0Y0_輪_金具左CP.Update();
X0Y0_輪_金具右CP.Update();
1.PA();
2.PA();
1.();
2.();
}
public void (BodyColorSet )
{
switch ()
{
case .N0:
N0();
break;
case .T0:
T0();
break;
case .T1:
T1();
break;
default:
N0();
break;
}
}
private void N0(BodyColorSet )
{
Torso_鱗CD = new ColorD(ref Col.Black, ref .1O);
Torso_鱗左CD = new ColorD(ref Col.Black, ref .0O);
Torso_鱗右CD = new ColorD(ref Col.Black, ref .0O);
Torso_TorsoCD = new ColorD(ref Col.Black, ref .0O);
_革CD = new ColorD();
_金具1CD = new ColorD();
_金具2CD = new ColorD();
_金具3CD = new ColorD();
_金具左CD = new ColorD();
_金具右CD = new ColorD();
}
private void T0(BodyColorSet )
{
Torso_鱗CD = new ColorD(ref Col.Black, ref .1O);
Torso_鱗左CD = new ColorD(ref Col.Black, ref .O);
Torso_鱗右CD = new ColorD(ref Col.Black, ref .O);
Torso_TorsoCD = new ColorD(ref Col.Black, ref .0O);
_革CD = new ColorD();
_金具1CD = new ColorD();
_金具2CD = new ColorD();
_金具3CD = new ColorD();
_金具左CD = new ColorD();
_金具右CD = new ColorD();
}
private void T1(BodyColorSet )
{
Torso_鱗CD = new ColorD(ref Col.Black, ref .1O);
Torso_鱗左CD = new ColorD(ref Col.Black, ref .0O);
Torso_鱗右CD = new ColorD(ref Col.Black, ref .0O);
Torso_TorsoCD = new ColorD(ref Col.Black, ref .O);
_革CD = new ColorD();
_金具1CD = new ColorD();
_金具2CD = new ColorD();
_金具3CD = new ColorD();
_金具左CD = new ColorD();
_金具右CD = new ColorD();
}
public void ( )
{
_革CD. = .;
_金具1CD. = .;
_金具2CD. = _金具1CD.;
_金具3CD. = _金具1CD.;
_金具左CD. = _金具1CD.;
_金具右CD. = _金具1CD.;
}
public void ( )
{
1.();
2.();
}
}
}