示例#1
0
        protected void CreateAnchor()
        {
            MadUndo.LegacyRegisterSceneUndo("Create Anchor");

            if (IsAnchored())
            {
                EditorUtility.DisplayDialog("Anchor already exists", "Your bar object is already under the anchor", "Fine");
                return;
            }

            var anchor = MadTransform.CreateChild <MadAnchor>(energyBarBase.transform.parent, "Anchor");

            energyBarBase.transform.parent = anchor.transform;

            Selection.activeObject = energyBarBase.gameObject;
        }
示例#2
0
    public static void Convert()
    {
        MadUndo.LegacyRegisterSceneUndo("Convert to Atlas");

        var allSprites = GameObject.FindObjectsOfType(typeof(MadSprite)) as MadSprite[];

        var texturedSprites =
            from sprite in allSprites
            where sprite.inputType == MadSprite.InputType.SingleTexture && sprite.texture != null
            select sprite;

        var textures =
            from sprite in texturedSprites
            select sprite.texture;

        textures = textures.Distinct();

        var atlas = MadAtlasBuilder.CreateAtlas(textures.ToArray());

        if (atlas == null)
        {
            EditorUtility.DisplayDialog("Convert", "Conversion cancelled!", "OK");
            return;
        }

        foreach (var sprite in texturedSprites)
        {
            sprite.inputType    = MadSprite.InputType.TextureAtlas;
            sprite.textureAtlas = atlas;
            string guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(sprite.texture));
            sprite.textureAtlasSpriteGUID = guid;

            EditorUtility.SetDirty(sprite);
        }

        EditorUtility.DisplayDialog("Convert", "Conversion done! Please save your scene!", "OK");
    }