Пример #1
0
        public static void DrawArrowPointingAt(Vector3 mapTarget, bool offscreenOnly = false)
        {
            Vector3 vector = UI.UIToMapPosition((float)(UI.screenWidth / 2), (float)(UI.screenHeight / 2));

            if ((vector - mapTarget).MagnitudeHorizontalSquared() < 81f)
            {
                if (!offscreenOnly)
                {
                    Vector3 position = mapTarget;
                    position.y  = Altitudes.AltitudeFor(AltitudeLayer.MetaOverlays);
                    position.z -= 1.5f;
                    Graphics.DrawMesh(MeshPool.plane20, position, Quaternion.identity, GenDraw.ArrowMatWhite, 0);
                }
            }
            else
            {
                Vector3 vector2   = (mapTarget - vector).normalized * 7f;
                Vector3 position2 = vector + vector2;
                position2.y = Altitudes.AltitudeFor(AltitudeLayer.MetaOverlays);
                Quaternion rotation = Quaternion.LookRotation(vector2);
                Graphics.DrawMesh(MeshPool.plane20, position2, rotation, GenDraw.ArrowMatWhite, 0);
            }
        }
Пример #2
0
 public static Vector3 UIToMapPosition(float x, float y)
 {
     return(UI.UIToMapPosition(new Vector2(x, y)));
 }
Пример #3
0
 public static IntVec3 MouseCell()
 {
     return(UI.UIToMapPosition(UI.MousePositionOnUI).ToIntVec3());
 }
Пример #4
0
 public static Vector3 MouseMapPosition()
 {
     return(UI.UIToMapPosition(UI.MousePositionOnUI));
 }