public int Judge(Base.Point3D Point) { if (Base.Distance3D(Point, Position) > Base.Average3D(Scale) * 2d) { return(JUDGE_AWAY); } else if (Base.Distance3D(Point, Position) > Base.Average3D(Scale)) { return(JUDGE_GRAZE); } else { return(JUDGE_MISS); } }
//Thread STGThread; public STGCore(int ArrayNum1, int ArrayNum2, double CenterX, double CenterY, double CenterZ, double Range, double PlayerX, double PlayerY, double PlayerZ, double PlayerSize) { ArrayNumA = ArrayNum1; ArrayNumB = ArrayNum2; Bullets = new Bullet[ArrayNumA, ArrayNumB]; InitBullet(); Player = new Bullet(-2); Player.SetPosition(PlayerX, PlayerY, PlayerZ); Player.SetScale(PlayerSize, PlayerSize, PlayerSize); Player.IsEnabled = true; OriPlayer = Player.GetPosition(); CenterPos = new Bullet(); CenterPos.SetPosition(CenterX, CenterY, CenterZ); GameRange = Range; Graze = 0; Miss = 0; //STGThread = new Thread(JudgeACtrl); }
public bool PreJudge(Base.Point3D Point, double Range) { return(Math.Abs(Point.x - Position.x) < Range && Math.Abs(Point.y - Position.y) < Range && Math.Abs(Point.z - Position.z) < Range); }
public void SetPosition(Base.Point3D Point) { Position = Point; }