public void SetStartAndDestPosition(GameObject go, Vector3 start, Vector3 dest) { //TransitionProperty property = TransitionProperty.Position; Transition transition = transitions[(int)TransitionProperty.Position]; TransitionParams tp = go.GetComponent <TransitionParams>(); tp.gameObject.transform.localPosition = start; tp.startPos = start; tp.destPos = dest; tp.shiftRay = tp.destPos - tp.startPos; tp.shiftLength = tp.shiftRay.magnitude; bool containsKey = propTransDict.ContainsKey(TransitionProperty.Position); if (tp.shiftLength > 1E-05f) { tp.shiftRay.Normalize(); if (!containsKey && transition != null) { propTransDict.Add(TransitionProperty.Position, transition); } } else { tp.shiftRay = Vector3.zero; tp.shiftLength = 0; if (containsKey && transition.gameObjects.Length == 1) { propTransDict.Remove(TransitionProperty.Position); } } }
public void SetStartAndDestRotationEulerAngles(GameObject go, Vector3 startEulerAngles, Vector3 destEulerAngles) { TransitionProperty property = TransitionProperty.RotationEulerAngles; Transition transition = transitions[(int)TransitionProperty.RotationEulerAngles]; TransitionParams td = go.GetComponent <TransitionParams>(); td.startRotationEulerAngles = startEulerAngles; td.destRotationEulerAngles = destEulerAngles; bool containsKey = propTransDict.ContainsKey(property); if (startEulerAngles == destEulerAngles) { if (containsKey) { propTransDict.Remove(property); } } else { if (!containsKey && transition != null) { propTransDict.Add(property, transition); } } }
public void SetStartAndDestProperty(GameObject go, TransitionProperty property, float start, float dest) { if (property == TransitionProperty.Position || property == TransitionProperty.RotationEulerAngles) { return; } Transition transition = null; TransitionParams tp = go.GetComponent <TransitionParams>(); switch (property) { case TransitionProperty.Scale: transition = transitions[(int)TransitionProperty.Scale]; tp.startScale = start; tp.destScale = dest; tp.gameObject.transform.localScale = new Vector3(start, start, 1.0f); break; case TransitionProperty.Alpha: transition = transitions[(int)TransitionProperty.Alpha]; tp.startAlpha = start; tp.destAlpha = dest; Utils.SetSpriteAlpha(tp.gameObject, start); break; default: break; } bool containsKey = propTransDict.ContainsKey(property); if (start == dest) { if (containsKey && transition.gameObjects.Length == 1) { propTransDict.Remove(property); } } else { if (!containsKey && transition != null) { propTransDict.Add(property, transition); } } }