Core/Maps: Implemented getting area id from gameobject spawns

This commit is contained in:
hondacrx
2018-03-28 18:05:54 -04:00
parent c3f8023ef0
commit 7167cfaf86
7 changed files with 161 additions and 18 deletions
+18 -1
View File
@@ -24,6 +24,7 @@ namespace Game.Collision
public class WorkerCallback
{
public virtual void Invoke(Vector3 point, uint entry) { }
public virtual void Invoke(Vector3 point, IModel entry) { }
public virtual bool Invoke(Ray ray, uint entry, ref float distance, bool pStopAtFirstHit) { return false; }
public virtual bool Invoke(Ray r, IModel obj, ref float distance) { return false; }
public virtual bool Invoke(Ray ray, uint idx, ref float maxDist) { return false; }
@@ -59,7 +60,7 @@ namespace Game.Collision
zDist = float.PositiveInfinity;
zVec = down;
}
List<GroupModel> prims;
public GroupModel hit;
public float zDist;
@@ -245,5 +246,21 @@ namespace Game.Collision
PhaseShift _phaseShift;
}
public class DynamicTreeAreaInfoCallback : WorkerCallback
{
public DynamicTreeAreaInfoCallback(PhaseShift phaseShift)
{
_phaseShift = phaseShift;
}
public override void Invoke(Vector3 p, IModel obj)
{
obj.IntersectPoint(p, _areaInfo, _phaseShift);
}
public AreaInfo GetAreaInfo() { return _areaInfo; }
PhaseShift _phaseShift;
AreaInfo _areaInfo;
}
}