Core/Battlegrounds: Move to scripts And a lot of misc commits i couldn't recover.

Port From (https://github.com/TrinityCore/TrinityCore/commit/d0d5d309bb5877dc2fcb27f6cb123707a31ec1e8)
This commit is contained in:
Hondacrx
2024-08-04 15:18:22 -04:00
parent bca02a24b0
commit e9b21a91be
139 changed files with 8322 additions and 8700 deletions
+21 -16
View File
@@ -40,34 +40,41 @@ namespace Game.Collision
public class WModelAreaCallback : WorkerCallback
{
public WModelAreaCallback(List<GroupModel> vals, Vector3 down)
List<GroupModel> prims;
public GroupModel[] hit = new GroupModel[3];
public WModelAreaCallback(List<GroupModel> vals)
{
prims = vals;
hit = null;
zDist = float.PositiveInfinity;
zVec = down;
}
List<GroupModel> prims;
public GroupModel hit;
public float zDist;
Vector3 zVec;
public override void Invoke(Vector3 point, uint entry)
public override bool Invoke(Ray ray, uint entry, ref float distance, bool stopAtFirstHit)
{
float group_Z;
if (prims[(int)entry].IsInsideObject(point, zVec, out group_Z))
GroupModel.InsideResult result = prims[(int)entry].IsInsideObject(ray, out float group_Z);
if ( result != GroupModel.InsideResult.OutOfBounds)
{
if (group_Z < zDist)
if (result != GroupModel.InsideResult.MaybeInside)
{
zDist = group_Z;
hit = prims[(int)entry];
if (group_Z < distance)
{
distance = group_Z;
hit[(int)result] = prims[(int)entry];
return true;
}
}
else
hit[(int)result] = prims[(int)entry];
}
return false;
}
}
public class WModelRayCallBack : WorkerCallback
{
List<GroupModel> models;
public bool hit;
public WModelRayCallBack(List<GroupModel> mod)
{
models = mod;
@@ -79,8 +86,6 @@ namespace Game.Collision
if (result) hit = true;
return hit;
}
List<GroupModel> models;
public bool hit;
}
public class GModelRayCallback : WorkerCallback