Esempio n. 1
0
        public TileLayerDefinitionEditor(TileLayerDefinition def)
        {
            this.def = def;
            InitializeComponent();
            Location = new Point(206, 128);

            exportModeComboBox.SelectedIndex = (int)def.ExportMode;
        }
        public TileLayerDefinitionEditor(TileLayerDefinition def)
        {
            this.def = def;
            InitializeComponent();
            Location = new Point(206, 128);

            // Compile a list of all the export modes for each project type
            xmlExportModes = new List <TileLayerDefinition.TileExportMode>();
            xmlExportModes.Add(TileLayerDefinition.TileExportMode.CSV);
            xmlExportModes.Add(TileLayerDefinition.TileExportMode.TrimmedCSV);
            xmlExportModes.Add(TileLayerDefinition.TileExportMode.XML);
            xmlExportModes.Add(TileLayerDefinition.TileExportMode.XMLCoords);

            jsonExportModes = new List <TileLayerDefinition.TileExportMode>();
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.Array2D);
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.Array1D);
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.CSV);
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.TrimmedCSV);
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.JSON);
            jsonExportModes.Add(TileLayerDefinition.TileExportMode.JSONCoords);

            // Initialize a dictionary containing the descriptions for each export mode
            exportModeDescriptions = new Dictionary <TileLayerDefinition.TileExportMode, string>();
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.CSV, "CSV");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.TrimmedCSV, "Trimmed CSV");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.XML, "XML (IDs)");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.XMLCoords, "XML (Co-ords)");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.JSON, "JSON (IDs)");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.JSONCoords, "JSON (Co-ords)");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.Array2D, "JSON (2D Array)");
            exportModeDescriptions.Add(TileLayerDefinition.TileExportMode.Array1D, "JSON (1D Array)");

            // Add the Export Mode dropdown options
            if (Ogmo.Project.ProjectType == Ogmo.ProjectType.XML)
            {
                foreach (var mode in xmlExportModes)
                {
                    exportModeComboBox.Items.Add(exportModeDescriptions[mode]);
                }
            }
            else if (Ogmo.Project.ProjectType == Ogmo.ProjectType.JSON)
            {
                foreach (var mode in jsonExportModes)
                {
                    exportModeComboBox.Items.Add(exportModeDescriptions[mode]);
                }
            }

            // Automatically select the current export mode from the dropdown
            exportModeComboBox.SelectedIndex = GetIndexForExportMode(def.ExportMode);
        }
Esempio n. 3
0
        public TileLayer(Level level, TileLayerDefinition definition)
            : base(level, definition)
        {
            Definition = definition;
            Tileset    = Ogmo.Project.Tilesets[0];

            int tileWidth  = Level.Size.Width / definition.Grid.Width + (Level.Size.Width % definition.Grid.Width != 0 ? 1 : 0);
            int tileHeight = Level.Size.Height / definition.Grid.Height + (Level.Size.Height % definition.Grid.Height != 0 ? 1 : 0);

            tiles = new int[tileWidth, tileHeight];
            Clear();

            ResetBitmaps();
        }