Ejemplo n.º 1
0
        private void Awake()
        {
            rigidbody       = GetComponent <Rigidbody>();
            leftWingTarget  = transform.FindInChildren("Left Wing Target");
            rightWingTarget = transform.FindInChildren("Right Wing Target");
            tailTarget      = transform.FindInChildren("Tail Target");

            var found = false;

            foreach (var renderer in GetComponentsInChildren <SkinnedMeshRenderer>())
            {
                for (var i = 0; i < renderer.sharedMaterials.Length; i++)
                {
                    var material = renderer.sharedMaterials[i];

                    if (material.name == "eyeball_l")
                    {
                        leftEyeMaterialIndex = i;
                        found = true;
                    }
                    else if (material.name == "eyeball_r")
                    {
                        rightEyeMaterialIndex = i;
                        found = true;
                    }
                }

                if (found)
                {
                    body = renderer;
                    break;
                }
            }

            Assert.IsTrue(found, "Body / eyes not found on " + name);
            Assert.IsNotNull(rigidbody, "Rigidbody not found on " + name);
            Assert.IsNotNull(leftWingTarget, "Left Wing Target not found on " + name);
            Assert.IsNotNull(rightWingTarget, "Right Wing Target found set on " + name);
            Assert.IsNotNull(tailTarget, "Tail Target not found on " + name);
            Assert.IsNotNull(body, "Body not found on " + name);

            leftEyeZero  = body.sharedMaterials[leftEyeMaterialIndex].GetTextureOffset("_MainTex");
            rightEyeZero = body.sharedMaterials[rightEyeMaterialIndex].GetTextureOffset("_MainTex");

            Destroy(leftWingTarget.parent.gameObject.GetComponent <PonyWallpaperTest.Rotate>());
            Destroy(rightWingTarget.parent.gameObject.GetComponent <PonyWallpaperTest.Rotate>());

            // Start flapping at a random offset
            leftWingTarget.parent.transform.Rotate(new Vector3(0, 0, 360 * UnityEngine.Random.value));

            random.SetSeed(UnityEngine.Random.value);
        }