3 namespace droid.Runtime.Utilities.Misc.Drawing {
18 public float _Radius = 0.05f;
20 GameObject[] _ring_game_objects;
24 this._ring_game_objects =
new GameObject[this._Points.Length];
26 for (var i = 0; i < this._Points.Length; i++) {
29 this._ring_game_objects[i] =
new GameObject {name =
"Connecting ring #" + i};
30 this._ring_game_objects[i].transform.parent = this.gameObject.transform;
33 var ring_offset_cylinder_mesh_object =
new GameObject();
34 ring_offset_cylinder_mesh_object.transform.parent = this._ring_game_objects[i].transform;
37 ring_offset_cylinder_mesh_object.transform.localPosition =
new Vector3(0f, 1f, 0f);
39 ring_offset_cylinder_mesh_object.transform.localScale =
new Vector3(this._Radius, 1f, this._Radius);
42 var ring_mesh = ring_offset_cylinder_mesh_object.AddComponent<MeshFilter>();
43 ring_mesh.mesh = this._CylinderMesh;
45 var ring_renderer = ring_offset_cylinder_mesh_object.AddComponent<MeshRenderer>();
46 ring_renderer.material = this._LineMat;
52 for (var i = 0; i < this._Points.Length; i++) {
54 this._ring_game_objects[i].transform.position = this._Points[i].transform.position;
57 var cylinder_distance =
58 0.5f * Vector3.Distance(this._Points[i].transform.position,
this._MainPoint.transform.position);
59 this._ring_game_objects[i].transform.localScale =
60 new Vector3(this._ring_game_objects[i].transform.localScale.x,
62 this._ring_game_objects[i].transform.localScale.z);
66 this._ring_game_objects[i].transform.LookAt(this._MainPoint.transform, Vector3.up);
67 this._ring_game_objects[i].transform.rotation *= Quaternion.Euler(90, 0, 0);
87 public float _Radius = 0.05f;
89 GameObject[] _ring_game_objects;
93 this._ring_game_objects =
new GameObject[this._Points.Length];
95 for (var i = 0; i < this._Points.Length; i++) {
98 this._ring_game_objects[i] =
new GameObject();
99 this._ring_game_objects[i].name =
"Connecting ring #" + i;
100 this._ring_game_objects[i].transform.parent = this.gameObject.transform;
103 var ring_offset_cube_mesh_object =
new GameObject();
104 ring_offset_cube_mesh_object.transform.parent = this._ring_game_objects[i].transform;
107 ring_offset_cube_mesh_object.transform.localPosition =
new Vector3(0f, 1f, 0f);
109 ring_offset_cube_mesh_object.transform.localScale =
new Vector3(this._Radius, 1f, this._Radius);
112 var ring_mesh = ring_offset_cube_mesh_object.AddComponent<MeshFilter>();
113 ring_mesh.mesh = this._CubeMesh;
115 var ring_renderer = ring_offset_cube_mesh_object.AddComponent<MeshRenderer>();
116 ring_renderer.material = this._LineMat;
122 for (var i = 0; i < this._Points.Length; i++) {
124 this._ring_game_objects[i].transform.position = this._Points[i].transform.position;
126 this._ring_game_objects[i].transform.position =
127 0.5f * (this._Points[i].transform.position + this._MainPoint.transform.position);
128 var delta = this._Points[i].transform.position - this._MainPoint.transform.position;
129 this._ring_game_objects[i].transform.position += delta;
133 Vector3.Distance(this._Points[i].transform.position,
this._MainPoint.transform.position);
134 this._ring_game_objects[i].transform.localScale =
135 new Vector3(this._ring_game_objects[i].transform.localScale.x,
137 this._ring_game_objects[i].transform.localScale.z);
141 this._ring_game_objects[i].transform.LookAt(this._MainPoint.transform, Vector3.up);
142 this._ring_game_objects[i].transform.rotation *= Quaternion.Euler(90, 0, 0);