Beispiel #1
0
    private void OnCheckIDs(object o, EventArgs args)
    {
        if (application.CurrentTilemap == null)
        {
            return;
        }

        List <int>  invalidtiles = QACheck.CheckIds(application.CurrentTilemap, application.CurrentLevel.Tileset);
        MessageType msgtype;

        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        if (invalidtiles.Count == 0)
        {
            msgtype = MessageType.Info;
            sb.Append("All tile ids are valid");
        }
        else
        {
            msgtype = MessageType.Warning;
            sb.Append("This tilemap contains tiles with these nonexistent IDs:");
            foreach (int id in invalidtiles)
            {
                sb.Append(" " + id.ToString());
            }
        }
        MessageDialog md = new MessageDialog(null, DialogFlags.DestroyWithParent,
                                             msgtype, ButtonsType.Close, sb.ToString());

        md.Run();
        md.Destroy();
    }
Beispiel #2
0
    protected void OnQACheck(object o, EventArgs args)
    {
        if (level == null)
        {
            return;
        }
        QACheck.CheckObjectDirections(level);
        foreach (Sector sector in level.Sectors)
        {
            QACheck.CheckIds(this, sector, false);
        }

        QACheck.CheckLicense(level);
    }
Beispiel #3
0
    protected void Save(bool chooseName)
    {
        if (fileName == null)
        {
            chooseName = true;
        }

        if (level == null)
        {
            return;
        }

        if (chooseName)
        {
            fileChooser.Title  = "Select file to save Level";
            fileChooser.Action = Gtk.FileChooserAction.Save;
            fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName);
            fileChooser.Filter = fileChooser.Filters[(level.isWorldmap)?2:1];
            int result = fileChooser.Run();
            fileChooser.Hide();
            if (result != (int)Gtk.ResponseType.Ok)
            {
                return;
            }
            Settings.Instance.LastDirectoryName = fileChooser.CurrentFolder;
            Settings.Instance.addToRecentDocuments(fileChooser.Filename);
            Settings.Instance.Save();
            UpdateRecentDocuments();
            fileName = fileChooser.Filename;
        }
        QACheck.ReplaceDeprecatedTiles(level);

        try {
            serializer.Write(fileName, level);
        } catch (Exception e) {
            ErrorDialog.Exception("Couldn't save level", e);
        }

        UndoManager.MarkAsSaved();
        UpdateTitlebar();
    }
Beispiel #4
0
 protected void OnCheckIDs(object o, EventArgs args)
 {
     QACheck.CheckIds(application, sector, true);
 }