Exemplo n.º 1
0
        private void CreateSprite(Core_Sprite.SpriteType type)
        {
            if (!Data)
            {
                return;
            }
            string path = Util.FixPath(EditorUtility.SaveFilePanel("Select Export Path", "Assets", Util.GetNameWithoutExtension(VoxelFilePath) + type.ToString(), "png"));

            if (!string.IsNullOrEmpty(path))
            {
                path = Util.FixedRelativePath(path);
                if (!string.IsNullOrEmpty(path))
                {
                    bool oldShow = ShowBackgroundBox;
                    CubeTF.gameObject.SetActive(false);
                    SetBoxBackgroundActive(false);

                    var result = Core_Sprite.CreateSprite(
                        Data,
                        CurrentModelIndex,
                        type,
                        GetSpriteNum(type),
                        GetSpriteLight(type),
                        GetSpritePivot(type),
                        Camera,
                        Sprite25DCameraScale
                        );

                    CubeTF.gameObject.SetActive(true);
                    SetBoxBackgroundActive(oldShow);

                    if (result.Texture)
                    {
                        Util.ByteToFile(result.Texture.EncodeToPNG(), path);
                        VoxelPostprocessor.AddSprite(path, new VoxelPostprocessor.SpriteConfig()
                        {
                            width       = result.Width,
                            height      = result.Height,
                            Pivots      = result.Pivots,
                            spriteRects = result.Rects,
                            Names       = result.NameFixes,
                        });
                        AssetDatabase.SaveAssets();
                        AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
                        EditorApplication.delayCall += VoxelPostprocessor.ClearAsset;
                    }
                }
                else
                {
                    Util.Dialog("Warning", "Export path must in Assets folder.", "OK");
                }
            }
        }
Exemplo n.º 2
0
        private float GetSpriteLight(Core_Sprite.SpriteType type)
        {
            switch (type)
            {
            default:
            case Core_Sprite.SpriteType._25D:
                return(Sprite25DLight);

            case Core_Sprite.SpriteType._8bit:
                return(Sprite8bitLight);

            case Core_Sprite.SpriteType._2D:
                return(Sprite2DLight);
            }
        }
Exemplo n.º 3
0
        private Vector2 GetSpritePivot(Core_Sprite.SpriteType type)
        {
            switch (type)
            {
            default:
            case Core_Sprite.SpriteType._25D:
                return(Sprite25DPivot);

            case Core_Sprite.SpriteType._8bit:
                return(Sprite8bitPivot);

            case Core_Sprite.SpriteType._2D:
                return(Sprite2DPivot);
            }
        }
Exemplo n.º 4
0
        private int GetSpriteNum(Core_Sprite.SpriteType type)
        {
            switch (type)
            {
            default:
            case Core_Sprite.SpriteType._8bit:
                return(SpriteNum8bitIndex);

            case Core_Sprite.SpriteType._2D:
                return(SpriteNum2DIndex);

            case Core_Sprite.SpriteType._25D:
                return(SpriteNum25DIndex);
            }
        }