Ejemplo n.º 1
0
            private static void EnlargeGrowingObjects()
            {
                if (enlargingObjects.Count > 0)
                {
                    float             time            = Time.time;
                    List <GameObject> totallyEnlarged = new List <GameObject>();
                    foreach (GameObject gameObject in enlargingObjects.Keys)
                    {
                        EnlargeData enlargeData = enlargingObjects[gameObject];
                        if (time > enlargeData.CreationTime + enlargeData.EnlargeTimeSeconds)
                        {
                            gameObject.transform.localScale = enlargeData.OriginalScale;
                            totallyEnlarged.Add(gameObject);
                            continue;
                        }

                        Vector3 scale = enlargeData.OriginalScale;
                        if (scale == null)
                        {
                            continue;
                        }

                        float percentEnlarged = (time - enlargeData.CreationTime) / enlargeData.EnlargeTimeSeconds;
                        gameObject.transform.localScale = new Vector3(scale.x * percentEnlarged, scale.y * percentEnlarged, scale.z * percentEnlarged);
                    }

                    foreach (GameObject gameObject in totallyEnlarged)
                    {
                        enlargingObjects.Remove(gameObject);
                    }
                }
            }
Ejemplo n.º 2
0
            public static void EnlargeSoon(GameObject instance, float enlargeTimeSeconds)
            {
                if (enlargeTimeSeconds <= 0)
                {
                    return;
                }

                if (instance == null || instance.transform == null || !instance.activeInHierarchy)
                {
                    return;
                }

                enlargingObjects[instance] = new EnlargeData()
                {
                    CreationTime       = Time.time,
                    EnlargeTimeSeconds = enlargeTimeSeconds,
                    OriginalScale      = instance.transform.localScale
                };

                instance.transform.localScale = Vector3.zero;
            }