hitdirectionarrow.c 885 B

12345678910111213141516171819202122232425262728293031
  1. class HitDirectionEffectArrow extends HitDirectionEffectBase
  2. {
  3. override HitDirectionImagesBase GetImageData()
  4. {
  5. typename type = HitDirectionImagesArrow;
  6. HitDirectionImagesArrow data = HitDirectionImagesArrow.Cast(type.Spawn());
  7. return data;
  8. }
  9. override void FinalizePositionCalculation()
  10. {
  11. //blobs move around the edges, the rest on elypsis
  12. float distance_x = (m_DistanceAdjust * m_SizeXEnf) + (m_SizeXEnf / 2.5);
  13. float distance_y = (m_DistanceAdjust * m_SizeYEnf) + (m_SizeYEnf / 2.5);
  14. m_PosX = Math.Sin(m_AngleRad) * distance_x;
  15. m_PosY = -Math.Cos(m_AngleRad) * distance_y;
  16. }
  17. override void SetIndicatorRotation(float timeslice = -1.0)
  18. {
  19. if (m_RotationOverride == HitDirectionConstants.ROTATION_DEFAULT)
  20. {
  21. m_LayoutRoot.SetRotation(0,0,Math.RAD2DEG * m_AngleRad,true);
  22. }
  23. else
  24. {
  25. m_LayoutRoot.SetRotation(0,0,m_RotationOverride,true);
  26. }
  27. }
  28. }