//private bool m_RotateAroundVector; public void In( [FriendlyName("Target", "The Target GameObject(s) whose look direction will be adjusted."), AutoLinkType(typeof(GameObject))] GameObject[] Target, [FriendlyName("Focus", "The item to focus on - can be a Vector3 position or a GameObject.")] object Focus, [FriendlyName("Seconds", "The amount of time (in seconds) it takes to complete the look. Use 0 for an instantaneous look.")] float time, [FriendlyName("Lock Axis", "Use this to lock rotation on the specified axis.")] [SocketState(false, false)] LockAxis lockAxis ) { if (Focus != null) { m_Time = 0.0f; m_TotalTime = time; m_Targets = null; m_Focus = null; m_LockAxis = lockAxis; //m_RotateAroundVector = rotateAroundVector; #if !UNITY_FLASH if (typeof(GameObject) == Focus.GetType()) { m_Focus = (GameObject) Focus; m_FocusPosition = ((GameObject)Focus).transform.position; } else if (typeof(Vector3) == Focus.GetType()) { m_FocusPosition = (Vector3)Focus; } else { #endif m_FocusPosition = Vector3.forward; #if !UNITY_FLASH } #endif m_Targets = Target; m_StartRotations = new Quaternion[ m_Targets.Length ]; m_StartPositions = new Vector3 [ m_Targets.Length ]; for (int i = 0; i < m_Targets.Length; i++) { if ( null == m_Targets[i] ) continue; m_StartRotations[ i ] = m_Targets[ i ].transform.rotation; m_StartPositions[ i ] = m_Targets[ i ].transform.position; } } if (0 == m_TotalTime) Update(); }
public void In( [FriendlyName("Target", "The Target GameObject(s) whose look direction will be adjusted."), AutoLinkType(typeof(GameObject))] GameObject[] Target, [FriendlyName("Focus", "The item to focus on - can be a Vector3 position or a GameObject.")] object Focus, [FriendlyName("Seconds", "The amount of time (in seconds) it takes to complete the look. Use 0 for an instantaneous look.")] float time, [FriendlyName("Lock Axis", "Use this to lock rotation on the specified axis.")] [SocketState(false, false)] LockAxis lockAxis, [FriendlyName("Degrees Per Second", "If Use Degrees Per Second is true, this is the speed at which the rotation will take place. NOTE: this variable must have the same sign (i.e. positive or negative) as the Degrees variable.")] float DegreesPerSecond = 10.0f, [FriendlyName("Use Degrees Per Second", "If this is true, the rotation will happen at a constant rate, no matter how many degrees of rotation are needed. If false, the rotation will take the number of seconds in the variable Seconds to complete.")] [SocketState(true, false)] bool UseDegreesPerSecond = false ) { if (Focus != null) { m_Time = 0.0f; m_TotalTime = time; m_Targets = null; m_Focus = null; m_LockAxis = lockAxis; //m_RotateAroundVector = rotateAroundVector; #if !UNITY_FLASH if (typeof(GameObject) == Focus.GetType()) { m_Focus = (GameObject)Focus; m_FocusPosition = ((GameObject)Focus).transform.position; } else if (typeof(Vector3) == Focus.GetType()) { m_FocusPosition = (Vector3)Focus; } else { #endif m_FocusPosition = Vector3.forward; #if !UNITY_FLASH } #endif m_Targets = Target; m_StartRotations = new Quaternion[m_Targets.Length]; m_StartPositions = new Vector3 [m_Targets.Length]; for (int i = 0; i < m_Targets.Length; i++) { if (null == m_Targets[i]) { continue; } m_StartRotations[i] = m_Targets[i].transform.rotation; m_StartPositions[i] = m_Targets[i].transform.position; } } m_UseDegreesPerSecond = UseDegreesPerSecond; m_DegreesPerSecond = DegreesPerSecond; if (0 == m_TotalTime) { Update(); } }
//private bool m_RotateAroundVector; public void In( [FriendlyName("Target", "The Target GameObject(s) whose look direction will be adjusted.")] GameObject[] Target, [FriendlyName("Focus", "The item to focus on - can be a Vector3 position or a GameObject.")] object Focus, [FriendlyName("Seconds", "The amount of time (in seconds) it takes to complete the look. Use 0 for an instantaneous look.")] float time, [FriendlyName("Lock Axis", "Use this to lock rotation on the specified axis.")] [SocketState(false, false)] LockAxis lockAxis ) { if (Focus != null) { m_Time = 0.0f; m_TotalTime = time; m_Targets = null; m_Focus = null; m_LockAxis = lockAxis; //m_RotateAroundVector = rotateAroundVector; #if !UNITY_FLASH if (typeof(GameObject) == Focus.GetType()) { m_Focus = (GameObject)Focus; m_FocusPosition = ((GameObject)Focus).transform.position; } else if (typeof(Vector3) == Focus.GetType()) { m_FocusPosition = (Vector3)Focus; } else { #endif m_FocusPosition = Vector3.forward; #if !UNITY_FLASH } #endif m_Targets = Target; m_StartRotations = new Quaternion[m_Targets.Length]; m_StartPositions = new Vector3 [m_Targets.Length]; for (int i = 0; i < m_Targets.Length; i++) { if (null == m_Targets[i]) { continue; } m_StartRotations[i] = m_Targets[i].transform.rotation; m_StartPositions[i] = m_Targets[i].transform.position; } } if (0 == m_TotalTime) { Update(); } }