CrabUI
Loading...
Searching...
No Matches
CrabUI.CUI3DOffset Struct Reference

Offset of child components with X, Y, Z. More...

Public Member Functions

CUI3DOffset Shift (Vector2 shift)
 
CUI3DOffset Shift (float x=0, float y=0)
 
CUI3DOffset Zoom (Vector2 staticPoint, float dZ)
 
CUI3DOffset Zoom (float sx, float sy, float dZ)
 
Vector2 ToPlaneCoords (Vector2 v)
 
Vector2 TransformPoint (Vector2 point)
 
Vector2 TransformSize (Vector2 size)
 
CUIRect Transform (CUIRect rect)
 
 CUI3DOffset (float x, float y, float z)
 
override string ToString ()
 

Static Public Member Functions

static CUI3DOffset Parse (string s)
 

Public Attributes

float X
 
float Y
 
float Z
 

Static Public Attributes

static float MinZ = 1f
 

Properties

Vector2 ToVector2 [get]
 

Detailed Description

Offset of child components with X, Y, Z.

Definition at line 17 of file CUI3DOffset.cs.

Constructor & Destructor Documentation

◆ CUI3DOffset() [1/2]

CrabUI.CUI3DOffset.CUI3DOffset ( )

Definition at line 75 of file CUI3DOffset.cs.

76 {
77 X = 0;
78 Y = 0;
79 Z = 1;
80 }

◆ CUI3DOffset() [2/2]

CrabUI.CUI3DOffset.CUI3DOffset ( float x,
float y,
float z )

Definition at line 82 of file CUI3DOffset.cs.

83 {
84 X = x;
85 Y = y;
86 Z = z;
87 }

Member Function Documentation

◆ Parse()

static CUI3DOffset CrabUI.CUI3DOffset.Parse ( string s)
static

Definition at line 91 of file CUI3DOffset.cs.

92 {
93 string content = s.Substring(
94 s.IndexOf('[') + 1,
95 s.IndexOf(']') - s.IndexOf('[') - 1
96 );
97
98 var components = content.Split(',').Select(a => a.Trim());
99
100 string sx = components.ElementAtOrDefault(0);
101 string sy = components.ElementAtOrDefault(1);
102 string sz = components.ElementAtOrDefault(2);
103
104 float x = 0;
105 float y = 0;
106 float z = 0;
107
108 float.TryParse(sx, out x);
109 float.TryParse(sy, out y);
110 float.TryParse(sz, out z);
111
112 return new CUI3DOffset(x, y, z);
113 }

◆ Shift()

CUI3DOffset CrabUI.CUI3DOffset.Shift ( float x = 0,
float y = 0 )

Definition at line 30 of file CUI3DOffset.cs.

31 {
32 return new CUI3DOffset(
33 X + x * Z,
34 Y + y * Z,
35 Z
36 );
37 }

◆ ToPlaneCoords()

Vector2 CrabUI.CUI3DOffset.ToPlaneCoords ( Vector2 v)

Definition at line 50 of file CUI3DOffset.cs.

51 {
52 return new Vector2(v.X * Z - X, v.Y * Z - Y);
53 }

◆ Transform()

CUIRect CrabUI.CUI3DOffset.Transform ( CUIRect rect)

Definition at line 64 of file CUI3DOffset.cs.

65 {
66 return new CUIRect(
67 (rect.Left + X) / Z,
68 (rect.Top + Y) / Z,
69 rect.Width / Z,
70 rect.Height / Z
71 );
72 }

◆ TransformPoint()

Vector2 CrabUI.CUI3DOffset.TransformPoint ( Vector2 point)

Definition at line 54 of file CUI3DOffset.cs.

55 {
56 return new Vector2((point.X + X) / Z, (point.Y + Y) / Z);
57 }

◆ TransformSize()

Vector2 CrabUI.CUI3DOffset.TransformSize ( Vector2 size)

Definition at line 59 of file CUI3DOffset.cs.

60 {
61 return new Vector2(size.X / Z, size.Y / Z);
62 }

◆ Zoom()

CUI3DOffset CrabUI.CUI3DOffset.Zoom ( float sx,
float sy,
float dZ )

Definition at line 40 of file CUI3DOffset.cs.

41 {
42 float newZ = Math.Max(MinZ, Z + dZ);
43 Vector2 s1 = new Vector2(sx * Z - X, sy * Z - Y);
44 Vector2 s2 = new Vector2(sx * newZ - X, sy * newZ - Y);
45 Vector2 d = s2 - s1;
46
47 return new CUI3DOffset(X + d.X, Y + d.Y, newZ);
48 }

Member Data Documentation

◆ MinZ

float CrabUI.CUI3DOffset.MinZ = 1f
static

Definition at line 27 of file CUI3DOffset.cs.

◆ X

float CrabUI.CUI3DOffset.X

Definition at line 19 of file CUI3DOffset.cs.

◆ Y

float CrabUI.CUI3DOffset.Y

Definition at line 20 of file CUI3DOffset.cs.

◆ Z

float CrabUI.CUI3DOffset.Z

Definition at line 22 of file CUI3DOffset.cs.

Property Documentation

◆ ToVector2

Vector2 CrabUI.CUI3DOffset.ToVector2
get

Definition at line 24 of file CUI3DOffset.cs.


The documentation for this struct was generated from the following file: