1using System.Collections;
2using System.Collections.Generic;
3using NaughtyAttributes;
20 internal new AudioSource audio;
21 private bool moving =
false;
22 private float currentAngle = 0.0f;
27 audio = GetComponent<AudioSource>();
32 socket.transform.SetParent(
helper.transform,
false);
33 socket.transform.localPosition =
new Vector3(0, 0.0074f, 0);
34 socket.transform.localEulerAngles =
new Vector3(90, 0, 0);
55 FollowObject = GetComponent<ThrowableCanDisable>().savedHand.GetComponent<
HackedHand>().objectAttachmentPoint.gameObject;
56 GetComponent<ThrowableCanDisable>().
ForceDrop();
57 GetComponent<ThrowableCanDisable>().enabled =
false;
58 helper.transform.SetParent(transform.parent);
59 transform.SetParent(
helper.transform);
62 StartCoroutine(LateStartMoving());
67 internal void DebugStartMoving()
74 helper.transform.SetParent(transform.parent);
75 transform.SetParent(
helper.transform);
78 StartCoroutine(LateStartMoving());
82 IEnumerator LateStartMoving()
105 var tcd = GetComponent<ThrowableCanDisable>();
107 transform.SetParent(
helper.transform.parent);
108 helper.transform.SetParent(transform);
122 var lp =
helper2.transform.localPosition;
123 helper2.transform.localPosition =
new Vector3(lp.x, 0, lp.z);
127 if (moveDelta.z < -0.01f)
129 if (!audio.isPlaying)
132 if (moveDelta.z > 0.01f)
134 if (moveDelta.z > 180.0f)
136 Debug.Log(
"!!!!! moveDelta.z > 180 : " + moveDelta.z);
139 currentAngle += moveDelta.z;
152 float[] eulerAngles =
new float[3];
153 float[] fixedEulerAngles =
new float[3];
156 tempEuler = Mathf.Atan2(2 * quaternion.x * quaternion.w + 2 * quaternion.y * quaternion.z,
157 1 - 2 * quaternion.x * quaternion.x - 2 * quaternion.z * quaternion.z);
158 eulerAngles[0] = tempEuler * 180 / Mathf.PI;
159 if (eulerAngles[0] < 0)
161 fixedEulerAngles[0] = 180 + (180 + eulerAngles[0]);
164 if (eulerAngles[0] > 0)
166 fixedEulerAngles[0] = eulerAngles[0];
170 tempEuler = Mathf.Asin(2 * quaternion.x * quaternion.y + 2 * quaternion.z * quaternion.w);
171 eulerAngles[1] = tempEuler * 180 / Mathf.PI;
172 if (eulerAngles[1] < 0)
174 fixedEulerAngles[1] = 180 + (180 + eulerAngles[1]);
177 if (eulerAngles[1] > 0)
179 fixedEulerAngles[1] = eulerAngles[1];
183 tempEuler = Mathf.Atan2(2 * quaternion.y * quaternion.w + 2 * quaternion.x * quaternion.z,
184 1 - 2 * quaternion.y * quaternion.y - 2 * quaternion.z * quaternion.z);
185 eulerAngles[2] = tempEuler * 180 / Mathf.PI;
186 if (eulerAngles[2] < 0)
188 fixedEulerAngles[2] = 180 + (180 + eulerAngles[2]);
191 if (eulerAngles[2] > 0)
193 fixedEulerAngles[2] = eulerAngles[2];
196 return new Vector3(fixedEulerAngles[0], fixedEulerAngles[1], fixedEulerAngles[2]);
UnityEngine.UI.Button Button
void StartMoving(GameObject hand)
DEPRECATED
static Vector3 ConvertQuant2Euler(Quaternion quaternion)
static TorqueWrench instance
void AttachSocket(GameObject socket)