Beispiel #1
0
 public DesignPattern Save()
 {
     try
     {
         if (this.CurrentPattern.Type == DesignPattern.TypeEnum.SimplePattern)
         {
             var pattern = new SimpleDesignPattern
             {
                 Type = Type                    /*,
                                                 * IsPro = Type != DesignPattern.TypeEnum.SimplePattern*/
             };
             pattern.FromBitmap(this.CurrentPattern.PreviewBitmap);
             return(pattern);
         }
         else
         {
             var pattern = new ProDesignPattern
             {
                 Type = Type                    /*,
                                                 * IsPro = Type != DesignPattern.TypeEnum.SimplePattern*/
             };
             pattern.FromBitmap(this.CurrentPattern.PreviewBitmap);
             return(pattern);
         }
     }
     catch (System.Exception e) { Logger.Log(Logger.Level.ERROR, "[PatternEditor] Error while saving pattern: " + e.ToString()); return(null); }
 }
Beispiel #2
0
    public void ShowPattern(DesignServer.Pattern pattern, PatternExchange exchange)
    {
        try
        {
            PatternExchange = exchange;
            Pattern         = pattern;
            if (CurrentTexture != null)
            {
                CurrentTexture.Dispose();
                CurrentTexture = null;
            }

            ACNHFileFormat format = new ACNHFileFormat(pattern.Bytes);
            DesignPattern  patt   = null;
            if (format.IsPro)
            {
                patt = new ProDesignPattern();
                patt.CopyFrom(format);
            }
            else
            {
                patt = new SimpleDesignPattern();
                patt.CopyFrom(format);
            }

            CurrentTexture = patt.GetBitmap();
            CurrentTexture.Apply();
            CurrentTexture.Texture.filterMode = FilterMode.Point;
            CurrentTexture.Texture.wrapMode   = TextureWrapMode.Clamp;
            this.Image.texture = CurrentTexture.Texture;
        }
        catch (System.Exception e)
        {
        }
    }
Beispiel #3
0
    public void Clear()
    {
        var p = new SimpleDesignPattern();

        p.Type = this.Type;
        //p.IsPro = this.Type != DesignPattern.TypeEnum.SimplePattern;
        p.Image = new byte[p.Width / 2 * p.Height];
        p.Empty();
        var colors = p.GetPixels();

        unsafe
        {
            var bitmapColors = Bitmap.GetColors();
            for (int y = 0; y < Height; y++)
            {
                for (int x = 0; x < Width; x++)
                {
                    var col = new TextureBitmap.Color(
                        (byte)(colors[x + y * Width].r * 255f),
                        (byte)(colors[x + y * Width].g * 255f),
                        (byte)(colors[x + y * Width].b * 255f),
                        (byte)(colors[x + y * Width].a * 255f)
                        );
                    *(bitmapColors + x + y * Width) = col;
                }
            }
        }
        Load();
    }
Beispiel #4
0
    public void SelectPattern(DesignPattern pattern)
    {
        if (pattern == Pattern)
        {
            return;
        }

        if (Pattern is ProDesignPattern)
        {
            var backup = new ProDesignPattern();
            backup.CopyFrom(Controller.Instance.CurrentSavegame.ProDesignPatterns[Pattern.Index]);
            Controller.Instance.CurrentSavegame.ProDesignPatterns[Pattern.Index].CopyFrom(Controller.Instance.CurrentSavegame.ProDesignPatterns[pattern.Index]);
            Controller.Instance.CurrentSavegame.ProDesignPatterns[pattern.Index].CopyFrom(backup);
        }
        else
        {
            var backup = new SimpleDesignPattern();
            backup.CopyFrom(Controller.Instance.CurrentSavegame.SimpleDesignPatterns[Pattern.Index]);
            Controller.Instance.CurrentSavegame.SimpleDesignPatterns[Pattern.Index].CopyFrom(Controller.Instance.CurrentSavegame.SimpleDesignPatterns[pattern.Index]);
            Controller.Instance.CurrentSavegame.SimpleDesignPatterns[pattern.Index].CopyFrom(backup);
        }

        _IsFinished = true;
    }