示例#1
0
        public static ObjectMoveData Scale(GameObject targetObject, Vector3 start, Vector3 end, float duration)
        {
            ObjectMoveData moveData = GetMoveData(targetObject, duration);

            moveData.Scale(start, end);
            return(moveData);
        }
示例#2
0
        public static ObjectMoveData Translate(GameObject targetObject, Vector3 start, Vector3 end, float duration, bool inWorldSpace = true)
        {
            ObjectMoveData moveData = GetMoveData(targetObject, duration);

            moveData.Translate(start, end, inWorldSpace);
            return(moveData);
        }
示例#3
0
        public static ObjectMoveData Rotate(GameObject targetObject, Quaternion start, Quaternion end, float duration, bool inWorldSpace = true)
        {
            ObjectMoveData moveData = GetMoveData(targetObject, duration);

            moveData.Rotate(start, end, inWorldSpace);
            return(moveData);
        }
示例#4
0
        private static ObjectMoveData GetMoveData(GameObject targetObject, float duration)
        {
            if (_moveData == null)
            {
                Debug.LogError("Is there not an instance of ContentMover in the scene?");
            }

            ObjectMoveData moveData = null;

            if (_moveData.TryGetValue(targetObject, out moveData) == false)
            {
                moveData = new ObjectMoveData(targetObject.transform, duration);
                _moveData.Add(targetObject, moveData);
                _objects.Add(targetObject);
            }
            return(moveData);
        }
示例#5
0
        protected void Update()
        {
            int            count     = _objects.Count;
            ObjectMoveData moveData  = null;
            float          deltaTime = Time.deltaTime;

            for (int i = count - 1; i >= 0; i--)
            {
                if (_moveData.TryGetValue(_objects[i], out moveData))
                {
                    moveData.Process(deltaTime);
                    if (moveData.IsComplete)
                    {
                        moveData.FinishNow();
                        _moveData.Remove(_objects[i]);
                        _objects.RemoveAt(i);
                    }
                }
            }
        }