//=================================================================================
//Function: CalculateRadarCoordinate
//=================================================================================
FVector2D CalculateRadarCoordinate( FVector Location, FLOAT RadarX, FLOAT RadarY )
{
FVector2D Return;
FLOAT CosYaw = cos( URotationToRadians( CameraRotation.Yaw ) );
FLOAT SinYaw = sin( URotationToRadians( CameraRotation.Yaw ) );
FLOAT DeltaX = Location.X - CameraLocation.X;
FLOAT DeltaY = Location.Y - CameraLocation.Y;
FLOAT LocationX = ( DeltaY * CosYaw - DeltaX * SinYaw ) / 150.0f;
FLOAT LocationY = ( DeltaX * CosYaw + DeltaY * SinYaw ) / 150.0f;
if( LocationX > 70.0f - 2.5f )
LocationX = 70.0f - 2.5f;
else if( LocationX < -( 70.0f - 2.5f ) )
LocationX = -( 70.0f - 2.5f );
if( LocationY > 70.0f - 2.5f )
LocationY = 70.0f - 2.5f;
else if( LocationY < -( 70.0f - 2.5f ) )
LocationY = -( 70.0f - 2.5f );
Return.X = LocationX + RadarX;
Return.Y = -LocationY + RadarY;
return Return;
}
//=================================================================================
//Function: DrawRadar
//=================================================================================
void inline DrawRadar(APawn* Target, UCanvas* Canvas, AcAPBPawn* APBPawnTarget, AcAPBPawn* APBPawn)
{
FVector2D Location2D = CalculateRadarCoordinate( Target->Location, 80, 240 );
if(APBPawnTarget->m_MissionSideInfo.m_nMissionUID == APBPawn->m_MissionSideInfo.m_nMissionUID && APBPawn->m_MissionSideInfo.m_nMissionUID > 1)
{
if(Controller->m_eFaction != APBPawnTarget->m_eFaction)
{
Canvas->DrawColor = Red2;
Canvas->CurX = Location2D.X;
Canvas->CurY = Location2D.Y;
Canvas->DrawBox(5,5);
}
else
{
Canvas->DrawColor = Green2;
Canvas->CurX = Location2D.X;
Canvas->CurY = Location2D.Y;
Canvas->DrawBox(5,5);
}
}
else
{
if(Controller->m_eFaction != APBPawnTarget->m_eFaction)
{
Canvas->DrawColor = ColorYellow2;
Canvas->CurX = Location2D.X;
Canvas->CurY = Location2D.Y;
Canvas->DrawBox(5,5);
}
else
{
Canvas->DrawColor = ColorBlue2;
Canvas->CurX = Location2D.X;
Canvas->CurY = Location2D.Y;
Canvas->DrawBox(5,5);
}
}
Canvas->DrawColor = ColorBlue2;
Canvas->CurX = 10 + 80;
Canvas->CurY = (float)((float)80 - (float)((float)5 / (float)2)) + 160;
Canvas->DrawBox(5,5);
Canvas->DrawColor = ColorBlue2;
Canvas->CurX = 10;
Canvas->CurY = 160;
Canvas->DrawBox(160,160);
}

