581 {
583
584 if (locations.Count() > 0)
585 {
587 {
588 switch (track.m_Shape)
589 {
590 case DynamicMusicLocationShape.BOX:
591 foreach (
int locationId,
array<vector> bounds : track.locationBoundaries)
592 {
594 {
597
598 #ifdef ENABLE_LOGGING
599 DMPDebugPrint(string.Format("Player inside location <%1, %2>", bounds[0], bounds[1]));
600 #endif
601 }
602 }
603 break;
604 case DynamicMusicLocationShape.POLYGON:
606 {
609
610 #ifdef ENABLE_LOGGING
611 DMPDebugPrint(
string.Format(
"Player inside polygon location at <%1>",
m_PlayerPosition));
612 #endif
613 }
614 break;
615 }
616 }
617 }
618
620 }
ref array< ref DynamicMusicTrackData > m_TracksLocationMatchedPlayerInside
static prio + filtered by the distance between player and center of zone
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
const int INDEX_NOT_FOUND
enum WindingOrder Math2D()
static proto bool IsPointInRectangle(vector mi, vector ma, vector p)
Returns if point is inside rectangle.