Files
SlaveMatrix-SDL/SlaveMatrix/SlaveMatrix/GameClasses/TrainingUI.cs
lewd-alt 8fb31d38bb linting
removed some dead code and fixed a few bugs i introduced
2025-08-03 13:09:54 -07:00

3194 lines
102 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using _2DGAMELIB;
namespace SlaveMatrix
{
public class TrainingUI : Ele
{
private ulong = 10000000uL;
private ConstProp CP = new ConstProp();
public const double = 0.5;
public const double = 0.7;
public Med Med;
public Are Are;
public Unit Uni;
public Cha Cha;
public Bod Bod;
public InfoPanel ip;
public ;
public ;
public ;
public ;
public ;
public _コモン ;
public _ディル ;
public _アナル ;
public _デンマ ;
public _ドリル ;
public ;
public ;
public 調 調;
public T剃刀 T剃刀;
public 1 1;
public 1 2;
public 1 3;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM CM;
public CM 調CM;
public CM T剃刀CM;
public CM 1CM;
public CM 2CM;
public CM 3CM;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public ;
public 調 調;
public ;
public ;
public ;
public ;
public But 調;
public But ;
public But ;
public But ;
public But ;
public But ;
public But ;
private Swi sw = new Swi(Color.OrangeRed);
private Swi sw = new Swi(Color.OrangeRed);
private Swi sw = new Swi(Color.OrangeRed);
private Swi sw = new Swi(Color.OrangeRed);
public Gau sゲージ;
public Gau sゲージ;
public Gau sゲージ;
public Gau mゲージ;
public Gau mゲージ;
public Gau mゲージ;
public Tex ;
public bool ;
public ;
public Mot ;
public Mot ;
public Mots Mots = new Mots();
public Onomatopoeia ;
public Queue<Action<Are>> = new Queue<Action<Are>>();
private Are Film;
public bool _;
public bool ;
private CM focus;
private bool _;
public List<> SubFocus = new List<>();
public bool i肛f;
public bool f;
public bool oh;
public bool IsTB;
private f;
public s;
public const double cs = 1.09;
public bool ;
private MouseButtons d;
private bool IsTool;
private CM hcm;
private ef;
private bool sf = true;
public bool ;
public bool bu;
public bool bu;
public double X;
public double Y;
public Tex InfoBox;
public Tex SensitivityBox;
public But SlaveStamina;
public But PlayerStamina;
public Color hc
{
get
{
Par x0Y0_羽根 = .X0Y0_羽根1;
return Med.GetHitColor(Med.FromBasePosition(x0Y0_羽根.ToGlobal(x0Y0_羽根.JP[1].Joint)));
}
}
public bool Is挿入
{
get
{
if ((focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入) && (focus != CM || !.Is挿入))
{
if (focus == CM)
{
return .Is挿入;
}
return false;
}
return true;
}
}
public bool Is脚修正1
{
get
{
if (!.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Is膣 && !.Is肛 && !.Is糸 && !.Isくぱぁ && !Player.Is性器接触)
{
return Cha.Is放尿();
}
return true;
}
}
public bool Is脚修正2
{
get
{
if (!.Isパイズリ && !.Is乳繰り && !.Is乳摘み && !.Is乳捏ね && !..Run)
{
return Player.CurrentContactType == ContactType.Milk;
}
return true;
}
}
public bool Isモード
{
get
{
if (!Is挿入 && (focus != CM || !.Isモード) && (focus != CM || !.Isモード) && (focus != CM || !.Isパイズリ))
{
return ;
}
return true;
}
}
public bool
{
get
{
return _;
}
set
{
_ = value;
CM.Under = value;
}
}
public CM Focus
{
get
{
return focus;
}
set
{
FocusReset();
Focus_nr = value;
if (Med.Mode == "Training" && Cha != null && Cha.ChaD.Lust > 0.5 && RNG.XS.NextBool())
{
Cha.EyeTracking.Start();
}
}
}
public CM Focus_nr
{
get
{
return focus;
}
set
{
focus = value;
focus.StaShow = false;
focus.使 = UsageStatus.InUse;
focus.Ele. = 1.0;
if (focus == CM)
{
.B = -90.0;
}
}
}
public bool
{
get
{
return _;
}
set
{
_ = value;
if (_)
{
.SetHitFalse();
CM.使 = UsageStatus.InUse;
}
else if (Focus != CM)
{
.SetHitTrue();
CM.使 = UsageStatus.Standby;
}
}
}
public bool Is乳弄り
{
get
{
if (!.Is乳捏ね && !.Is乳摘み && !.Is乳繰り && (!.Isパイズリ || .Isパイズリ他動) && !.Is核捏ね)
{
return .Is膣;
}
return true;
}
}
public bool Is口挿入
{
get
{
if (!.Is口 && !.Is口 && !.Is口 && !.Is口 && !.Is口 && !.Is口 && !.Is口 && !.Is口 && !.Is口)
{
return .Is口;
}
return true;
}
}
public bool Is膣挿入
{
get
{
if (!.Is膣 && !.Is膣 && !.Is膣 && !.Is膣 && !.Is膣 && !.Is膣 && !.Is膣 && !.Is膣 && !.Is膣)
{
return .Is膣;
}
return true;
}
}
public bool Is肛挿入
{
get
{
if (!.Is肛 && !.Is肛 && !.Is肛 && !.Is肛 && !.Is肛 && !.Is肛 && !.Is肛 && !.Is肛 && !.Is肛)
{
return .Is肛;
}
return true;
}
}
public bool Is糸挿入
{
get
{
if (!.Is糸 && !.Is糸 && !.Is糸 && !.Is糸 && !.Is糸 && !.Is糸 && !.Is糸 && !.Is糸 && !.Is糸)
{
return .Is糸;
}
return true;
}
}
public bool Isフォーカス糸挿入
{
get
{
if ((focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸) && (focus != CM || !.Is糸))
{
if (focus == CM)
{
return .Is糸;
}
return false;
}
return true;
}
}
public bool IsSub糸挿入 => SubFocus.Any(( e) => e.Is糸);
public bool Isフォーカス膣肛挿入
{
get
{
if ((focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)) && (focus != CM || (!.Is膣 && !.Is肛)))
{
if (focus == CM)
{
if (!.Is膣)
{
return .Is肛;
}
return true;
}
return false;
}
return true;
}
}
public void (Vector2D p, string s, Color c, double d, bool b)
{
.Enqueue(delegate(Are a)
{
.Sound(a, p, s, new Font("MS Gothic", 1f), c, d, b);
});
}
public void ()
{
.Enqueue(delegate(Are a)
{
.Sound(a, Bod.尿.GetAreaPoint(0.04), Sta..GetVal(Player.V_潮吹, Player.V_固有値乱数), new Font("MS Gothic", 1f), Color.Azure, 0.2 + 0.2 * RNG.XS.NextDouble() * Player.V_潮吹, b: true);
});
}
public void 尿()
{
if (CP.GetFlag(0.1 + 0.1 * Player.V_放尿 * 0.8))
{
.Enqueue(delegate(Are a)
{
.Sound(a, Bod.尿.GetAreaPoint(0.04), Sta.尿.GetVal(Player.V_放尿, Player.V_固有値乱数), new Font("MS Gothic", 1f), Col.Black, 0.2 + 0.2 * RNG.XS.NextDouble() * Player.V_放尿, b: true);
});
}
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public void ()
{
}
public IEnumerable<CM> EnumCM()
{
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return CM;
yield return 調CM;
yield return T剃刀CM;
yield return 1CM;
yield return 2CM;
yield return 3CM;
}
public void Set挿入Position()
{
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
.SetPosition();
}
private void Set_ペニス(Ele t)
{
t.B = .AreM.Position;
}
private void Set_ロータ(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_ロータ.ToGlobal_nc(.X0Y0_ロータ.JP[1].Joint.AddY(0.004));
break;
case 1:
t.B = .X0Y1_ロータ.ToGlobal_nc(.X0Y1_ロータ.JP[1].Joint.AddY(0.004));
break;
case 2:
t.B = .X0Y2_ロータ.ToGlobal_nc(.X0Y2_ロータ.JP[1].Joint.AddY(0.004));
break;
case 3:
t.B = .X0Y3_ロータ.ToGlobal_nc(.X0Y3_ロータ.JP[0].Joint.AddY(0.004));
break;
default:
t.B = .X0Y4_ロータ.ToGlobal_nc(.X0Y4_ロータ.JP[0].Joint.AddY(0.004));
break;
}
}
private void Set_コモン(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_ユニット_ユニット.ToGlobal_nc(.X0Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X0Y1_ユニット_ユニット.ToGlobal_nc(.X0Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X0Y2_ユニット_ユニット.ToGlobal_nc(.X0Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X0Y3_ユニット_ユニット.ToGlobal_nc(.X0Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X0Y4_ユニット_ユニット.ToGlobal_nc(.X0Y4_ユニット_ユニット.JP[6].Joint);
break;
}
}
private void Set_ディル(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_ユニット_ユニット.ToGlobal_nc(.X0Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X0Y1_ユニット_ユニット.ToGlobal_nc(.X0Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X0Y2_ユニット_ユニット.ToGlobal_nc(.X0Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X0Y3_ユニット_ユニット.ToGlobal_nc(.X0Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X0Y4_ユニット_ユニット.ToGlobal_nc(.X0Y4_ユニット_ユニット.JP[6].Joint);
break;
}
}
private void Set_アナル(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_ユニット_ユニット.ToGlobal_nc(.X0Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X0Y1_ユニット_ユニット.ToGlobal_nc(.X0Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X0Y2_ユニット_ユニット.ToGlobal_nc(.X0Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X0Y3_ユニット_ユニット.ToGlobal_nc(.X0Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X0Y4_ユニット_ユニット.ToGlobal_nc(.X0Y4_ユニット_ユニット.JP[6].Joint);
break;
}
}
private void Set_デンマ(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_ユニット_ユニット.ToGlobal_nc(.X0Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X0Y1_ユニット_ユニット.ToGlobal_nc(.X0Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X0Y2_ユニット_ユニット.ToGlobal_nc(.X0Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X0Y3_ユニット_ユニット.ToGlobal_nc(.X0Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X0Y4_ユニット_ユニット.ToGlobal_nc(.X0Y4_ユニット_ユニット.JP[6].Joint);
break;
}
}
private void Set_ドリル(Ele t)
{
switch (.Xi)
{
case 0:
switch (.Yi)
{
case 0:
t.B = .X0Y0_ユニット_ユニット.ToGlobal_nc(.X0Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X0Y1_ユニット_ユニット.ToGlobal_nc(.X0Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X0Y2_ユニット_ユニット.ToGlobal_nc(.X0Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X0Y3_ユニット_ユニット.ToGlobal_nc(.X0Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X0Y4_ユニット_ユニット.ToGlobal_nc(.X0Y4_ユニット_ユニット.JP[6].Joint);
break;
}
break;
case 1:
switch (.Yi)
{
case 0:
t.B = .X1Y0_ユニット_ユニット.ToGlobal_nc(.X1Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X1Y1_ユニット_ユニット.ToGlobal_nc(.X1Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X1Y2_ユニット_ユニット.ToGlobal_nc(.X1Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X1Y3_ユニット_ユニット.ToGlobal_nc(.X1Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X1Y4_ユニット_ユニット.ToGlobal_nc(.X1Y4_ユニット_ユニット.JP[6].Joint);
break;
}
break;
default:
switch (.Yi)
{
case 0:
t.B = .X2Y0_ユニット_ユニット.ToGlobal_nc(.X2Y0_ユニット_ユニット.JP[6].Joint);
break;
case 1:
t.B = .X2Y1_ユニット_ユニット.ToGlobal_nc(.X2Y1_ユニット_ユニット.JP[6].Joint);
break;
case 2:
t.B = .X2Y2_ユニット_ユニット.ToGlobal_nc(.X2Y2_ユニット_ユニット.JP[6].Joint);
break;
case 3:
t.B = .X2Y3_ユニット_ユニット.ToGlobal_nc(.X2Y3_ユニット_ユニット.JP[6].Joint);
break;
default:
t.B = .X2Y4_ユニット_ユニット.ToGlobal_nc(.X2Y4_ユニット_ユニット.JP[6].Joint);
break;
}
break;
}
}
private void Set_パール(Ele t)
{
switch (.Yi)
{
case 0:
t.B = .X0Y0_輪下.ToGlobal_nc(.X0Y0_輪下.JP[0].Joint);
break;
case 1:
t.B = .X0Y1_輪下.ToGlobal_nc(.X0Y1_輪下.JP[0].Joint);
break;
case 2:
t.B = .X0Y2_輪下.ToGlobal_nc(.X0Y2_輪下.JP[0].Joint);
break;
case 3:
t.B = .X0Y3_輪下.ToGlobal_nc(.X0Y3_輪下.JP[0].Joint);
break;
case 4:
t.B = .X0Y4_輪下.ToGlobal_nc(.X0Y4_輪下.JP[0].Joint);
break;
case 5:
t.B = .X0Y5_輪下.ToGlobal_nc(.X0Y5_輪下.JP[0].Joint);
break;
case 6:
t.B = .X0Y6_輪下.ToGlobal_nc(.X0Y6_輪下.JP[0].Joint);
break;
case 7:
t.B = .X0Y7_輪下.ToGlobal_nc(.X0Y7_輪下.JP[0].Joint);
break;
case 8:
t.B = .X0Y8_輪下.ToGlobal_nc(.X0Y8_輪下.JP[0].Joint);
break;
case 9:
t.B = .X0Y9_輪下.ToGlobal_nc(.X0Y9_輪下.JP[0].Joint);
break;
case 10:
t.B = .X0Y10_輪下.ToGlobal_nc(.X0Y10_輪下.JP[0].Joint);
break;
case 11:
t.B = .X0Y11_輪下.ToGlobal_nc(.X0Y11_輪下.JP[0].Joint);
break;
case 12:
t.B = .X0Y12_輪下.ToGlobal_nc(.X0Y12_輪下.JP[0].Joint);
break;
case 13:
t.B = .X0Y13_輪下.ToGlobal_nc(.X0Y13_輪下.JP[0].Joint);
break;
case 14:
t.B = .X0Y14_輪下.ToGlobal_nc(.X0Y14_輪下.JP[0].Joint);
break;
case 15:
t.B = .X0Y15_輪下.ToGlobal_nc(.X0Y15_輪下.JP[0].Joint);
break;
default:
t.B = .X0Y16_輪下.ToGlobal_nc(.X0Y16_輪下.JP[0].Joint);
break;
}
}
private void Set_羽根箒(Ele t)
{
t.B = .X0Y0_柄.ToGlobal_nc(.X0Y0_柄.JP[1].Joint);
t.C = .X0Y0_柄.Angle;
}
private void Set_調教鞭(Ele t)
{
int num = -45;
if (調.Xi == 0)
{
switch (調.Yi)
{
case 0:
t.B = 調.X0Y0_柄.ToGlobal_nc(調.X0Y0_柄.JP[1].Joint);
t.C = 調.X0Y0_柄.Angle;
break;
case 1:
t.B = 調.X0Y1_柄.ToGlobal_nc(調.X0Y1_柄.JP[1].Joint);
t.C = 調.X0Y1_柄.Angle;
break;
case 2:
t.B = 調.X0Y2_柄.ToGlobal_nc(調.X0Y2_柄.JP[1].Joint);
t.C = 調.X0Y2_柄.Angle;
break;
case 3:
t.B = 調.X0Y3_柄.ToGlobal_nc(調.X0Y3_柄.JP[1].Joint);
t.C = 調.X0Y3_柄.Angle;
break;
default:
t.B = 調.X0Y4_柄.ToGlobal_nc(調.X0Y4_柄.JP[1].Joint);
t.C = 調.X0Y4_柄.Angle;
break;
}
}
else if (調.Yi == 0)
{
t.B = 調.X1Y0_柄.ToGlobal_nc(調.X1Y0_柄.JP[1].Joint);
t.C = (double)((調.Xi != 0) ? num : 0) + 調.X0Y0_柄.Angle;
}
else
{
t.B = 調.X1Y4_柄.ToGlobal_nc(調.X1Y4_柄.JP[1].Joint);
t.C = (double)((調.Xi != 0) ? (-num) : 0) + 調.X0Y4_柄.Angle;
}
}
private void Set_T剃刀(Ele t)
{
t.B = T剃刀.X0Y0_グリップ_グリップ4.ToGlobal_nc(T剃刀.X0Y0_グリップ_グリップ4.JP[0].Joint);
t.C = T剃刀.X0Y0_グリップ_グリップ4.Angle;
}
public void Set_キャップ1(Ele t)
{
t.B = 1.X0Y0_先端.ToGlobal_nc(1.X0Y0_先端.JP[0].Joint);
}
public void Set_キャップ2(Ele t)
{
t.B = 2.X0Y0_先端.ToGlobal_nc(2.X0Y0_先端.JP[0].Joint);
}
public void Set_キャップ3(Ele t)
{
t.B = 3.X0Y0_先端.ToGlobal_nc(3.X0Y0_先端.JP[0].Joint);
}
public void Set_キャップ左(Ele t)
{
2 2 = Bod.2;
t.B = 2.X0Y0_先端.ToGlobal_nc(2.X0Y0_先端.JP[0].Joint);
}
public void Set_キャップ右(Ele t)
{
2 2 = Bod.2;
t.B = 2.X0Y0_先端.ToGlobal_nc(2.X0Y0_先端.JP[0].Joint);
}
public void Set_キャップ中(Ele t)
{
1 3 = Bod.1;
t.B = 3.X0Y0_先端.ToGlobal_nc(3.X0Y0_先端.JP[0].Joint);
}
public void Set_口(Ele t)
{
Par par = Bod...Current.EnumAllPar().First((Par e) => e.Tag == "口");
Bod..PA();
t.B = par.Position;
}
public void Set_乳首(Ele t, bool )
{
2 = ( ? Bod. : Bod.);
2.PA();
switch (2.Yi)
{
case 0:
t.B = 2.X0Y0_乳首.ToGlobal_nc(2.X0Y0_乳首.JP[0].Joint);
break;
case 1:
t.B = 2.X0Y1_乳首.ToGlobal_nc(2.X0Y1_乳首.JP[0].Joint);
break;
case 2:
t.B = 2.X0Y2_乳首.ToGlobal_nc(2.X0Y2_乳首.JP[0].Joint);
break;
case 3:
t.B = 2.X0Y3_乳首.ToGlobal_nc(2.X0Y3_乳首.JP[0].Joint);
break;
default:
t.B = 2.X0Y4_乳首.ToGlobal_nc(2.X0Y4_乳首.JP[0].Joint);
break;
}
}
public void Set_乳房(Ele t, bool )
{
2 = ( ? Bod. : Bod.);
2.PA();
switch (2.Yi)
{
case 0:
t.B = 2.X0Y0_乳房.ToGlobal_nc(2.X0Y0_乳房.OP.GetCenter());
break;
case 1:
t.B = 2.X0Y1_乳房.ToGlobal_nc(2.X0Y1_乳房.OP.GetCenter());
break;
case 2:
t.B = 2.X0Y2_乳房.ToGlobal_nc(2.X0Y2_乳房.OP.GetCenter());
break;
case 3:
t.B = 2.X0Y3_乳房.ToGlobal_nc(2.X0Y3_乳房.OP.GetCenter());
break;
default:
t.B = 2.X0Y4_乳房.ToGlobal_nc(2.X0Y4_乳房.OP.GetCenter());
break;
}
}
public void Set_陰核(Ele t)
{
Par par = Bod...Current.EnumAllPar().First((Par e) => e.Tag == "陰核");
Bod..PA();
t.B = par.Position;
}
public void Set_膣口(Ele t)
{
Par par = Bod...Current.EnumAllPar().First((Par e) => e.Tag == "膣口");
Bod..PA();
t.B = par.Position;
}
public void Set_肛門(Ele t)
{
Bod..PA();
t.B = Bod..;
}
public void Set_出糸(Ele t)
{
Bod..PA();
t.B = Bod..X0Y0_出糸突起後_出糸突起基.Position;
}
public void Set_くぱぁ(Ele t, bool )
{
Par par = (Bod.Is獣 ? Bod._獣..Current.EnumAllPar().First((Par e) => e.Tag == "股") : Bod...Current.EnumAllPar().First((Par e) => e.Tag == "股"));
Bod..PA();
if ()
{
t.B = par.Position.AddXY(0.018, 0.002);
}
else
{
t.B = par.Position.AddXY(-0.018, 0.002);
}
}
public bool IsHitCha(ref ContactD cd)
{
return cd.e != null;
}
public bool Isバイブ(CM cm)
{
if (CM != cm && CM != cm && CM != cm && CM != cm)
{
return CM == cm;
}
return true;
}
public Get挿入処理()
{
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
if (Focus == CM)
{
return ;
}
return null;
}
private Get挿入処理(ref Color hc)
{
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
if (..IsHit(ref hc))
{
return ;
}
return null;
}
public void FocusReset()
{
if (focus == .)
{
. = false;
}
else if (focus == .)
{
. = false;
}
else if (focus == .)
{
. = false;
}
else if (focus == .)
{
. = false;
}
else if (focus == .)
{
. = false;
}
else if (focus == .)
{
. = false;
. = false;
}
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
. = false;
調. = false;
();
focus.StaShow = true;
focus.使 = UsageStatus.Standby;
focus.Ele.Xi = 0;
focus.Ele.Yi = 0;
focus.Ele.B = focus.bp;
focus.Ele.C = Dat.Vec2DZero;
focus.Ele.B = 0.0;
focus.Ele.C = 0.0;
focus.Ele. = false;
if (focus == 調CM)
{
調.Yi = 2;
focus.Ele.C = 0.0;
}
focus.Ele..JoinPAall();
}
public void Set持ち手()
{
if (focus == CM || focus == CM || focus == CM)
{
= false;
.C = Dat.Vec2DZero;
.B = 0.0;
.C = 0.0;
.Xi = 0;
.Yi = 0;
..JoinPA();
return;
}
= true;
.C = Dat.Vec2DZero;
.B = 0.0;
.C = 0.0;
if (focus == CM || focus == CM || focus == CM || focus == CM || focus == CM)
{
.Xi = 13;
}
else if (focus == CM || focus == CM || focus == CM || focus == 調CM || focus == T剃刀CM)
{
.Xi = 11;
}
else if (focus == 1CM)
{
.Xi = 5;
Set_キャップ1();
}
else if (focus == 2CM)
{
.Xi = 5;
Set_キャップ2();
}
else if (focus == 3CM)
{
.Xi = 5;
Set_キャップ3();
}
..JoinPA();
}
public void Joi持ち手()
{
if ()
{
if (focus == CM)
{
Set_ペニス();
.C = 0.0 - .C;
}
else if (focus == CM)
{
Set_ロータ();
}
else if (focus == CM)
{
Set_コモン();
}
else if (focus == CM)
{
Set_ディル();
}
else if (focus == CM)
{
Set_アナル();
}
else if (focus == CM)
{
Set_デンマ();
}
else if (focus == CM)
{
Set_ドリル();
}
else if (focus == CM)
{
Set_パール();
}
else if (focus == CM)
{
Set_羽根箒();
}
else if (focus == 調CM)
{
Set_調教鞭();
}
else if (focus == T剃刀CM)
{
Set_T剃刀();
}
else if (Focus == 1CM)
{
Set_キャップ1();
}
else if (Focus == 2CM)
{
Set_キャップ2();
}
else if (Focus == 3CM)
{
Set_キャップ3();
}
}
}
public void In持ち手()
{
if ()
{
. = 0.2;
}
}
public void Out持ち手()
{
if ()
{
. = 1.0;
}
}
public void ()
{
if ()
{
Joi持ち手();
..JoinPA();
.();
if (.Xi == 11)
{
Are.Draw(.X11Y0_小指);
Are.Draw(.X11Y0_薬指);
Are.Draw(.X11Y0_中指);
Are.Draw(.X11Y0_人指);
}
}
}
public void ()
{
if (!)
{
return;
}
switch (.Xi)
{
case 5:
switch (.Yi)
{
case 0:
Are.Draw(.X5Y0_親指);
Are.Draw(.X5Y0_手);
Are.Draw(.X5Y0_小指);
Are.Draw(.X5Y0_薬指);
Are.Draw(.X5Y0_中指);
Are.Draw(.X5Y0_人指);
Are.Draw(.X5Y0_呪印_輪1_輪外);
Are.Draw(.X5Y0_呪印_輪1_輪内);
Are.Draw(.X5Y0_呪印_輪2_輪外);
Are.Draw(.X5Y0_呪印_輪2_輪内);
Are.Draw(.X5Y0_呪印_輪3_輪外);
Are.Draw(.X5Y0_呪印_輪3_輪内);
Are.Draw(.X5Y0_呪印_鎖1);
Are.Draw(.X5Y0_呪印_鎖2);
Are.Draw(.X5Y0_呪印_鎖3);
break;
case 1:
Are.Draw(.X5Y1_親指);
Are.Draw(.X5Y1_手);
Are.Draw(.X5Y1_小指);
Are.Draw(.X5Y1_薬指);
Are.Draw(.X5Y1_中指);
Are.Draw(.X5Y1_人指);
Are.Draw(.X5Y1_呪印_輪1_輪外);
Are.Draw(.X5Y1_呪印_輪1_輪内);
Are.Draw(.X5Y1_呪印_輪2_輪外);
Are.Draw(.X5Y1_呪印_輪2_輪内);
Are.Draw(.X5Y1_呪印_輪3_輪外);
Are.Draw(.X5Y1_呪印_輪3_輪内);
Are.Draw(.X5Y1_呪印_鎖1);
Are.Draw(.X5Y1_呪印_鎖2);
Are.Draw(.X5Y1_呪印_鎖3);
break;
case 2:
Are.Draw(.X5Y2_親指);
Are.Draw(.X5Y2_手);
Are.Draw(.X5Y2_小指);
Are.Draw(.X5Y2_薬指);
Are.Draw(.X5Y2_中指);
Are.Draw(.X5Y2_人指);
Are.Draw(.X5Y2_呪印_輪1_輪外);
Are.Draw(.X5Y2_呪印_輪1_輪内);
Are.Draw(.X5Y2_呪印_輪2_輪外);
Are.Draw(.X5Y2_呪印_輪2_輪内);
Are.Draw(.X5Y2_呪印_輪3_輪外);
Are.Draw(.X5Y2_呪印_輪3_輪内);
Are.Draw(.X5Y2_呪印_鎖1);
Are.Draw(.X5Y2_呪印_鎖2);
Are.Draw(.X5Y2_呪印_鎖3);
break;
case 3:
Are.Draw(.X5Y3_親指);
Are.Draw(.X5Y3_手);
Are.Draw(.X5Y3_小指);
Are.Draw(.X5Y3_薬指);
Are.Draw(.X5Y3_中指);
Are.Draw(.X5Y3_人指);
Are.Draw(.X5Y3_呪印_輪1_輪外);
Are.Draw(.X5Y3_呪印_輪1_輪内);
Are.Draw(.X5Y3_呪印_輪2_輪外);
Are.Draw(.X5Y3_呪印_輪2_輪内);
Are.Draw(.X5Y3_呪印_輪3_輪外);
Are.Draw(.X5Y3_呪印_輪3_輪内);
Are.Draw(.X5Y3_呪印_鎖1);
Are.Draw(.X5Y3_呪印_鎖2);
Are.Draw(.X5Y3_呪印_鎖3);
break;
default:
Are.Draw(.X5Y4_親指);
Are.Draw(.X5Y4_手);
Are.Draw(.X5Y4_小指);
Are.Draw(.X5Y4_薬指);
Are.Draw(.X5Y4_中指);
Are.Draw(.X5Y4_人指);
Are.Draw(.X5Y4_呪印_輪1_輪外);
Are.Draw(.X5Y4_呪印_輪1_輪内);
Are.Draw(.X5Y4_呪印_輪2_輪外);
Are.Draw(.X5Y4_呪印_輪2_輪内);
Are.Draw(.X5Y4_呪印_輪3_輪外);
Are.Draw(.X5Y4_呪印_輪3_輪内);
Are.Draw(.X5Y4_呪印_鎖1);
Are.Draw(.X5Y4_呪印_鎖2);
Are.Draw(.X5Y4_呪印_鎖3);
break;
}
break;
case 11:
Are.Draw(.X11Y0_手);
Are.Draw(.X11Y0_親指);
Are.Draw(.X11Y0_呪印_輪1_輪外);
Are.Draw(.X11Y0_呪印_輪1_輪内);
Are.Draw(.X11Y0_呪印_輪2_輪外);
Are.Draw(.X11Y0_呪印_輪2_輪内);
Are.Draw(.X11Y0_呪印_輪3_輪外);
Are.Draw(.X11Y0_呪印_輪3_輪内);
Are.Draw(.X11Y0_呪印_鎖1);
Are.Draw(.X11Y0_呪印_鎖3);
break;
case 13:
Are.Draw(.X13Y0_中指);
Are.Draw(.X13Y0_人指);
Are.Draw(.X13Y0_手);
Are.Draw(.X13Y0_親指);
Are.Draw(.X13Y0_呪印_輪1_輪外);
Are.Draw(.X13Y0_呪印_輪1_輪内);
Are.Draw(.X13Y0_呪印_輪2_輪外);
Are.Draw(.X13Y0_呪印_輪2_輪内);
Are.Draw(.X13Y0_呪印_輪3_輪外);
Are.Draw(.X13Y0_呪印_輪3_輪内);
Are.Draw(.X13Y0_呪印_鎖1);
Are.Draw(.X13Y0_呪印_鎖3);
break;
}
}
public void ()
{
focus.Ele. = 0.5;
Focus = CM;
if (Med.Mode == "Training")
{
//TODO fix?
//Cursor.Position = Med.BaseControlC.PointToScreen(Med.FromBasePosition(ハンド右.位置B));
}
Set持ち手();
}
public void ()
{
sf = false;
if (i肛f)
{
if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Insert(0, );
CM.使 = UsageStatus.Attach;
}
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
else if (Focus == CM)
{
SubFocus.Add();
CM.使 = UsageStatus.Attach;
}
Focus.Ele.SetHitTrue();
Focus_nr = CM;
//TODO fix?
//Cursor.Position = Med.BaseControlC.PointToScreen(Med.FromBasePosition(ハンド右.位置B));
Set持ち手();
}
private void SetIs膣i肛f()
{
f = Get挿入処理()?.Is肛 ?? false;
i肛f = f && SubFocus.Any(( e) => e.Is膣);
}
public void Setハンド左( i)
{
if (i == )
{
Set_ロータ();
}
else if (i == )
{
Set_コモン();
}
else if (i == )
{
Set_ディル();
}
else if (i == )
{
Set_アナル();
}
else if (i == )
{
Set_デンマ();
}
else if (i == )
{
Set_ドリル();
}
else if (i == )
{
Set_パール();
}
CM.Draws(Are);
}
public void (ref ContactD cd)
{
if (IsHitCha(ref cd) || focus == CM || focus == 調CM)
{
focus.Ele.C = 1.0;
if ( || .Isパイズリ)
{
.C = 1.0;
}
.C = 1.0;
= true;
}
}
public void ()
{
if (!Is挿入)
{
focus.Ele.C = 1.09;
if ( || .Isパイズリ)
{
.C = 1.09;
}
.C = 1.09;
= false;
}
}
public void ()
{
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
if (.Is膣 || .Is肛)
{
..Start();
}
}
public void ()
{
if (!Bod.Is拘束 && Bod.n > 0)
{
Cha.();
Cha.Bod.Update();
}
}
public void ()
{
if (!Bod.Is拘束 && Bod.n > 0 && Bod.Is最前腕人)
{
Cha.();
Cha.Bod.EI腕前.Updatef = true;
}
}
public void ()
{
if (!Bod.Is拘束 && Bod.n > 0)
{
Cha.();
}
}
private void SubInfoSet(ref MouseButtons mb, ref Vector2D cp, ref Vector2D op, ref Color hc, ref ContactD cd)
{
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref op, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref op, ref hc, ref cd);
調.Move(ref mb, ref cp, ref hc, ref cd);
}
public void Move(ref MouseButtons mb, ref Vector2D cp, ref Vector2D op, ref Color hc, ref ContactD cd)
{
if (d != mb)
{
return;
}
if (!Is挿入 && !.Isパイズリ && !.Is吸付 && !)
{
Focus.Ele.B = cp;
}
if (IsTool = X < cp.X && cp.Y < Y && mb != MouseButtons.Left && !Isモード)
{
Med.CursorShow();
if (focus.Ele. == 1.0)
{
Focus.Ele. = 0.2;
}
In持ち手();
Color hc_ = hc;
hcm = (from e in EnumCM()
where e.使 == UsageStatus.Standby
select e).FirstOrDefault((CM e) => e.Ele..IsHit(ref hc_));
if (hcm != null)
{
foreach (CM item in from e in EnumCM()
where e.使 == UsageStatus.Standby
select e)
{
item.Ele. = 0.5;
}
hcm.Ele. = 1.0;
}
else
{
foreach (CM item2 in from e in EnumCM()
where e.使 == UsageStatus.Standby && e.Ele. == 1.0
select e)
{
item2.Ele. = 0.5;
}
}
}
else
{
if (ip.MaiShow)
{
Med.CursorShow();
}
else
{
Med.CursorHide();
}
if (focus.Ele. == 0.2)
{
Focus.Ele. = 1.0;
}
Out持ち手();
foreach (CM item3 in from e in EnumCM()
where e.使 == UsageStatus.Standby && e.Ele. == 1.0
select e)
{
item3.Ele. = 0.5;
}
if (!Isモード)
{
調.Move(ref hc);
.Move(ref hc);
.Move(ref hc);
.Move(ref hc);
.Move(ref hc);
.Move(ref hc);
.Move(ref hc);
SlaveStamina.Move(ref hc);
PlayerStamina.Move(ref hc);
if (調.Pars.IsHit(ref hc) || .Pars.IsHit(ref hc) || .Pars.IsHit(ref hc) || .Pars.IsHit(ref hc) || .Pars.IsHit(ref hc) || .Pars.IsHit(ref hc) || .Pars.IsHit(ref hc))
{
Med.CursorShow();
}
else if (ip.MaiShow)
{
Med.CursorShow();
}
else if (SlaveStamina.Pars.IsHit(ref hc) || PlayerStamina.Pars.IsHit(ref hc))
{
Med.CursorShow();
}
else
{
Med.CursorHide();
}
}
}
oh = false;
ef = null;
if (sf && !.Isモード && Focus == CM && SubFocus.Count > 0)
{
bool flag = true;
foreach ( item4 in SubFocus)
{
if (flag = item4..Ele..IsHit(ref hc))
{
if (item4. == CM)
{
Set_ロータ();
.Xi = 11;
}
else if (item4. == CM)
{
Set_コモン();
.Xi = 13;
}
else if (item4. == CM)
{
Set_ディル();
.Xi = 13;
}
else if (item4. == CM)
{
Set_アナル();
.Xi = 13;
}
else if (item4. == CM)
{
Set_デンマ();
.Xi = 13;
}
else if (item4. == CM)
{
Set_ドリル();
.Xi = 13;
}
else if (item4. == CM)
{
Set_パール();
.Xi = 11;
}
else if (item4. == CM)
{
Set_羽根箒();
.Xi = 11;
}
else if (item4. == 調CM)
{
Set_調教鞭();
.Xi = 11;
}
else if (item4. == T剃刀CM)
{
Set_T剃刀();
.Xi = 11;
}
ef = item4;
if (Sta.GameData.)
{
ip.SubInfoIm = ((item4. == CM) ? ("LCl:" + GameText.) : ("LCl:" + GameText.));
}
2 = Get挿入処理(ref hc);
oh = 2 != null && 2.Is肛 && focus == CM;
break;
}
}
if (!flag)
{
if (.Xi == 11 || .Xi == 13)
{
.Xi = 0;
}
ef = null;
}
}
else
{
sf = true;
}
if (!..Run && !..Run)
{
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref op, ref hc, ref cd);
.Move(ref mb, ref cp, ref hc, ref cd);
.Move(ref mb, ref cp, ref op, ref hc, ref cd);
調.Move(ref mb, ref cp, ref hc, ref cd);
}
IsTB = false;
f = Get挿入処理();
if (IsTB = Isバイブ(focus) && f != null && ((f.Is膣 && SubFocus.Any(( e) => e.Is肛 && Isバイブ(e.))) || (f.Is肛 && SubFocus.Any(( e) => e.Is膣 && Isバイブ(e.)))))
{
if (f.Is膣)
{
(s = SubFocus.First(( e) => e.Is肛)).MoveR(ref mb, ref cp, ref hc, ref cd);
}
else if (f.Is肛)
{
(s = SubFocus.First(( e) => e.Is膣)).MoveR(ref mb, ref cp, ref hc, ref cd);
}
s..End();
if (s == )
{
Set_ロータ();
.Xi = 11;
}
else if (s == )
{
Set_コモン();
.Xi = 13;
}
else if (s == )
{
Set_ディル();
.Xi = 13;
}
else if (s == )
{
Set_アナル();
.Xi = 13;
}
else if (s == )
{
Set_デンマ();
.Xi = 13;
}
else if (s == )
{
Set_ドリル();
.Xi = 13;
}
else if (s == )
{
Set_パール();
.Xi = 11;
}
}
SetIs膣i肛f();
if (Sta.GameData. && IsTool && hcm != null)
{
ip.SubInfoIm = ((hcm == CM || hcm == CM || hcm == CM) ? ("LCl:" + GameText.) : ("LCl:" + GameText.));
}
if (.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = GameText.;
}
if (.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = GameText.;
}
if (.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = GameText.;
}
if (.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = GameText.;
}
if (.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = GameText. + "(-" + .ToString("#,0") + ")";
}
if (SlaveStamina.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = "Reset slave's stamina";
}
if (PlayerStamina.Pars.Values.First().ToPar().HitColor == hc)
{
ip.SubInfoIm = "Reset player's stamina";
}
if (.Pars.Values.First().ToPar().HitColor == hc && ip.SubInfoIm != GameText. + "\r\n" + GameText.Photoフォルダに保存されます)
{
ip.SubInfoIm = GameText.;
}
}
public void Down(ref MouseButtons mb, ref Vector2D cp, ref Vector2D op, ref Color hc, ref ContactD cd)
{
if (d != 0)
{
return;
}
if (Player.)
{
Player. = false;
調.Action(調);
return;
}
if (X < cp.X && cp.Y < Y)
{
Color hc_ = hc;
CM cM = (from e in EnumCM()
where e.使 == UsageStatus.Standby
select e).FirstOrDefault((CM e) => e.Ele..IsHit(ref hc_));
if (cM != null)
{
Focus.Ele. = 0.5;
Focus = cM;
Focus.Ele. = 0.2;
Focus.Ele.B = Med.CursorPosition;
Set持ち手();
if ()
{
. = 0.2;
}
else
{
.B = CM.bp;
}
SubInfoSet(ref mb, ref cp, ref op, ref hc, ref cd);
}
}
else
{
調.Down(ref hc);
.Down(ref hc);
.Down(ref hc);
.Down(ref hc);
.Down(ref hc);
.Down(ref hc);
.Down(ref hc);
SlaveStamina.Down(ref hc);
PlayerStamina.Down(ref hc);
}
if (Focus == CM && SubFocus.Count > 0 && ef != null)
{
ef..End();
SubFocus.Remove(ef);
Focus = ef.;
ef..End();
if (ef != )
{
ef. = true;
}
ef = null;
Set持ち手();
}
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref op, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
.Down(ref mb, ref cp, ref hc, ref cd);
調.Down(ref mb, ref cp, ref hc, ref cd);
SetIs膣i肛f();
d = mb;
}
public void Up(ref MouseButtons mb, ref Vector2D cp, ref Color hc, ref ContactD cd)
{
if (d == mb)
{
調.Up(ref hc);
.Up(ref hc);
.Up(ref hc);
.Up(ref hc);
.Up(ref hc);
.Up(ref hc);
.Up(ref hc);
SlaveStamina.Up(ref hc);
PlayerStamina.Up(ref hc);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc);
.Up(ref mb, ref cp, ref hc, ref cd);
.Up(ref mb, ref cp, ref hc, ref cd);
d = MouseButtons.None;
}
}
public void Wheel(ref MouseButtons mb, ref Vector2D cp, ref int dt, ref Color hc, ref ContactD cd)
{
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
.Wheel(ref mb, ref cp, ref dt, ref hc, ref cd);
調.Wheel(ref mb, ref cp, ref dt, ref hc);
}
public void Leave(ref MouseButtons mb, ref Vector2D cp, ref Color hc)
{
Med.CursorShow();
調.Leave();
.Leave();
.Leave();
.Leave();
.Leave();
.Leave();
.Leave();
SlaveStamina.Leave();
PlayerStamina.Leave();
}
public TrainingUI(Med Med, Are Are, InfoPanel ip)
{
TrainingUI 調UI2 = this;
try
{
this.Med = Med;
this.Are = Are;
double disUnit = Are.DisUnit;
this.ip = ip;
CM = new CM(Med, this, = new (disUnit, .N0, Sta.GameData., Med, new D
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new (disUnit, .N0, Sta.GameData., Med, new D
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new (disUnit, .N0, Sta.GameData., Med, new D
{
C = 1.09,
_輪1_輪外_表示 = false,
_輪1_輪内_表示 = false,
_輪2_輪外_表示 = false,
_輪2_輪内_表示 = false,
_輪3_輪外_表示 = false,
_輪3_輪内_表示 = false,
_鎖1_表示 = false,
_鎖2_表示 = false,
_鎖3_表示 = false
}));
CM = new CM(Med, this, = new (disUnit, .N0, Sta.GameData., Med, new D
{
C = 1.09,
_輪1_輪外_表示 = false,
_輪1_輪内_表示 = false,
_輪2_輪外_表示 = false,
_輪2_輪内_表示 = false,
_輪3_輪外_表示 = false,
_輪3_輪内_表示 = false,
_鎖1_表示 = false,
_鎖2_表示 = false,
_鎖3_表示 = false,
= true
}));
.SetHitFalse();
CM = new CM(Med, this, = new (disUnit, .N0, null, Med, new D
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new _コモン(disUnit, .N0, null, Med, new _コモンD
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new _ディル(disUnit, .N0, null, Med, new _ディルD
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new _アナル(disUnit, .N0, null, Med, new _アナルD
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new _デンマ(disUnit, .N0, null, Med, new _デンマD
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new _ドリル(disUnit, .N0, null, Med, new _ドリルD
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new (disUnit, .N0, null, Med, new D
{
= 0.5,
C = 1.09
}));
CM = new CM(Med, this, = new (disUnit, .N0, null, Med, new D
{
= 0.5,
C = 1.09
}));
調CM = new CM(Med, this, 調 = new 調(disUnit, .N0, null, Med, new 調D
{
= 0.5,
C = 1.09,
Yi = 2
}));
T剃刀CM = new CM(Med, this, T剃刀 = new T剃刀(disUnit, .N0, null, Med, new T剃刀D
{
= 0.5,
C = 1.09
}));
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this, CM);
= new (this);
= new (this, CM);
= new (this, T剃刀CM);
調 = new 調(this, 調CM);
= new (disUnit, .N0, Sta.GameData., Med, new D
{
= false,
C = new Vector2D(0.0, 0.001)
});
.SetHitFalse();
ParT parT = new ParT();
parT.Text = GameText.調;
parT.SizeBase = 0.095;
parT.Font = new Font("MS Gothic", 1f);
parT.FontSize = 0.07;
parT.SetStringRectOutline(Are.Unit, Are.GD);
parT.RectSize = new Vector2D(parT.OP[0].ps[1].X, parT.OP[0].ps[2].Y);
parT.OP.ScalingY(parT.BasePointBase, 0.9);
parT.Closed = true;
parT.TextColor = Col.Black;
parT.BrushColor = Color.FromArgb(160, Col.Black);
parT.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT.HitColor = Med.GetUniqueColor();
parT.StringFormat.Alignment = StringAlignment.Center;
parT.StringFormat.LineAlignment = StringAlignment.Center;
parT.PositionBase = Are.GetPosition(1.0 - (parT.OP[0].ps[1].X * parT.SizeBase / Are.LocalWidth + 0.005), 1.0 - parT.OP[0].ps[2].Y * parT.SizeBase / Are.LocalHeight).AddY(-0.001);
parT.PositionBase = new Vector2D(ip.SubB.PositionBase.X, parT.PositionBase.Y);
調 = new But1(parT, null);
ParT parT2 = new ParT();
parT2.Text = GameText.;
parT2.SizeBase = 0.095;
parT2.Font = new Font("MS Gothic", 1f);
parT2.FontSize = 0.07;
parT2.SetStringRectOutline(Are.Unit, Are.GD);
parT2.RectSize = new Vector2D(parT2.OP[0].ps[1].X, parT2.OP[0].ps[2].Y);
parT2.OP.ScalingY(parT2.BasePointBase, 0.9);
parT2.Closed = true;
parT2.TextColor = Col.Black;
parT2.BrushColor = Color.FromArgb(160, Col.Black);
parT2.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT2.HitColor = Med.GetUniqueColor();
parT2.StringFormat.Alignment = StringAlignment.Center;
parT2.StringFormat.LineAlignment = StringAlignment.Center;
parT2.PositionBase = Are.GetPosition(0.08, 0.7);
= new But1(parT2, delegate(But a)
{
if (調UI2.sw.Flag)
{
//Sounds.変更2.Play();
}
else
{
//Sounds.変更1.Play();
}
調UI2.sw.OnOff(a);
Sta.GameData. = 調UI2.sw.Flag;
調UI2.Bod._表示 = Sta.GameData.;
調UI2.Bod._表示 = true;
Player.Reaction1();
});
ParT parT3 = new ParT();
parT3.Text = GameText.;
parT3.SizeBase = 0.095;
parT3.Font = new Font("MS Gothic", 1f);
parT3.FontSize = 0.07;
parT3.SetStringRectOutline(Are.Unit, Are.GD);
parT3.RectSize = new Vector2D(parT3.OP[0].ps[1].X, parT3.OP[0].ps[2].Y);
parT3.OP.ScalingY(parT3.BasePointBase, 0.9);
parT3.Closed = true;
parT3.TextColor = Col.Black;
parT3.BrushColor = Color.FromArgb(160, Col.Black);
parT3.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT3.HitColor = Med.GetUniqueColor();
parT3.StringFormat.Alignment = StringAlignment.Center;
parT3.StringFormat.LineAlignment = StringAlignment.Center;
parT3.PositionBase = parT2.PositionBase.AddY(0.015);
= new But1(parT3, delegate(But a)
{
調UI2.sw.OnOff(a);
Sta.GameData. = 調UI2.sw.Flag;
調UI2.Bod._表示 = Sta.GameData.;
Player.Reaction1();
});
ParT parT4 = new ParT();
parT4.Text = GameText.;
parT4.SizeBase = 0.095;
parT4.Font = new Font("MS Gothic", 1f);
parT4.FontSize = 0.07;
parT4.SetStringRectOutline(Are.Unit, Are.GD);
parT4.RectSize = new Vector2D(parT4.OP[0].ps[1].X, parT4.OP[0].ps[2].Y);
parT4.OP.ScalingY(parT4.BasePointBase, 0.9);
parT4.Closed = true;
parT4.TextColor = Col.Black;
parT4.BrushColor = Color.FromArgb(160, Col.Black);
parT4.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT4.HitColor = Med.GetUniqueColor();
parT4.StringFormat.Alignment = StringAlignment.Center;
parT4.StringFormat.LineAlignment = StringAlignment.Center;
parT4.PositionBase = parT3.PositionBase.AddY(0.015);
= new But1(parT4, delegate(But a)
{
調UI2.sw.OnOff(a);
Sta.GameData. = 調UI2.sw.Flag;
調UI2.Bod._表示 = Sta.GameData.;
Player.Reaction1();
});
ParT parT5 = new ParT();
parT5.Text = GameText.;
parT5.SizeBase = 0.095;
parT5.Font = new Font("MS Gothic", 1f);
parT5.FontSize = 0.07;
parT5.SetStringRectOutline(Are.Unit, Are.GD);
parT5.RectSize = new Vector2D(parT5.OP[0].ps[1].X, parT5.OP[0].ps[2].Y);
parT5.OP.ScalingY(parT5.BasePointBase, 0.9);
parT5.Closed = true;
parT5.TextColor = Col.Black;
parT5.BrushColor = Color.FromArgb(160, Col.Black);
parT5.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT5.HitColor = Med.GetUniqueColor();
parT5.StringFormat.Alignment = StringAlignment.Center;
parT5.StringFormat.LineAlignment = StringAlignment.Center;
parT5.PositionBase = parT4.PositionBase.AddY(0.015);
= new But1(parT5, delegate(But a)
{
double v = 0.0;
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
if (調UI2..Is膣)
{
v = 調UI2..Insert;
}
調UI2.sw.OnOff(a);
Sta.GameData. = 調UI2.sw.Flag;
if (!調UI2.Bod.Is粘)
{
調UI2.Bod._表示 = Sta.GameData.;
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
if (調UI2..Is膣)
{
調UI2..(v);
}
});
ParT parT6 = new ParT();
parT6.Text = GameText.;
parT6.SizeBase = 0.095;
parT6.Font = new Font("MS Gothic", 1f);
parT6.FontSize = 0.07;
parT6.SetStringRectOutline(Are.Unit, Are.GD);
parT6.RectSize = new Vector2D(parT6.OP[0].ps[1].X, parT6.OP[0].ps[2].Y);
parT6.OP.ScalingY(parT6.BasePointBase, 0.9);
parT6.Closed = true;
parT6.TextColor = Col.Black;
parT6.BrushColor = Color.FromArgb(160, Col.Black);
parT6.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT6.HitColor = Med.GetUniqueColor();
parT6.StringFormat.Alignment = StringAlignment.Center;
parT6.StringFormat.LineAlignment = StringAlignment.Center;
parT6.PositionBase = parT5.PositionBase.AddY(0.015);
= new But1(parT6, delegate
{
if (Sta.GameData. < 調UI2.)
{
ip.SubInfoIm = GameText.;
}
else
{
Sta.GameData. -= 調UI2.;
//TODO fix?
//Sounds.精算.Play();
ip.UpdateSub2();
Sta.GameData.TrainingTarget. = true;
ip.SubInfoIm = GameText.;
Player.Reaction1();
調UI2..Dra = false;
}
});
StaminaButtons(Are, Med, ip);
ParT parT7 = new ParT();
parT7.Text = GameText.;
parT7.SizeBase = 0.095;
parT7.Font = new Font("MS Gothic", 1f);
parT7.FontSize = 0.07;
parT7.SetStringRectOutline(Are.Unit, Are.GD);
parT7.RectSize = new Vector2D(parT7.OP[0].ps[1].X, parT7.OP[0].ps[2].Y);
parT7.OP.ScalingY(parT7.BasePointBase, 0.9);
parT7.Closed = true;
parT7.TextColor = Col.Black;
parT7.BrushColor = Color.FromArgb(160, Col.Black);
parT7.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT7.HitColor = Med.GetUniqueColor();
parT7.StringFormat.Alignment = StringAlignment.Center;
parT7.StringFormat.LineAlignment = StringAlignment.Center;
parT7.PositionBase = parT6.PositionBase.AddY(0.015);
string Path = "Photo";
Film = new Are(Med, Hit: false);
Film.Setting();
= new But1(parT7, delegate
{
//Sounds.撮影.Play();
Med.();
if (!Directory.Exists(Path))
{
Directory.CreateDirectory(Path);
}
DateTime now = DateTime.Now;
Mods.(調UI2.Film, Med.FPSF);
Font font = new Font("MS Gothic", (float)(10.0 * Med.DpiY));
float x = 350f;
float y = 365f;
if (Program.biggerWindow)
{
x = 525f;
y = 500f;
}
try
{
調UI2.Film.GD.DrawString("Slave Matrix " + now.ToShortDateString().Replace("/", "."), font, Brushes.Coral, x, y);
}
finally
{
((IDisposable)font)?.Dispose();
}
調UI2.Film.Dis.Save(Path + "\\" + now.ToString("yyyy_MM_dd_HH_mm_ss") + ".png", ImageFormat.Png);
ip.SubInfoIm = GameText. + "\r\n" + GameText.Photoフォルダに保存されます;
if (Sta.GameData.TrainingTarget.Trained && !調UI2.Cha.Bod.Is拘束 && 調UI2.Cha.Bod.Is腕人 && !Sta.GameData.TrainingTarget.ChaD.)
{
ip.Text = GameText. + "\r\n" + GameText.;
ip.Mai.Done = delegate
{
ip.yAct = delegate
{
//Sounds.操作.Play();
Sta.GameData.TrainingTarget.ChaD. = true;
調UI2.Cha.Setダブルピース();
調UI2.Cha.Bod.Update();
ip. = false;
ip.MaiShow = false;
};
ip.nAct = delegate
{
//Sounds.操作.Play();
ip. = false;
ip.MaiShow = false;
};
ip. = true;
};
ip.MaiShow = true;
}
});
int alpha = 200;
sゲージ = new Gau("体力", Are.GetPosition(new Vector2D(0.025, 0.5)), Are.Size, 0.025, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(alpha, Color.Red), Color.Yellow, Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Col.Black), Knob: false);
sゲージ.Frame1.Pen = null;
sゲージ = new Gau("絶頂", Are.GetPosition(new Vector2D(0.060000000000000005, 0.5)), Are.Size, 0.01, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(alpha, Color.DeepPink), Col.White, Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.Transparent, Knob: false);
sゲージ.Frame1.Pen = null;
sゲージ.Gauge.Pen = null;
sゲージ = new Gau("興奮", Are.GetPosition(new Vector2D(0.060000000000000005, 0.5)), Are.Size, 0.025, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(180, Col.White), Color.FromArgb(180, Color.Red), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Col.Black), Knob: false);
sゲージ.Frame1.Pen = null;
sゲージ.Gauge.Pen = null;
mゲージ = new Gau("精力", Are.GetPosition(new Vector2D(0.025.Inverse(), 0.5)), Are.Size, 0.025, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(alpha, Col.Yellow.Add(180, 0, 0)), Col.Red.Add(180, 0, 0), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Col.Black), Knob: false);
mゲージ.Frame1.Pen = null;
mゲージ = new Gau("射精", Are.GetPosition(new Vector2D(0.060000000000000005.Inverse(), 0.5)), Are.Size, 0.01, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(alpha, Col.DeepPink.Add(180, 0, 0)), Col.White.Add(180, 0, 0), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.Transparent, Knob: false);
mゲージ.Frame1.Pen = null;
mゲージ.Gauge.Pen = null;
mゲージ = new Gau("興奮", Are.GetPosition(new Vector2D(0.060000000000000005.Inverse(), 0.5)), Are.Size, 0.025, Are.YRatio * 0.98, 0.02, Open.Top, _2DGAMELIB.Range.ZeroOne, disUnit, Color.FromArgb(180, Col.White), Color.FromArgb(180, Color.Red), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Color.Gray), Color.FromArgb(alpha, Col.Black), Knob: false);
mゲージ.Frame1.Pen = null;
mゲージ.Gauge.Pen = null;
Color c = Med.GetUniqueColor();
foreach (Par item in sゲージ.Pars.EnumAllPar())
{
item.HitColor = c;
}
Med.GetUniqueColor(out c);
foreach (Par item2 in sゲージ.Pars.EnumAllPar())
{
item2.HitColor = c;
}
Med.GetUniqueColor(out c);
foreach (Par item3 in sゲージ.Pars.EnumAllPar())
{
item3.HitColor = c;
}
Med.GetUniqueColor(out c);
foreach (Par item4 in mゲージ.Pars.EnumAllPar())
{
item4.HitColor = c;
}
Med.GetUniqueColor(out c);
foreach (Par item5 in mゲージ.Pars.EnumAllPar())
{
item5.HitColor = c;
}
Med.GetUniqueColor(out c);
foreach (Par item6 in mゲージ.Pars.EnumAllPar())
{
item6.HitColor = c;
}
sゲージ.Value = 1.0;
sゲージ.Value = 0.0;
sゲージ.Value = 0.0;
mゲージ.Value = 1.0;
mゲージ.Value = 0.0;
mゲージ.Value = 0.0;
Vector2D vector2D = new Vector2D(Are.LocalWidth - 0.14, Are.LocalHeight - (Are.LocalHeight - 0.005));
.B = (CM.bp = vector2D + new Vector2D(0, 0));
.B = (CM.bp = vector2D + new Vector2D(0.019133333333333, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.038266666666666, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 0.14175));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.17325));
1.B = (1CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1667));
2.B = (2CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1807));
3.B = (3CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1947));
T剃刀.B = (T剃刀CM.bp = vector2D + new Vector2D(0.0574, 0.091));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.116));
調.B = (調CM.bp = vector2D + new Vector2D(0.095666666666666, 0.11025));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 181.0 / 800.0));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.23675));
.B = (CM.bp = vector2D + new Vector2D(0.095666666666666, 167.0 / 800.0));
focus = CM;
Focus = CM;
Set持ち手();
X = .B.X - 0.006;
Y = .B.Y + 0.015;
Mots.Add(Player..GetHashCode().ToString(), Player.);
Player..Start();
= new Onomatopoeia();
AddBoxes();
= new Mot(0.0, 1.0)
{
BaseSpeed = 2.0,
Staing = delegate
{
},
Runing = delegate(Mot m)
{
調UI2.sゲージ.SetAlphaG(m.Value);
},
Reaing = delegate
{
},
Rouing = delegate
{
},
Ending = delegate
{
調UI2.sゲージ.SetAlphaG(1.0);
}
};
Mots.Add(.GetHashCode().ToString(), );
= new Mot(0.0, 1.0)
{
BaseSpeed = 2.0,
Staing = delegate
{
},
Runing = delegate(Mot m)
{
調UI2.mゲージ.SetAlphaG(m.Value);
},
Reaing = delegate
{
},
Rouing = delegate
{
},
Ending = delegate
{
調UI2.mゲージ.SetAlphaG(1.0);
}
};
Mots.Add(.GetHashCode().ToString(), );
}
catch (Exception)
{
}
}
public void SetTarget(Unit Unit, Cha Cha)
{
if (this.Cha != null)
{
this.Cha. = null;
this.Cha.尿 = null;
}
Uni = Unit;
this.Cha = Cha;
Bod = Cha.Bod;
Bod. = this;
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
調.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
.SetCha(Cha);
this.Cha. = ;
this.Cha.尿 = 尿;
CP.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP挿入.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP振動.Reset();
.CP中.Reset();
.CP左.Reset();
.CP右.Reset();
bu = Sta.GameData.TrainingTarget.;
= false;
bu = Sta.GameData.;
if (!Unit.Trained)
{
Sta.GameData. = true;
= true;
}
sw.SetFlag(, Sta.GameData.);
Bod._表示 = Sta.GameData.;
sw.SetFlag(, Sta.GameData.);
Bod._表示 = Sta.GameData.;
sw.SetFlag(, Sta.GameData.);
Bod._表示 = Sta.GameData.;
sw.SetFlag(, Sta.GameData.);
if (!Bod.Is粘)
{
Bod._表示 = Sta.GameData.;
}
.Dra = Sta.GameData.;
.Dra = Sta.GameData. && !Cha.ChaD.;
.Dra = Unit.Trained;
SlaveStamina.Dra = Sta.StaminaButton;
PlayerStamina.Dra = Sta.StaminaButton;
}
public void Reset()
{
foreach (Mot value in Mots.ms.Values)
{
if (value != Player.)
{
value.End();
}
}
if (.)
{
.X11Y0_小指.ReverseX();
.X11Y0_薬指.ReverseX();
.X11Y0_中指.ReverseX();
.X11Y0_人指.ReverseX();
.X11Y0_手.ReverseX();
.X11Y0_親指.ReverseX();
.X11Y0_呪印_輪1_輪外.ReverseX();
.X11Y0_呪印_輪1_輪内.ReverseX();
.X11Y0_呪印_輪2_輪外.ReverseX();
.X11Y0_呪印_輪2_輪内.ReverseX();
.X11Y0_呪印_輪3_輪外.ReverseX();
.X11Y0_呪印_輪3_輪内.ReverseX();
.X11Y0_呪印_鎖1.ReverseX();
.X11Y0_呪印_鎖3.ReverseX();
..JoinPA();
}
Focus = CM;
();
CP.Reset();
.Clear();
_ = false;
= false;
= false;
SubFocus.Clear();
i肛f = false;
f = false;
oh = false;
IsTB = false;
();
d = MouseButtons.None;
IsTool = false;
hcm = null;
ef = null;
sf = true;
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
. = 1.0;
.SetHitFalse();
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
CM.Reset();
調CM.Reset();
調.Yi = 2;
T剃刀CM.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
.Reset();
調.Reset();
. = false;
.C = new Vector2D(0.0, 0.001);
.SetHitFalse();
Vector2D vector2D = new Vector2D(Are.LocalWidth - 0.14, Are.LocalHeight - (Are.LocalHeight - 0.005));
.B = (CM.bp = vector2D + new Vector2D(0, 0));
.B = (CM.bp = vector2D + new Vector2D(0.019133333333333, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.038266666666666, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.0));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 0.14175));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.17325));
1.B = (1CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1667));
2.B = (2CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1807));
3.B = (3CM.bp = vector2D + new Vector2D(0.095666666666666, 0.1947));
T剃刀.B = (T剃刀CM.bp = vector2D + new Vector2D(0.0574, 0.091));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.116));
調.B = (調CM.bp = vector2D + new Vector2D(0.095666666666666, 0.11025));
.B = (CM.bp = vector2D + new Vector2D(0.0574, 181.0 / 800.0));
.B = (CM.bp = vector2D + new Vector2D(0.076533333333333, 0.23675));
.B = (CM.bp = vector2D + new Vector2D(0.095666666666666, 167.0 / 800.0));
focus = CM;
Focus = CM;
Set持ち手();
X = .B.X - 0.006;
Y = .B.Y + 0.015;
.Clear();
}
public void (Are Are)
{
foreach ( item in SubFocus)
{
if (item.Is糸)
{
item..Draws(Are);
}
}
}
public void (Are Are)
{
if (i肛f)
{
focus.0(Are);
focus.1(Are);
if (! || ((focus == 1CM || focus == 2CM || focus == 3CM) && (.Isキャップ1着() || .Isキャップ2左着() || .Isキャップ2右着()) && !focus.DraShow))
{
CM.(Are);
}
}
foreach ( item in SubFocus)
{
if (item.Is肛)
{
item..0s(Are);
if (item == )
{
item..1s(Are);
}
if (oh)
{
focus.Draw(Are);
}
else if (!i肛f && IsTB)
{
Setハンド左(item);
}
}
}
if (!i肛f && f)
{
focus.0(Are);
}
}
public override void 0(Are Are)
{
foreach ( item in SubFocus)
{
if (!item.Is肛)
{
item..0s(Are);
if (item == )
{
item..1s(Are);
}
}
}
if (!i肛f && !f)
{
focus.0(Are);
}
}
public override void 1(Are Are)
{
if (.Is膣)
{
return;
}
foreach ( item in SubFocus)
{
if (item != )
{
item..1s(Are);
}
}
if (!i肛f)
{
focus.1(Are);
}
}
public override void 2(Are Are)
{
if (.)
{
.B = .B;
.();
..Draw(Are);
}
foreach ( item in SubFocus)
{
if (!item.Is糸)
{
item..Draws(Are);
}
}
if (!i肛f)
{
if (!oh)
{
focus.Draw(Are);
}
}
else if (IsTB)
{
Setハンド左(s);
}
if ( || .Is乳繰り || .Is乳摘み || .Is乳捏ね || .Isくぱぁ)
{
CM.Draws(Are);
if (Is乳弄り)
{
CM.(Are);
}
}
if (!.Is膣)
{
return;
}
foreach ( item2 in SubFocus)
{
item2..1s(Are);
}
if (!i肛f)
{
focus.1(Are);
}
}
public void StaDraw(Are Are, FPS FPS)
{
Player.();
Player.ModBox();
Player.SensBox();
Are.Draw(sゲージ.Pars);
Are.Draw(sゲージ.Pars);
Are.Draw(sゲージ.Pars);
Are.Draw(mゲージ.Pars);
Are.Draw(mゲージ.Pars);
Are.Draw(mゲージ.Pars);
if (!Is乳弄り && !Isフォーカス糸挿入)
{
2(Are);
}
CM.(Are);
CM.(Are);
if (!i肛f && !Is乳弄り && (! || ((focus == 1CM || focus == 2CM || focus == 3CM) && (.Isキャップ1着() || .Isキャップ2左着() || .Isキャップ2右着()) && !focus.DraShow)))
{
CM.(Are);
}
CM.(Are);
CM.(Are);
CM.(Are);
CM.(Are);
CM.(Are);
CM.(Are);
CM.(Are);
CM.(Are);
調CM.(Are);
T剃刀CM.(Are);
1CM.(Are);
2CM.(Are);
3CM.(Are);
調.Draw(Are);
.Draw(Are);
.Draw(Are);
.Draw(Are);
.Draw(Are);
.Draw(Are);
.Draw(Are);
SlaveStamina.Draw(Are);
PlayerStamina.Draw(Are);
調..0(Are);
while (.Count > 0)
{
.Dequeue()(Are);
}
.Draw(FPS);
if ()
{
Are.Draw(.Pars);
}
if (Sta.ShowSenses)
{
Are.Draw(InfoBox.Pars);
Are.Draw(SensitivityBox.Pars);
}
}
public void DrawState(Are Are)
{
Player.();
Player.ModBox();
Player.SensBox();
Are.Draw(sゲージ.Pars);
Are.Draw(mゲージ.Pars);
if ()
{
Are.Draw(.Pars);
}
if (Sta.ShowSenses)
{
Are.Draw(InfoBox.Pars);
Are.Draw(SensitivityBox.Pars);
}
}
public override void Dispose()
{
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
調.Dispose();
T剃刀.Dispose();
1.Dispose();
2.Dispose();
3.Dispose();
調..Dispose();
調.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
.Dispose();
sゲージ.Dispose();
sゲージ.Dispose();
sゲージ.Dispose();
mゲージ.Dispose();
mゲージ.Dispose();
mゲージ.Dispose();
.Dispose();
.Dispose();
Film.Dispose();
InfoBox.Dispose();
SensitivityBox.Dispose();
//((Tex)(object)SlaveStamina).Dispose();
//((Tex)(object)PlayerStamina).Dispose();
}
public void Action(ContactType , ActionType , CurrentState , ToolType , int Lv, int , bool , bool )
{
Player.(, , , , Lv, , , );
}
public void AddBoxes()
{
double num = 0.31;
double width = 0.7;
if (Program.biggerWindow)
{
num += 0.14;
}
if (Sta.FixInfo)
{
width = 0.75;
}
= new Tex("Tex", new Vector2D(Are.GetPosition(0.08, 0.7).X, 0.1), 0.1, width, 1.15, new Font("MS Gothic", 1f), 0.07, 0, "", Col.White, Col.Black, Color.FromArgb(160, Col.Black), 15.0);
InfoBox = new Tex("Info", new Vector2D(num, 0.005), 0.1, 0.9, 0.85, new Font("MS Gothic", 1f), 0.07, 0, "", Col.White, Col.Transparent, Color.FromArgb(15, Col.DarkMagenta), 100.0);
SensitivityBox = new Tex("Sens", new Vector2D(num + 0.02, 0.08), 0.1, 0.6, 1.99, new Font("MS Gothic", 1f), 0.057, 0, "", Col.White, Col.Transparent, Color.FromArgb(5, Col.DarkMagenta), 100.0);
}
public void StaminaButtons(Are Are, Med Med, InfoPanel ip)
{
double x = 0.08;
double y = 0.1;
if (Program.biggerWindow)
{
x = 0.08;
y = 0.1;
}
ParT parT = new ParT();
parT.Text = "SlaveStamina";
parT.SizeBase = 0.095;
parT.Font = new Font("MS Gothic", 1f);
parT.FontSize = 0.07;
parT.SetStringRectOutline(Are.Unit, Are.GD);
parT.RectSize = new Vector2D(parT.OP[0].ps[1].X, parT.OP[0].ps[2].Y);
parT.OP.ScalingY(parT.BasePointBase, 0.9);
parT.Closed = true;
parT.TextColor = Col.Black;
parT.BrushColor = Color.FromArgb(160, Col.Black);
parT.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT.HitColor = Med.GetUniqueColor();
parT.StringFormat.Alignment = StringAlignment.Center;
parT.StringFormat.LineAlignment = StringAlignment.Center;
parT.PositionBase = Are.GetPosition(x, y);
SlaveStamina = new But1(parT, delegate
{
//Sounds.操作.Play();
ip.UpdateSub2();
Sta.GameData.TrainingTarget.ChaD.Stamina = 1.0;
});
ParT parT2 = new ParT();
parT2.Text = "PlayerStamina";
parT2.SizeBase = 0.095;
parT2.Font = new Font("MS Gothic", 1f);
parT2.FontSize = 0.07;
parT2.SetStringRectOutline(Are.Unit, Are.GD);
parT2.RectSize = new Vector2D(parT2.OP[0].ps[1].X, parT2.OP[0].ps[2].Y);
parT2.OP.ScalingY(parT2.BasePointBase, 0.9);
parT2.Closed = true;
parT2.TextColor = Col.Black;
parT2.BrushColor = Color.FromArgb(160, Col.Black);
parT2.ShadBrush = new SolidBrush(Color.FromArgb(64, Col.Black));
parT2.HitColor = Med.GetUniqueColor();
parT2.StringFormat.Alignment = StringAlignment.Center;
parT2.StringFormat.LineAlignment = StringAlignment.Center;
parT2.PositionBase = parT.PositionBase.AddY(0.015);
PlayerStamina = new But1(parT2, delegate
{
//Sounds.操作.Play();
ip.UpdateSub2();
Sta.GameData. = 1.0;
});
}
}
}