示例#1
0
        protected override void Build()
        {
            // Load Material
            ModelMat = CreateModelMat();

            // Get GameObjects
            Prefab      = PrefabUtils.CopyPrefab(BaseItem);
            Prefab.name = NamePrefix + Name;
            Prefab.transform.localScale = Scale;

            GameObject child = Prefab.FindChild("Sphere");

            child.transform.localScale = ModelScale;

            GameObject cPart = child.FindChild("FX Water Glops");

            // Load Components
            Rigidbody         body = Prefab.GetComponent <Rigidbody>();
            Vacuumable        vac  = Prefab.GetComponent <Vacuumable>();
            Identifiable      iden = Prefab.GetComponent <Identifiable>();
            DestroyOnTouching dest = Prefab.GetComponent <DestroyOnTouching>();

            MeshFilter   filter = child.GetComponent <MeshFilter>();
            MeshRenderer render = child.GetComponent <MeshRenderer>();

            ParticleSystemRenderer part = cPart.GetComponent <ParticleSystemRenderer>();

            // Setup Components
            body.mass = Mass;
            vac.size  = Size;
            iden.id   = ID;

            dest.liquidType = ID;
            dest.destroyFX  = PrefabUtils.CopyPrefab(dest.destroyFX);

            filter.sharedMesh     = Mesh;
            render.sharedMaterial = ModelMat;

            part.mesh           = Mesh;
            part.sharedMaterial = ModelMat;

            // Setup After effect
            GameObject cPart2 = dest.destroyFX.FindChild("Water Glops");

            ParticleSystemRenderer part2 = cPart2.GetComponent <ParticleSystemRenderer>();

            part2.mesh           = Mesh;
            part2.sharedMaterial = ModelMat;
        }
        protected override void Build()
        {
            // Pre Build Manipulation

            // Build Control
            base.Build();

            // Post Build Manipulation
            Object.Destroy(Prefab.FindChild("Sphere").FindChild("FX Sprinkler 1"));

            DestroyOnTouching dest = Prefab.GetComponent <DestroyOnTouching>();

            Object.Destroy(dest.destroyFX.FindChild("Bubbles"));
            Object.Destroy(dest.destroyFX.FindChild("Sparkles"));
            Object.Destroy(dest.destroyFX.FindChild("Wave"));

            ParticleSystem.MainModule main = dest.destroyFX.FindChild("Hit").GetComponent <ParticleSystem>().main;
            main.startColor = ColorUtils.FromHex("68bb30");
        }