예제 #1
0
    public void SaveSkinnable(Skinnable skinnable)
    {
        bool replacePrefab        = false;
        bool changeMesh           = false;
        bool changeMaterials      = false;
        bool changeMatColors      = false;
        bool changeLightColor     = false;
        bool changeLightIntensity = false;

        bool changeParticleColors = false;
        bool applyToChildren      = false;

        if (skinnable is SkinnableGeneral)
        {
            replacePrefab        = false;
            changeMaterials      = (skinnable as SkinnableGeneral).changeMaterials;
            changeMatColors      = (skinnable as SkinnableGeneral).changeMaterialColor;
            changeParticleColors = false;
            applyToChildren      = false;

            if (skinnable is SkinnableMesh)
            {
                replacePrefab        = false;
                changeMesh           = (skinnable as SkinnableMesh).changeMesh;
                changeMaterials      = (skinnable as SkinnableGeneral).changeMaterials;
                changeMatColors      = (skinnable as SkinnableGeneral).changeMaterialColor;
                changeParticleColors = false;
                applyToChildren      = false;
            }
            else if (skinnable is SkinnablePrefab)
            {
                replacePrefab        = (skinnable as SkinnablePrefab).replacePrefab;
                changeMesh           = false;
                changeMaterials      = (skinnable as SkinnablePrefab).changeMaterials;
                changeMatColors      = (skinnable as SkinnablePrefab).changeMaterialColor;
                changeParticleColors = false;
                applyToChildren      = false;
            }
            else if (skinnable is SkinnableParticles)
            {
                replacePrefab        = false;
                changeMesh           = false;
                changeMaterials      = (skinnable as SkinnableParticles).changeMaterials;
                changeMatColors      = (skinnable as SkinnableParticles).changeMaterialColor;
                changeParticleColors = (skinnable as SkinnableParticles).changeParticleColors;
            }
        }
        if (skinnable is SkinnableLight)
        {
            changeLightColor     = (skinnable as SkinnableLight).changeLightColor;
            changeLightIntensity = (skinnable as SkinnableLight).changeLightIntensity;
        }

        SaveSkinnableWindow.Init(skinnable, replacePrefab, changeMesh, changeMaterials, changeMatColors, changeLightColor, changeLightIntensity, changeParticleColors, applyToChildren);
    }
예제 #2
0
    public static void Init(Skinnable skinnable, bool replacePrefab = false, bool changeMesh = false, bool changeMaterials = false,
                            bool changeMatColors = false, bool changeLightColor = false, bool changeLightIntensity         = false, bool changeParticleColors = false, bool applyToChildren = false)
    {
        SaveSkinnableWindow window = (SaveSkinnableWindow)GetWindow(typeof(SaveSkinnableWindow));

        window._skinnable = skinnable;

        window._savePrefab    = replacePrefab;
        window._saveMesh      = changeMesh;
        window._saveMaterials = changeMaterials;
        window._saveMatColors = changeMatColors;

        window._saveLightColor     = changeLightColor;
        window._saveLightIntensity = changeLightIntensity;

        window._saveParticleColors = changeParticleColors;
        window._saveChildren       = applyToChildren;

        window.saveColors = skinnable.saveColors;

        window.minSize = new Vector2(250, 250);
        window.Show();
    }