internal void CreateObjectCategoryFromSelectedTile() { CreateObjectCategoryForm createObjectCategoryForm = new CreateObjectCategoryForm(); try { createObjectCategoryForm.ObjCategoryImage = Tilesheet.CropImage(new RectangleF(_selectedTile.X * @interface.TileWidth, _selectedTile.Y * @interface.TileHeight, @interface.TileWidth, @interface.TileHeight)); } catch { return; } createObjectCategoryForm.CollisionTypeDataSource = @interface.CollisionTypeTable; if (createObjectCategoryForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { int tileIndex = _selectedTile.Y * _columns + _selectedTile.X; foreach (var obj in @interface.GameObjectCategories) { if (obj.TileIndex == tileIndex) { @interface.AddTileObjectFromAvailableObjectCategory(tileIndex, obj); return; } } GameObjectCategory gameObjectCategory = new GameObjectCategory(); gameObjectCategory.Id = createObjectCategoryForm.ObjectCategoryId; gameObjectCategory.Name = createObjectCategoryForm.ObjectCategoryName; gameObjectCategory.ObjectCategoryImage = createObjectCategoryForm.ObjCategoryImage; gameObjectCategory.TileIndex = tileIndex; @interface.AddCollisionType(createObjectCategoryForm.CollisionTypeName); gameObjectCategory.CollisionType = createObjectCategoryForm.CollisionTypeName; @interface.AddGameObjectCategory(gameObjectCategory); } }
private void picObject_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { String[] fileNames = openFileDialog1.FileNames; foreach (var fileName in fileNames) { var name = GetFileName(fileName); int id = 0; int.TryParse(name, out id); var image = Image.FromFile(fileName); GameObjectCategory objectCategory = new GameObjectCategory(); objectCategory.Id = id; objectCategory.Name = name; objectCategory.ObjectCategoryImage = (Image)image.Clone(); image.Dispose(); Interface.AddGameObjectCategory(objectCategory, TreeViewObjectType.CategoryObjectFromFile); ChooseObjectTypeEnum = ChooseObjectTypeEnum.ObjectFromFile; } DialogResult = DialogResult.OK; this.Close(); } }
public AddObjectCategoryAction(GameObjectCategory objectCategory, IObjectsManager objectManager) { this.objectCategory = objectCategory; this.objectManager = objectManager; }
public void RemoveObjectCategory(GameObjectCategory objectCategory, IObjectsManager objectManager) { var action = new RemoveObjectCategoryAction(objectCategory, objectManager); HandlePushAction(action); }