protected override void PostModify()
        {
            SeamothStorageContainer container = PrefabClone.GetComponent <SeamothStorageContainer>();

            container.width  = 4;
            container.height = 4;
        }
예제 #2
0
        protected override void ModifyGameObject()
        {
            GameObject model = PrefabClone.transform.Find("model").gameObject;

            Object.DestroyImmediate(PrefabClone.FindChild("GameObject"));
            Object.DestroyImmediate(PrefabClone.GetComponent <SeamothStorageContainer>());
            Object.DestroyImmediate(PrefabClone.transform.Find("model/exosuit_rig_armLeft:exosuit_torpedoLauncher_geo").gameObject);

            GameObject colliderGO = PrefabClone.FindChild("collider");

            BoxCollider boxCollider = colliderGO.AddComponent <BoxCollider>();

            boxCollider.size   = new Vector3(1.87f, 0.48f, 0.69f);
            boxCollider.center = new Vector3(0.01f, 0.01f, 0.0f);
            Object.DestroyImmediate(colliderGO.GetComponent <CapsuleCollider>());

            GameObject PlasmaArm = Object.Instantiate(Main.assetBundle.LoadAsset <GameObject>("PlasmaArm"), model.transform);

            PlasmaArm.name = "exosuit_plasma_arm";
            PlasmaArm.transform.localPosition = new Vector3(-0.02f, -0.15f, -0.20f);
            PlasmaArm.transform.localScale    = new Vector3(0.13f, 0.13f, 0.13f);
            PlasmaArm.transform.localRotation = Quaternion.Euler(0, 90, 0);

            Object.DestroyImmediate(PlasmaArm.FindChild("SFX"));

            Renderer laserArmRenderer = PlasmaArm.GetComponent <Renderer>();

            Texture2D _MainTex = Main.assetBundle.LoadAsset <Texture2D>("PlasmaArm_MainTex");
            Texture2D _Illum   = Main.assetBundle.LoadAsset <Texture2D>("PlasmaArm_Illum");
            Texture2D _BumpMap = Main.assetBundle.LoadAsset <Texture2D>("PlasmaArm_BumpMap");

            Shader marmoShader = Shader.Find("MarmosetUBER");

            foreach (Material material in laserArmRenderer.materials)
            {
                material.name   = "plasmaArm";
                material.shader = marmoShader;
                material.EnableKeyword("MARMO_EMISSION");
                material.EnableKeyword("_ZWRITE_ON");
                material.SetTexture(Shader.PropertyToID("_MainTex"), _MainTex);
                material.SetTexture(Shader.PropertyToID("_BumpMap"), _BumpMap);
                material.SetTexture(Shader.PropertyToID("_Illum"), _Illum);
            }
        }