├── src ├── OpenBreed.Wecs.Test │ └── Usings.cs ├── OpenBreed.Common.Tools.Test │ ├── Usings.cs │ └── UnitTest1.cs ├── OpenBreed.Wecs.Systems.Audio.Test │ └── Usings.cs ├── OpenBreed.Physics.Generic.Test │ └── Usings.cs ├── OpenBreed.Audio.OpenAL │ ├── openal32.dll │ └── ALTools.cs ├── OpenBreed.Audio.LibOpenMpt │ └── libopenmpt.dll ├── OpenBreed.Editor.UI.Wpf │ ├── Icons │ │ ├── add_24dp.png │ │ ├── done_24dp.png │ │ ├── undo_24dp.png │ │ ├── remove_24dp.png │ │ ├── close_small_24dp.png │ │ └── content_copy_24dp.png │ ├── Extensions │ │ └── PointExtensions.cs │ └── Tools │ │ └── AbtaPasswordGeneratorForm.xaml ├── nuget.config ├── OpenBreed.Sandbox │ ├── RunABTA.bat │ ├── Worlds │ │ └── MenuWorldHelper.cs │ ├── Loaders │ │ └── PaletteDataLoader.cs │ ├── EnvironmentSettings.cs │ ├── Wecs │ │ ├── Components │ │ │ ├── StatsComponents.cs │ │ │ ├── Xml │ │ │ │ ├── XmlDamagerComponent.cs │ │ │ │ ├── XmlKeysComponent.cs │ │ │ │ ├── XmlLivesComponent.cs │ │ │ │ ├── XmlResurrectableComponent.cs │ │ │ │ ├── XmlArmourComponent.cs │ │ │ │ ├── XmlCreditsComponent.cs │ │ │ │ ├── XmlPickableComponent.cs │ │ │ │ └── XmlHealthComponent.cs │ │ │ ├── TrackingComponent.cs │ │ │ ├── UnknownCodeComponent.cs │ │ │ ├── WeaponsComponent.cs │ │ │ └── PlayerInputsComponent.cs │ │ └── Events │ │ │ ├── DestroyedEvent.cs │ │ │ ├── ResurrectEvent.cs │ │ │ ├── LivesChangedEvent.cs │ │ │ └── InventoryChangedEvent.cs │ ├── GameSettings.cs │ ├── Entities │ │ └── WorldNames.cs │ ├── Helpers │ │ └── PaletteHelper.cs │ └── Extensions │ │ └── TextsDataProviderExtensions.cs ├── OpenBreed.Rendering.OpenGL │ ├── Shaders │ │ ├── shader.frag │ │ ├── shader.vert │ │ ├── nontextured.frag │ │ ├── nontextured.vert │ │ ├── defaultShader.frag │ │ ├── textured.vert │ │ ├── defaultShader.vert │ │ └── texturedWithPalette.frag │ └── Helpers │ │ └── GridCell.cs ├── OpenBreed.Database.Interface │ ├── Items │ │ ├── Images │ │ │ ├── IDbImage.cs │ │ │ ├── IDbIffImage.cs │ │ │ └── IDbAcbmImage.cs │ │ ├── Songs │ │ │ └── IDbSong.cs │ │ ├── Texts │ │ │ ├── IDbText.cs │ │ │ ├── IDbTextEmbedded.cs │ │ │ ├── IDbTextFromFile.cs │ │ │ └── IDbTextFromMap.cs │ │ ├── Scripts │ │ │ ├── IDbScript.cs │ │ │ ├── IDbScriptEmbedded.cs │ │ │ └── IDbScriptFromFile.cs │ │ ├── Palettes │ │ │ ├── IDbPalette.cs │ │ │ ├── IDbPaletteFromLbm.cs │ │ │ └── IDbPaletteFromMap.cs │ │ ├── EntityTemplates │ │ │ ├── IDbEntityTemplateFromFile.cs │ │ │ └── IDbEntityTemplate.cs │ │ ├── Tiles │ │ │ ├── IDbTileAtlasFromBlk.cs │ │ │ ├── IDbTileAtlas.cs │ │ │ └── IDbTileAtlasFromAcbm.cs │ │ ├── DataSources │ │ │ ├── IDbDataSource.cs │ │ │ ├── IDbEpfArchiveDataSource.cs │ │ │ └── IDbFileDataSource.cs │ │ ├── Sprites │ │ │ ├── IDbSpriteAtlas.cs │ │ │ ├── IDbSpriteAtlasFromSpr.cs │ │ │ ├── IDbSpriteCoords.cs │ │ │ └── IDbSpriteAtlasFromImage.cs │ │ ├── IDbPoint2i.cs │ │ ├── Actions │ │ │ ├── IDbActionSet.cs │ │ │ └── IDbActionPresentation.cs │ │ ├── Sounds │ │ │ └── IDbSound.cs │ │ ├── IDbEntry.cs │ │ └── Maps │ │ │ └── IDbMap.cs │ ├── OpenBreed.Database.Interface.csproj │ ├── IDatabaseFactory.cs │ └── IUnitOfWork.cs ├── OpenBreed.Audio.Interface │ ├── ISound.cs │ ├── Data │ │ ├── ISoundSampleDataLoader.cs │ │ └── ISoundStreamDataLoader.cs │ ├── AudioSettings.cs │ └── OpenBreed.Audio.Interface.csproj ├── TODO.txt ├── OpenBreed.Core │ ├── ITrigger.cs │ ├── Events │ │ ├── IEvent.cs │ │ └── TextDataChanged.cs │ ├── Managers │ │ ├── ITriggerBuilder.cs │ │ ├── IEventHandler.cs │ │ ├── IMessagesMan.cs │ │ ├── DefaultDataGridFactory.cs │ │ ├── IEventsMan.cs │ │ ├── ITriggerMan.cs │ │ └── IJobsMan.cs │ ├── Extensions │ │ ├── Box2Extensions.cs │ │ ├── QuaternionExtension.cs │ │ └── EnumerableExtensions.cs │ └── OpenBreed.Core.csproj ├── OpenBreed.Rendering.Interface │ ├── Managers │ │ └── IRenderableFactory.cs │ ├── ISpriteMerger.cs │ ├── IViewportRenderer.cs │ ├── Data │ │ ├── IPictureDataLoader.cs │ │ ├── ITileAtlasDataLoader.cs │ │ ├── ITileStampDataLoader.cs │ │ └── ISpriteAtlasDataLoader.cs │ ├── IPicture.cs │ ├── IPictureRenderer.cs │ ├── ISpriteRenderer.cs │ ├── IStampBuilder.cs │ ├── ITileStamp.cs │ ├── ITileAtlas.cs │ ├── Builders │ │ └── IFontAtlasBuilder.cs │ ├── OpenBreed.Rendering.Interface.csproj │ └── ISpriteAtlas.cs ├── OpenBreed.Common.Graphics │ ├── Class1.cs │ └── Renderers │ │ └── IRenderer.cs ├── OpenBreed.Database.Xml │ ├── XmlDbSettings.cs │ ├── Resources │ │ └── ResourceDef.cs │ ├── XmlDatabaseFactory.cs │ ├── Tables │ │ ├── XmlDbTableDef.cs │ │ ├── XmlDbActionSetTableDef.cs │ │ ├── XmlDbTileStampTableDef.cs │ │ ├── XmlDbAnimationTableDef.cs │ │ ├── XmlDbMapTableDef.cs │ │ └── XmlDbSoundTableDef.cs │ ├── XmlFormatParameter.cs │ └── Items │ │ ├── Palettes │ │ └── XmlDbPalette.cs │ │ └── DataSources │ │ └── XmlDbDataSource.cs ├── OpenBreed.Editor.Cfg │ ├── Layout │ │ └── LayoutCfg.cs │ ├── Definitions.cs │ ├── SettingsCfg.cs │ ├── Options │ │ ├── ABHC │ │ │ └── ABHCCfg.cs │ │ ├── ABSE │ │ │ └── ABSECfg.cs │ │ ├── ABTA │ │ │ └── ABTACfg.cs │ │ └── OptionsCfg.cs │ ├── Resources │ │ └── DefaultSettings.xml │ └── OpenBreed.Editor.Cfg.csproj ├── OpenBreed.Wecs │ ├── Components │ │ ├── IEntityComponent.cs │ │ ├── IComponentTemplate.cs │ │ ├── Xml │ │ │ └── XmlComponentTemplate.cs │ │ ├── IComponentFactory.cs │ │ └── ComponentFactoryBase.cs │ ├── Systems │ │ ├── ISystemBuilder.cs │ │ ├── IRenderableSystem.cs │ │ ├── ISystemFinder.cs │ │ ├── ISystem.cs │ │ ├── IRenderContext.cs │ │ ├── IUpdateContext.cs │ │ ├── ISystemFactory.cs │ │ ├── IUpdatableSystem.cs │ │ └── IMatchingSystem.cs │ ├── Entities │ │ ├── IEntityFactory.cs │ │ ├── ITemplateEntityBuilder.cs │ │ ├── IEntityTemplateLoader.cs │ │ ├── IEntityBuilder.cs │ │ ├── IEntityTemplate.cs │ │ └── IComponentFactoryProvider.cs │ ├── WecsConsts.cs │ ├── Worlds │ │ └── IWorldBuilder.cs │ ├── Events │ │ ├── EntityFrameEvent.cs │ │ ├── EntityLeftEvent.cs │ │ ├── EntityEnteredEvent.cs │ │ ├── WorldInitializedEventArgs.cs │ │ ├── WorldDeinitializedEventArgs.cs │ │ └── EntityComponentChangedEventArgs.cs │ ├── Extensions │ │ └── EntityExtensions.cs │ └── OpenBreed.Wecs.csproj ├── OpenBreed.Animation.Interface │ ├── Data │ │ └── IAnimationClipDataLoader.cs │ ├── IAnimationLoader.cs │ ├── IAnimator.cs │ ├── OpenBreed.Animation.Interface.csproj │ └── IFrameUpdaterMan.cs ├── OpenBreed.Common.Interface │ ├── Drawing │ │ ├── IPensProvider.cs │ │ ├── IPen.cs │ │ ├── IImageProvider.cs │ │ ├── IDrawingContextProvider.cs │ │ ├── IBrush.cs │ │ ├── IColorPalette.cs │ │ ├── IFont.cs │ │ ├── IBitmapProvider.cs │ │ ├── IBitmapData.cs │ │ └── MySize.cs │ ├── IDataLoaderFactory.cs │ ├── Commands │ │ └── ICommand.cs │ ├── IBuilder.cs │ ├── IBuilderFactory.cs │ ├── Dialog │ │ ├── IFolderBrowserQuery.cs │ │ ├── ISaveFileQuery.cs │ │ └── IOpenFileQuery.cs │ ├── IVariableMan.cs │ ├── IPcmPlayer.cs │ ├── OpenBreed.Common.Interface.csproj │ ├── IDataLoader.cs │ ├── Logging │ │ └── ILoggerClient.cs │ ├── Data │ │ ├── IWorkspaceMan.cs │ │ └── IModelsProvider.cs │ └── ITypeAttributesProvider.cs ├── OpenBreed.Model │ ├── Maps │ │ ├── IMapLayoutModel.cs │ │ ├── IMapDataBlock.cs │ │ └── MapLayerType.cs │ ├── Anims │ │ ├── AnimModel.cs │ │ └── AnimBuilder.cs │ ├── Tiles │ │ └── TileModel.cs │ ├── Images │ │ └── IImageBuilder.cs │ ├── ISpriteMerger.cs │ ├── BinaryModel.cs │ ├── OpenBreed.Model.csproj │ ├── Extensions │ │ └── HostBuilderExtensions.cs │ └── Scripts │ │ └── ScriptBuilder.cs ├── OpenBreed.Editor.VM │ ├── Renderer │ │ ├── IRenderable.cs │ │ ├── IRenderer.cs │ │ └── RendererBase.cs │ ├── Common │ │ └── SelectModeEnum.cs │ ├── Tools │ │ ├── IEditorTool.cs │ │ ├── IScrollableVM.cs │ │ └── IZoomableVM.cs │ ├── IEntryEditor.cs │ ├── OpenBreed.Editor.VM.csproj │ └── Maps │ │ └── Helpers │ │ └── ModifyOperation.cs ├── OpenBreed.Physics.Interface │ ├── IPhysicalBody.cs │ ├── IPhysicalWorld.cs │ ├── IFixture.cs │ ├── IShape.cs │ ├── OpenBreed.Physics.Interface.csproj │ ├── Managers │ │ ├── IFixtureMan.cs │ │ ├── ICollisionChecker.cs │ │ └── IShapeMan.cs │ ├── IPolygonShape.cs │ ├── IPointShape.cs │ ├── ICircleShape.cs │ ├── IBoxShape.cs │ └── Extensions │ │ ├── PointShapeExtensions.cs │ │ └── BoxShapeExtensions.cs ├── OpenBreed.Input.Interface │ ├── IBindingsProvider.cs │ ├── OpenBreed.Input.Interface.csproj │ ├── IActionCodeProvider.cs │ └── IActionTriggerBinder.cs ├── OpenBreed.Wecs.Components.Physics │ ├── Xml │ │ └── XmlMotionComponent.cs │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Writer.Interface │ ├── OpenBreed.Writer.Interface.csproj │ └── Maps │ │ └── IMapModelWriter.cs ├── OpenBreed.Common.Tools │ ├── OpenBreed.Common.Tools.csproj │ └── IOHelper.cs ├── OpenBreed.Reader.Interface │ ├── Images │ │ └── IImageReader.cs │ ├── Palettes │ │ └── IPaletteReader.cs │ ├── Sprites │ │ └── ISpriteSetReader.cs │ ├── Maps │ │ └── IMapModelReader.cs │ ├── Tiles │ │ └── ITileSetReader.cs │ └── OpenBreed.Reader.Interface.csproj ├── OpenBreed.Editor.App │ ├── App.xaml │ ├── MainWindow.xaml.cs │ ├── MainWindow.xaml │ └── AssemblyInfo.cs ├── OpenBreed.Scripting.Interface │ ├── IScriptDataLoader.cs │ ├── OpenBreed.Scripting.Interface.csproj │ └── IScriptFunc.cs ├── OpenBreed.Reader.Legacy │ └── OpenBreed.Reader.Legacy.csproj ├── OpenBreed.Wecs.Components.Audio │ ├── Xml │ │ └── XmlPositionComponent.cs │ ├── OpenBreed.Wecs.Components.Audio.csproj │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Wecs.Components.Rendering │ ├── Xml │ │ ├── XmlPaletteComponent.cs │ │ └── XmlCameraComponent.cs │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Wecs.Components.Common │ ├── Xml │ │ ├── XmlVector2.cs │ │ ├── XmlFrameComponent.cs │ │ ├── XmlTimerComponent.cs │ │ ├── XmlFollowedComponent.cs │ │ ├── XmlEntityEmitterComponent.cs │ │ ├── XmlLifetimeComponent.cs │ │ ├── XmlMessagingComponent.cs │ │ ├── XmlThrustComponent.cs │ │ ├── XmlAngularThrustComponent.cs │ │ ├── XmlPositionComponent.cs │ │ ├── XmlVelocityComponent.cs │ │ ├── XmlAngularPositionComponent.cs │ │ ├── XmlGridPositionComponent.cs │ │ ├── XmlAngularVelocityComponent.cs │ │ └── XmlColor4.cs │ ├── PauseImmuneComponent.cs │ ├── OpenBreed.Wecs.Components.Common.csproj │ ├── PauserComponent.cs │ ├── TextCaretComponent.cs │ ├── GroupComponent.cs │ └── GroupComponentEx.cs ├── OpenBreed.Writer.Legacy │ └── OpenBreed.Writer.Legacy.csproj ├── OpenBreed.Animation.Generic │ └── OpenBreed.Animation.Generic.csproj ├── Shared │ └── SharedAssemblyInfo.cs ├── OpenBreed.Wecs.Components.Control │ ├── TurretControl.cs │ ├── BaseControl.cs │ ├── TankControl.cs │ ├── OpenBreed.Wecs.Components.Control.csproj │ └── ControllerComponent.cs ├── OpenBreed.Wecs.Components.Scripting │ ├── OpenBreed.Wecs.Components.Scripting.csproj │ ├── Xml │ │ └── XmlScriptComponent.cs │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Wecs.Components.Gui │ ├── OpenBreed.Wecs.Components.Gui.csproj │ ├── Xml │ │ └── XmlCursorInputComponent.cs │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Wecs.Systems.Core │ ├── Events │ │ ├── LifetimeEndEvent.cs │ │ ├── WorldPausedEventArgs.cs │ │ └── WorldUnpausedEventArgs.cs │ └── OpenBreed.Wecs.Systems.Core.csproj ├── OpenBreed.Common │ ├── EnumerableExtensions.cs │ ├── Configs │ │ └── IConfig.cs │ ├── DefaultTypeAttributesProvider.cs │ └── MathTools.cs ├── OpenBreed.Wecs.Systems.Gui │ └── Events │ │ └── CursorMovedEntityEvent.cs ├── OpenBreed.Wecs.Systems.Scripting │ └── OpenBreed.Wecs.Systems.Scripting.csproj ├── OpenBreed.Common.UI.WinForms │ ├── OpenBreed.Common.UI.WinForms.csproj │ └── Controls │ │ └── ComboBoxEx.cs ├── OpenBreed.Common.Windows │ └── Drawing │ │ ├── PensProvider.cs │ │ ├── DrawingContextProvider.cs │ │ └── ImageProvider.cs ├── OpenBreed.Scripting.Lua │ └── OpenBreed.Scripting.Lua.csproj ├── OpenBreed.Wecs.Components.Animation │ ├── OpenBreed.Wecs.Components.Animation.csproj │ └── Extensions │ │ └── HostBuilderExtensions.cs ├── OpenBreed.Fsm │ ├── IState.cs │ └── OpenBreed.Fsm.csproj ├── OpenBreed.Wecs.Systems.Physics │ └── Events │ │ └── VelocityChangedEvent.cs ├── OpenBreed.Wecs.Systems.Control │ └── Events │ │ └── EntityFollowEvent.cs └── OpenBreed.Input.Generic │ └── OpenBreed.Input.Generic.csproj ├── make.cmd ├── data ├── DamageTable.txt └── Vanilla │ ├── GameDatabase.ABTA.EPF.db │ └── ABTA │ ├── Templates │ ├── Common │ │ ├── Environment │ │ │ ├── Void.xml │ │ │ ├── Unknown.xml │ │ │ ├── FullObstacle.xml │ │ │ ├── ActorOnlyObstacle.xml │ │ │ ├── SlowdownObstacle.xml │ │ │ └── SlopeObstacle.xml │ │ ├── TeleportExit.xml │ │ ├── GameCommentator.xml │ │ ├── Mission.xml │ │ ├── Director.xml │ │ ├── MapEntry.xml │ │ ├── Hud │ │ │ ├── StatusBarP1.xml │ │ │ ├── StatusBarP2.xml │ │ │ ├── AmmoBar.xml │ │ │ ├── AmmoCounter.xml │ │ │ ├── KeysCounter.xml │ │ │ ├── LivesCounter.xml │ │ │ ├── DestructTimer.xml │ │ │ ├── PositionInfo.xml │ │ │ ├── HealthBar.xml │ │ │ ├── FpsCounter.xml │ │ │ └── Cursor.xml │ │ ├── Viewports │ │ │ ├── GameViewport.xml │ │ │ ├── TextViewport.xml │ │ │ ├── DebugHudViewport.xml │ │ │ └── GameHudViewport.xml │ │ ├── MissionScreen │ │ │ ├── Text.xml │ │ │ └── Background.xml │ │ ├── SmartCardScreen │ │ │ ├── Text.xml │ │ │ └── Background.xml │ │ ├── TeleportEntry.xml │ │ ├── MonsterEating.xml │ │ ├── Camera.xml │ │ └── MapExit.xml │ ├── L1 │ │ └── ShipSmoke.xml │ └── L4 │ │ ├── TVFlickering.xml │ │ └── MonsterEating.xml │ └── Scripts │ ├── Logo1.lua │ └── Exit.lua └── .gitmodules /src/OpenBreed.Wecs.Test/Usings.cs: -------------------------------------------------------------------------------- 1 | global using NUnit.Framework; -------------------------------------------------------------------------------- /make.cmd: -------------------------------------------------------------------------------- 1 | @powershell -NoProfile -ExecutionPolicy Bypass -File make.ps1 %* -------------------------------------------------------------------------------- /src/OpenBreed.Common.Tools.Test/Usings.cs: -------------------------------------------------------------------------------- 1 | global using NUnit.Framework; -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Audio.Test/Usings.cs: -------------------------------------------------------------------------------- 1 | global using NUnit.Framework; -------------------------------------------------------------------------------- /data/DamageTable.txt: -------------------------------------------------------------------------------- 1 | Object |Damage 2 | --------------------------- 3 | Mine |8 pixels -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Generic.Test/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; 2 | global using OpenTK.Mathematics; -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "EPFArchive"] 2 | path = EPFArchive 3 | url = https://github.com/mrpetro/EPFArchive.git 4 | -------------------------------------------------------------------------------- /data/Vanilla/GameDatabase.ABTA.EPF.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/data/Vanilla/GameDatabase.ABTA.EPF.db -------------------------------------------------------------------------------- /src/OpenBreed.Audio.OpenAL/openal32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Audio.OpenAL/openal32.dll -------------------------------------------------------------------------------- /src/OpenBreed.Audio.LibOpenMpt/libopenmpt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Audio.LibOpenMpt/libopenmpt.dll -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/add_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/add_24dp.png -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/done_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/done_24dp.png -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/undo_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/undo_24dp.png -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/remove_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/remove_24dp.png -------------------------------------------------------------------------------- /src/nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ... 6 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/Void.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/close_small_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/close_small_24dp.png -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Icons/content_copy_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrpetro/OpenBreed/HEAD/src/OpenBreed.Editor.UI.Wpf/Icons/content_copy_24dp.png -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/RunABTA.bat: -------------------------------------------------------------------------------- 1 | OpenBreed.Sandbox.exe "Vanilla\GameDatabase.ABTA.EPF.xml" "D:\Games\Alien Breed Tower Assault Enhanced (1994)(Psygnosis Team 17)" -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/shader.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | out vec4 outputColor; 4 | 5 | void main() 6 | { 7 | outputColor = vec4(1.0, 1.0, 0.0, 1.0); 8 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Images/IDbImage.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Database.Interface.Items.Images 2 | { 3 | public interface IDbImage : IDbEntry 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/shader.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout(location = 0) in vec3 aPosition; 4 | 5 | void main(void) 6 | { 7 | gl_Position = vec4(aPosition, 1.0); 8 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/nontextured.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | out vec4 outputColor; 4 | 5 | uniform vec4 aColor; 6 | 7 | void main() 8 | { 9 | outputColor = aColor; 10 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/Unknown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/TeleportExit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/OpenBreed.Audio.Interface/ISound.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Audio.Interface 2 | { 3 | /// 4 | /// Basic sound interface 5 | /// 6 | public interface ISound 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /src/TODO.txt: -------------------------------------------------------------------------------- 1 | 2 | - Refactor messaging / event system for consistency 3 | - Reimplement physics system to fit ECS design rules more if possible 4 | - implement trigger POC 5 | - implement implement sound system using OpenAL 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/GameCommentator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/OpenBreed.Audio.Interface/Data/ISoundSampleDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | 4 | namespace OpenBreed.Audio.Interface.Data 5 | { 6 | public interface ISoundSampleDataLoader : IDataLoader 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /src/OpenBreed.Audio.Interface/Data/ISoundStreamDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | 4 | namespace OpenBreed.Audio.Interface.Data 5 | { 6 | public interface ISoundStreamDataLoader : IDataLoader 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/ITrigger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Core 8 | { 9 | public interface ITrigger 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Managers/IRenderableFactory.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace OpenBreed.Rendering.Interface.Managers 3 | { 4 | public interface IRenderableFactory 5 | { 6 | #region Public Methods 7 | 8 | #endregion Public Methods 9 | } 10 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Graphics/Class1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Graphics 8 | { 9 | public class Class1 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Events/IEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Core.Events 8 | { 9 | public interface IEvent 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/XmlDbSettings.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Database.Xml 2 | { 3 | public class XmlDbSettings 4 | { 5 | #region Public Properties 6 | 7 | public string DbFilePath { get; set; } 8 | 9 | #endregion Public Properties 10 | } 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Layout/LayoutCfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.Cfg.Layout 7 | { 8 | [Serializable] 9 | public class LayoutCfg 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Components/IEntityComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Wecs.Components 4 | { 5 | /// 6 | /// Component inteface for all entities 7 | /// 8 | public interface IEntityComponent 9 | { 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Mission.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mission 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Tools.Test/UnitTest1.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Common.Tools.Test; 2 | 3 | public class Tests 4 | { 5 | [SetUp] 6 | public void Setup() 7 | { 8 | } 9 | 10 | [Test] 11 | public void Test1() 12 | { 13 | Assert.Pass(); 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/ISystemBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Systems 2 | { 3 | public interface ISystemBuilder where T : IMatchingSystem 4 | { 5 | #region Public Methods 6 | 7 | T Build(); 8 | 9 | #endregion Public Methods 10 | } 11 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Director.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Director 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Interface/Data/IAnimationClipDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | 4 | namespace OpenBreed.Animation.Interface.Data 5 | { 6 | public interface IAnimationClipDataLoader : IDataLoader> 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IPensProvider.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Common.Interface.Drawing 2 | { 3 | public interface IPensProvider 4 | { 5 | #region Public Properties 6 | 7 | IPen Red { get; } 8 | 9 | #endregion Public Properties 10 | } 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Worlds/MenuWorldHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Sandbox.Worlds 8 | { 9 | class MenuWorldHelper 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Model/Maps/IMapLayoutModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Model.Maps 8 | { 9 | public interface IMapLayoutModel 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Loaders/PaletteDataLoader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Sandbox.Loaders 8 | { 9 | class PaletteDataLoader 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/MapEntry.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | WorldEntry 6 | $(entryId) 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Renderer/IRenderable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Editor.VM.Renderer 8 | { 9 | public interface IRenderable 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/EnvironmentSettings.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Sandbox 2 | { 3 | public class EnvironmentSettings 4 | { 5 | #region Public Properties 6 | 7 | public string LegacyFolderPath { get; internal set; } 8 | 9 | #endregion Public Properties 10 | } 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Songs/IDbSong.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace OpenBreed.Database.Interface.Items.Songs 6 | { 7 | public interface IDbSong : IDbEntry 8 | { 9 | string DataRef { get; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IPhysicalBody.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Physics.Interface 8 | { 9 | public interface IPhysicalBody 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IPhysicalWorld.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Physics.Interface 8 | { 9 | public interface IPhysicalWorld 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/ISpriteMerger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Rendering.Interface 8 | { 9 | internal class ISpriteMerger 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/OpenBreed.Database.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/OpenBreed.Model/Anims/AnimModel.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Model.Anims 2 | { 3 | public class AnimModel 4 | { 5 | #region Internal Constructors 6 | 7 | internal AnimModel(AnimBuilder builder) 8 | { 9 | } 10 | 11 | #endregion Internal Constructors 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Helpers/GridCell.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Rendering.OpenGL.Helpers 8 | { 9 | public class GridCell 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/nontextured.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout(location = 0) in vec3 aPosition; 4 | 5 | uniform mat4 model; 6 | uniform mat4 view; 7 | uniform mat4 projection; 8 | 9 | void main(void) 10 | { 11 | gl_Position = vec4(aPosition, 1.0) * model * view * projection; 12 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Components/IComponentTemplate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components 8 | { 9 | public interface IComponentTemplate 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Interface/IAnimationLoader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Animation.Interface 8 | { 9 | public interface IAnimationLoader 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/IViewportRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Rendering.Interface 8 | { 9 | public interface IViewportRenderer 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/defaultShader.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | out vec4 outputColor; 4 | 5 | in vec2 texCoord; 6 | 7 | uniform sampler2D texture0; 8 | uniform sampler2D texture1; 9 | 10 | void main() 11 | { 12 | outputColor = mix(texture(texture0, texCoord), texture(texture1, texCoord), 0.2); 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/StatsComponents.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Sandbox.Wecs.Components 8 | { 9 | internal class StatsComponents 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IDataLoaderFactory.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Common.Interface 2 | { 3 | public interface IDataLoaderFactory 4 | { 5 | #region Public Methods 6 | 7 | TInterface GetLoader() where TInterface : IDataLoader; 8 | 9 | #endregion Public Methods 10 | } 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/Maps/IMapDataBlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Model.Maps 8 | { 9 | public interface IMapDataBlock 10 | { 11 | string Name { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Input.Interface/IBindingsProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Input.Interface 4 | { 5 | public interface IBindingsProvider 6 | { 7 | #region Public Methods 8 | 9 | int GetMappedKey(TKey key) where TKey : Enum; 10 | 11 | #endregion Public Methods 12 | } 13 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Scripts/Logo1.lua: -------------------------------------------------------------------------------- 1 | Templates.Entities.Arrow = { 2 | AnimationComponent = { 3 | Speed = 10.0, 4 | Loop = true}, 5 | PositionComponent = { 0, 0 }, 6 | SpriteComponent = { 7 | AtlasId = "Atlases/Sprites/Arrow", 8 | Order = 100.0, 9 | Width = 32.0, 10 | Height = 32.0} 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Commands/ICommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Common.Interface.Commands 7 | { 8 | public interface ICommand 9 | { 10 | void Execute(); 11 | void UnExecute(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Common.Interface 2 | { 3 | public interface IBuilder 4 | { 5 | } 6 | 7 | public interface IBuilder : IBuilder 8 | { 9 | #region Public Methods 10 | 11 | TClass Build(); 12 | 13 | #endregion Public Methods 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/GameSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Sandbox 8 | { 9 | public class GameSettings 10 | { 11 | public string StartingLevelName { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Graphics/Renderers/IRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Graphics.Renderers 8 | { 9 | public interface IRenderer 10 | { 11 | void Render(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Model/Maps/MapLayerType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Model.Maps 8 | { 9 | public enum MapLayerType 10 | { 11 | Gfx, 12 | Action, 13 | Group 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Physics/Xml/XmlMotionComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Physics.Xml 5 | { 6 | [XmlRoot("Motion")] 7 | public class XmlMotionComponent : XmlComponentTemplate, IMotionComponentTemplate 8 | { 9 | } 10 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Components/Xml/XmlComponentTemplate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components.Xml 8 | { 9 | public class XmlComponentTemplate : IComponentTemplate 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IPen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IPen 10 | { 11 | public MyColor Color { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/ITriggerBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Core.Managers 8 | { 9 | public interface ITriggerBuilder 10 | { 11 | ITriggerMan TriggerMan { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/IEntityFactory.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | 3 | namespace OpenBreed.Wecs.Entities 4 | { 5 | public interface IEntityFactory 6 | { 7 | #region Public Methods 8 | 9 | ITemplateEntityBuilder Create(string entityTemplateName); 10 | 11 | #endregion Public Methods 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Writer.Interface/OpenBreed.Writer.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/OpenBreed.Audio.Interface/AudioSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Audio.Interface 8 | { 9 | public class AudioSettings 10 | { 11 | public bool DisableSound { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Tools/OpenBreed.Common.Tools.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/IDatabaseFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface 8 | { 9 | public interface IDatabaseFactory 10 | { 11 | IUnitOfWork CreateDatabase(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/Images/IImageReader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using System.IO; 3 | 4 | namespace OpenBreed.Reader.Images 5 | { 6 | public interface IImageReader 7 | { 8 | #region Public Methods 9 | 10 | IImage Read(Stream stream); 11 | 12 | #endregion Public Methods 13 | } 14 | } -------------------------------------------------------------------------------- /src/OpenBreed.Writer.Interface/Maps/IMapModelWriter.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Model.Maps; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace OpenBreed.Writer.Interface.Maps 8 | { 9 | public interface IMapModelWriter 10 | { 11 | void Write(MapModel map); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/Palettes/IPaletteReader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Model.Palettes; 2 | using System.IO; 3 | 4 | namespace OpenBreed.Reader.Palettes 5 | { 6 | public interface IPaletteReader 7 | { 8 | #region Public Methods 9 | 10 | PaletteModel Read(Stream stream); 11 | 12 | #endregion Public Methods 13 | } 14 | } -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/Sprites/ISpriteSetReader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Model.Sprites; 2 | using System.IO; 3 | 4 | namespace OpenBreed.Reader.Sprites 5 | { 6 | public interface ISpriteSetReader 7 | { 8 | #region Public Methods 9 | 10 | SpriteSetModel Read(Stream stream); 11 | 12 | #endregion Public Methods 13 | } 14 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IImageProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IImageProvider 10 | { 11 | IImage FromFile(string filePath); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Common/SelectModeEnum.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Editor.VM.Common 8 | { 9 | public enum SelectModeEnum 10 | { 11 | Nothing, 12 | Select, 13 | Deselect 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Renderer/IRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Editor.VM.Renderer 8 | { 9 | public interface IRenderer// where T : IRenderable 10 | { 11 | void Render(T renderable); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Tools/IEditorTool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.VM.Tools 7 | { 8 | public interface IEditorTool 9 | { 10 | string Name { get; } 11 | 12 | void Activate(); 13 | void Deactivate(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/WecsConsts.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs 8 | { 9 | public class WecsConsts 10 | { 11 | public const int NO_WORLD_ID = -1; 12 | public const int NO_ENTITY_ID = -1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Texts/IDbText.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Texts 9 | { 10 | public interface IDbText : IDbEntry 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/Maps/IMapModelReader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.IO; 6 | using OpenBreed.Model.Maps; 7 | 8 | namespace OpenBreed.Reader.Maps 9 | { 10 | public interface IMapModelReader 11 | { 12 | MapModel Read(Stream stream); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/ITemplateEntityBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Entities 2 | { 3 | public interface ITemplateEntityBuilder : IEntityBuilder 4 | { 5 | #region Public Methods 6 | 7 | ITemplateEntityBuilder SetParameter(string parameterName, TValue parameterValue); 8 | 9 | #endregion Public Methods 10 | } 11 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/IEventHandler.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Core.Events; 2 | using System; 3 | 4 | namespace OpenBreed.Core.Managers 5 | { 6 | public interface IEventHandler 7 | { 8 | void Fire(); 9 | void Enqueue(IEvent e); 10 | } 11 | 12 | public interface IEventHandler : IEventHandler where TEvent : IEvent 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Scripts/IDbScript.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Scripts 9 | { 10 | public interface IDbScript : IDbEntry 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IBuilderFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Common.Interface 4 | { 5 | public interface IBuilderFactory 6 | { 7 | #region Public Methods 8 | 9 | TBuilder GetBuilder(); 10 | 11 | void Register(Func initializer); 12 | 13 | #endregion Public Methods 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/IEntityTemplateLoader.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OpenBreed.Wecs.Entities 4 | { 5 | public interface IEntityTemplateLoader 6 | { 7 | #region Public Methods 8 | 9 | IEntityTemplate Load(string templateName, Dictionary variables); 10 | 11 | #endregion Public Methods 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/IRenderableSystem.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Worlds; 2 | using OpenTK; 3 | using OpenTK.Mathematics; 4 | 5 | namespace OpenBreed.Wecs.Systems 6 | { 7 | public interface IRenderableSystem 8 | { 9 | #region Public Methods 10 | 11 | public void Render(IRenderContext context); 12 | 13 | #endregion Public Methods 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Palettes/IDbPalette.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Palettes 9 | { 10 | public interface IDbPalette : IDbEntry 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Data/IPictureDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Rendering.Interface.Data 9 | { 10 | public interface IPictureDataLoader : IDataLoader 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/IEntityBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Entities 8 | { 9 | public interface IEntityBuilder 10 | { 11 | IEntityBuilder SetTag(string entityTag); 12 | 13 | IEntity Build(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/IEntityTemplate.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System.Collections.Generic; 3 | 4 | namespace OpenBreed.Wecs.Entities 5 | { 6 | public interface IEntityTemplate 7 | { 8 | #region Public Properties 9 | 10 | IEnumerable Components { get; } 11 | 12 | #endregion Public Properties 13 | } 14 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/ISystemFinder.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Systems 2 | { 3 | public interface ISystemFinder 4 | { 5 | #region Public Methods 6 | 7 | T GetSystemByEntityId(int entityId) where T : IMatchingSystem; 8 | 9 | T GetSystemByWorldId(int worldId) where T : IMatchingSystem; 10 | 11 | #endregion Public Methods 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IDrawingContextProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IDrawingContextProvider 10 | { 11 | IDrawingContext FromImage(IBitmap bitmap); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/EntityTemplates/IDbEntityTemplateFromFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.EntityTemplates 8 | { 9 | public interface IDbEntityTemplateFromFile : IDbEntityTemplate 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Tiles/IDbTileAtlasFromBlk.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Tiles 8 | { 9 | public interface IDbTileAtlasFromBlk : IDbTileAtlas 10 | { 11 | string DataRef { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.App/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/ISystem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Systems 8 | { 9 | /// 10 | /// Interface to system which is part of some world 11 | /// 12 | public interface ISystem 13 | { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/DataSources/IDbDataSource.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.DataSources 9 | { 10 | public interface IDbDataSource : IDbEntry 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Input.Interface/OpenBreed.Input.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IFixture.cs: -------------------------------------------------------------------------------- 1 | 2 | using System.Collections.Generic; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | public interface IFixture 7 | { 8 | #region Public Properties 9 | 10 | List GroupIds { get; } 11 | 12 | int Id { get; } 13 | 14 | IShape Shape { get; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IShape.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | /// 7 | /// Shape interface for fixtures 8 | /// 9 | public interface IShape 10 | { 11 | #region Public Methods 12 | 13 | Box2 GetAabb(); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Resources/ResourceDef.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Xml.Serialization; 6 | 7 | namespace OpenBreed.Database.Xml.Resources 8 | { 9 | [Serializable] 10 | public class ResourceDef 11 | { 12 | [XmlAttribute] 13 | public string Name { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/OpenBreed.Physics.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/IRenderContext.cs: -------------------------------------------------------------------------------- 1 | using OpenTK.Mathematics; 2 | 3 | namespace OpenBreed.Wecs.Worlds 4 | { 5 | public interface IRenderContext 6 | { 7 | #region Public Properties 8 | 9 | int Depth { get; } 10 | float Dt { get; } 11 | Box2 ViewBox { get; } 12 | IWorld World { get; } 13 | 14 | #endregion Public Properties 15 | } 16 | } -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/Tiles/ITileSetReader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Model.Tiles; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Reader.Tiles 10 | { 11 | public interface ITileSetReader 12 | { 13 | TileSetModel Read(Stream stream); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Scripting.Interface/IScriptDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Scripting.Interface 10 | { 11 | public interface IScriptDataLoader : IDataLoader 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/IUnitOfWork.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Database.Interface 2 | { 3 | public interface IUnitOfWork : IRepositoryProvider 4 | { 5 | #region Public Properties 6 | 7 | string Name { get; } 8 | 9 | #endregion Public Properties 10 | 11 | #region Public Methods 12 | 13 | void Save(); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/IPicture.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Rendering.Interface 8 | { 9 | public interface IPicture 10 | { 11 | /// 12 | /// Id of this image 13 | /// 14 | int Id { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/textured.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout(location = 0) in vec3 aPosition; 4 | layout(location = 1) in vec2 aTexCoord; 5 | 6 | uniform mat4 model; 7 | uniform mat4 view; 8 | uniform mat4 projection; 9 | 10 | out vec2 texCoord; 11 | 12 | void main(void) 13 | { 14 | texCoord = aTexCoord; 15 | gl_Position = vec4(aPosition, 1.0) * model * view * projection; 16 | } -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Interface/IAnimator.cs: -------------------------------------------------------------------------------- 1 | //using System; 2 | //using System.Collections.Generic; 3 | //using System.Linq; 4 | //using System.Text; 5 | //using System.Threading.Tasks; 6 | 7 | //namespace OpenBreed.Animation.Interface 8 | //{ 9 | // public interface IAnimator 10 | // { 11 | // float Position { get; set; } 12 | // FrameTransition Transition { get; set; } 13 | // } 14 | //} 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Dialog/IFolderBrowserQuery.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Dialog 8 | { 9 | public interface IFolderBrowserQuery 10 | { 11 | string Description { get; set; } 12 | string SelectedPath { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Entities/IComponentFactoryProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Wecs.Entities 9 | { 10 | public interface IComponentFactoryProvider 11 | { 12 | IComponentFactory GetFactory(Type componentType); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IBrush.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IBrush 10 | { 11 | #region Public Properties 12 | 13 | MyColor Color { get; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/IMessagesMan.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Core.Managers 2 | { 3 | public interface IMsg 4 | { 5 | } 6 | 7 | public interface IMessagesMan 8 | { 9 | #region Public Methods 10 | 11 | void RemoveMsgData(int msgId); 12 | 13 | IMsg GetMsgData(int msgId); 14 | 15 | int SetMsgData(IMsg data); 16 | 17 | #endregion Public Methods 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/Managers/IFixtureMan.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Physics.Interface.Managers 2 | { 3 | public interface IFixtureMan 4 | { 5 | #region Public Methods 6 | 7 | void Add(IFixture fixture); 8 | 9 | IFixture GetById(int fixtureId); 10 | 11 | int NewId(); 12 | 13 | void Remove(int fixtureId); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Data/ITileAtlasDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Rendering.Interface.Data 10 | { 11 | public interface ITileAtlasDataLoader : IDataLoader 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Data/ITileStampDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Rendering.Interface.Data 10 | { 11 | public interface ITileStampDataLoader : IDataLoader 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Interface/OpenBreed.Animation.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Definitions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Editor.Cfg 8 | { 9 | public class Definitions 10 | { 11 | #region Public Fields 12 | 13 | public const string APP_NAME = "Open Breed Map Editor"; 14 | 15 | #endregion Public Fields 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Data/ISpriteAtlasDataLoader.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using OpenBreed.Common.Interface; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Rendering.Interface.Data 10 | { 11 | public interface ISpriteAtlasDataLoader : IDataLoader 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Events/DestroyedEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Events 4 | { 5 | public class DestroyedEvent : EntityEvent 6 | { 7 | #region Public Constructors 8 | 9 | public DestroyedEvent(int entityId) 10 | : base(entityId) 11 | { 12 | 13 | } 14 | 15 | #endregion Public Constructors 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Scripting.Interface/OpenBreed.Scripting.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Tiles/IDbTileAtlas.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Tiles 9 | { 10 | public interface IDbTileAtlas : IDbEntry 11 | { 12 | List PaletteRefs { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/DefaultDataGridFactory.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Core.Managers 2 | { 3 | internal class DefaultDataGridFactory : IDataGridFactory 4 | { 5 | #region Public Methods 6 | 7 | public IDataGrid Create(int width, int height) 8 | { 9 | return new DefaultDataGrid(width, height); 10 | } 11 | 12 | #endregion Public Methods 13 | } 14 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Sprites/IDbSpriteAtlas.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Sprites 9 | { 10 | public interface IDbSpriteAtlas : IDbEntry 11 | { 12 | List PaletteRefs { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Input.Interface/IActionCodeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Input.Interface 4 | { 5 | public interface IActionCodeProvider 6 | { 7 | #region Public Methods 8 | 9 | int GetCode(TAction action) where TAction : Enum; 10 | 11 | bool TryGetCode(string actionTypeName, string actionName, out int actionCode); 12 | 13 | #endregion Public Methods 14 | } 15 | } -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Legacy/OpenBreed.Reader.Legacy.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Audio/Xml/XmlPositionComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Audio.Xml 5 | { 6 | [XmlRoot("SoundPlayer")] 7 | public class XmlSoundPlayerComponent : XmlComponentTemplate, ISoundPlayerComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | #endregion Public Properties 12 | } 13 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/StatusBarP1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | StatusBar 6 | 7 | 8 | 9 | Vanilla/Common/Status 10 | 0 11 | 12 | 0 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/StatusBarP2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | StatusBar 6 | 7 | 8 | 9 | Vanilla/Common/Status 10 | 1 11 | 12 | 0 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IColorPalette.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IColorPalette 10 | { 11 | #region Public Properties 12 | 13 | MyColor[] Entries { get; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IVariableMan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Common.Interface 4 | { 5 | public interface IVariableMan 6 | { 7 | #region Public Methods 8 | 9 | void RegisterVariable(Type type, object value, string name); 10 | 11 | void UnregisterVariable(string name); 12 | 13 | string ExpandVariables(string query); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/SettingsCfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using OpenABEdCfg.Options; 6 | using OpenBreed.Editor.Cfg.Layout; 7 | 8 | namespace OpenBreed.Editor.Cfg 9 | { 10 | [Serializable] 11 | public class SettingsCfg 12 | { 13 | public OptionsCfg Options { get; set; } 14 | public LayoutCfg Layout { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Tools/IScrollableVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Editor.VM.Tools 8 | { 9 | public interface IScrollableVM 10 | { 11 | #region Public Methods 12 | 13 | void ScrollViewBy(int deltaX, int deltaY); 14 | 15 | #endregion Public Methods 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IPolygonShape.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | /// 7 | /// Polygon shape interface for fixtures 8 | /// 9 | public interface IPolygonShape : IShape 10 | { 11 | #region Public Properties 12 | 13 | Vector2[] Vertices { get; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Rendering/Xml/XmlPaletteComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common.Xml; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using OpenTK; 4 | using OpenTK.Mathematics; 5 | using System.Xml.Serialization; 6 | 7 | namespace OpenBreed.Wecs.Components.Rendering.Xml 8 | { 9 | [XmlRoot("Palette")] 10 | public class XmlPaletteComponent : XmlComponentTemplate, IPaletteComponentTemplate 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Worlds/IWorldBuilder.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Systems; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Worlds 5 | { 6 | public interface IWorldBuilder 7 | { 8 | #region Public Methods 9 | 10 | IWorld Build(); 11 | 12 | IWorldBuilder AddSystem() where TSystem : ISystem; 13 | IWorldBuilder SetName(string name); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlVector2.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace OpenBreed.Wecs.Components.Common.Xml 4 | { 5 | public class XmlVector2 6 | { 7 | #region Public Properties 8 | 9 | [XmlAttribute("X")] 10 | public float X { get; set; } 11 | 12 | [XmlAttribute("Y")] 13 | public float Y { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/IUpdateContext.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Worlds; 2 | 3 | namespace OpenBreed.Wecs.Systems 4 | { 5 | 6 | 7 | public interface IUpdateContext 8 | { 9 | #region Public Properties 10 | 11 | float Dt { get; } 12 | 13 | float DtMultiplier { get; } 14 | 15 | bool Paused { get; set; } 16 | 17 | int WorldId { get; } 18 | 19 | #endregion Public Properties 20 | } 21 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IFont.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IFont 10 | { 11 | #region Public Properties 12 | 13 | string Name { get; } 14 | float Size { get; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/IEntryEditor.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Editor.VM 10 | { 11 | public interface IEntryEditor : INotifyPropertyChanged 12 | { 13 | void UpdateEntry(E entry); 14 | void UpdateVM(E entry); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/IPictureRenderer.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Rendering.Interface 5 | { 6 | public interface IPictureRenderer 7 | { 8 | #region Public Methods 9 | 10 | void RenderBegin(); 11 | 12 | void RenderEnd(); 13 | void Render(Vector3 pos3, Vector2 size, Color4 color, int imageId); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Writer.Legacy/OpenBreed.Writer.Legacy.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Generic/OpenBreed.Animation.Generic.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/XmlDatabaseFactory.cs: -------------------------------------------------------------------------------- 1 | //using System; 2 | //using System.Collections.Generic; 3 | //using System.Linq; 4 | //using System.Text; 5 | //using System.Threading.Tasks; 6 | 7 | //namespace OpenBreed.Database.Xml 8 | //{ 9 | // public class XmlDatabaseFactory : IDatabaseFactory 10 | // { 11 | // public IUnitOfWork CreateDatabase() 12 | // { 13 | // return null; 14 | // } 15 | // } 16 | //} 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Options/ABHC/ABHCCfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.Cfg.Options.ABHC 7 | { 8 | [Serializable] 9 | public class ABHCCfg 10 | { 11 | public string GameFolderPath { get; set; } 12 | public string GameRunFilePath { get; set; } 13 | public string GameRunFileArgs { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Options/ABSE/ABSECfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.Cfg.Options.ABSE 7 | { 8 | [Serializable] 9 | public class ABSECfg 10 | { 11 | public string GameFolderPath { get; set; } 12 | public string GameRunFilePath { get; set; } 13 | public string GameRunFileArgs { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Options/ABTA/ABTACfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.Cfg.Options.ABTA 7 | { 8 | [Serializable] 9 | public class ABTACfg 10 | { 11 | public string GameFolderPath { get; set; } 12 | public string GameRunFilePath { get; set; } 13 | public string GameRunFileArgs { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IPointShape.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | /// 7 | /// Point shape interface for fixtures 8 | /// 9 | public interface IPointShape : IShape 10 | { 11 | #region Public Properties 12 | 13 | float X { get; } 14 | float Y { get; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/AmmoBar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AmmoBar 6 | 7 | 8 | 9 | StatusBarPixel 10 | 0 11 | 12 | 13 | 100 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Reader.Interface/OpenBreed.Reader.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/ISpriteRenderer.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Rendering.Interface 5 | { 6 | public interface ISpriteRenderer 7 | { 8 | #region Public Methods 9 | 10 | void RenderBegin(); 11 | 12 | void RenderEnd(); 13 | void Render(Vector3 pos3, Vector2 scale, Color4 color, int atlasId, int imageId); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/AmmoCounter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AmmoCounter 6 | 7 | 8 | 9 | 0 10 | 11 | 12 | StatusBar 13 | 100 14 | 15 | 16 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/KeysCounter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | KeysCounter 6 | 7 | 8 | 9 | 01 10 | 11 | 12 | StatusBar 13 | 100 14 | 15 | 16 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/LivesCounter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LivesCounter 6 | 7 | 8 | 9 | 01 10 | 11 | 12 | StatusBar 13 | 100 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/DataSources/IDbEpfArchiveDataSource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.DataSources 8 | { 9 | public interface IDbEpfArchiveDataSource : IDbDataSource 10 | { 11 | string ArchivePath { get; set; } 12 | string EntryName { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Texts/IDbTextEmbedded.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Texts 8 | { 9 | public interface IDbTextEmbedded : IDbText 10 | { 11 | #region Public Properties 12 | 13 | string Text { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/DestructTimer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DestructTimer 6 | 7 | 8 | 9 | 01 10 | 11 | 12 | StatusBar 13 | 100 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IPcmPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface 8 | { 9 | public interface IPcmPlayer 10 | { 11 | #region Public Methods 12 | 13 | void Play(byte[] pcmSampleBytes, int samplingRate, int bitsPerSample, int channels); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Texts/IDbTextFromFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Texts 8 | { 9 | public interface IDbTextFromFile : IDbText 10 | { 11 | #region Public Properties 12 | 13 | string DataRef { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/ICircleShape.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | /// 7 | /// Circle shape interface for fixtures 8 | /// 9 | public interface ICircleShape : IShape 10 | { 11 | #region Public Properties 12 | 13 | Vector2 Center { get; } 14 | float Radius { get; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Scripts/IDbScriptEmbedded.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Scripts 8 | { 9 | public interface IDbScriptEmbedded : IDbScript 10 | { 11 | #region Public Properties 12 | 13 | string Script { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlFrameComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("Frame")] 12 | public class XmlFrameComponent : XmlComponentTemplate, IFrameComponentTemplate 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlTimerComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("Timer")] 12 | public class XmlTimerComponent : XmlComponentTemplate, ITimerComponentTemplate 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Scripts/IDbScriptFromFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Scripts 8 | { 9 | public interface IDbScriptFromFile : IDbScript 10 | { 11 | #region Public Properties 12 | 13 | string DataRef { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/Shared/SharedAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyCompany("")] 6 | [assembly: AssemblyProduct("OpenBreed.Sandbox")] 7 | [assembly: AssemblyCopyright("Copyright © 2021")] 8 | [assembly: AssemblyTrademark("")] 9 | 10 | [assembly: AssemblyVersion("0.1.0.0")] 11 | [assembly: AssemblyFileVersion("0.1.0.0")] 12 | [assembly: AssemblyInformationalVersion("0.1.0.0")] 13 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbTableDef.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace OpenBreed.Database.Xml.Tables 4 | { 5 | public abstract class XmlDbTableDef 6 | { 7 | #region Public Methods 8 | 9 | [XmlIgnore] 10 | public abstract string Name { get; } 11 | 12 | public override string ToString() 13 | { 14 | return GetType().ToString(); 15 | } 16 | 17 | #endregion Public Methods 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/defaultShader.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout(location = 0) in mat4 Projection; 4 | layout(location = 1) in mat4 ModelView; 5 | layout(location = 2) in vec2 aTexCoord; 6 | 7 | in vec4 vertexPosition; 8 | out vec2 texCoord; 9 | 10 | // Add a uniform for the transformation matrix. 11 | uniform mat4 transform; 12 | 13 | void main(void) 14 | { 15 | texCoord = aTexCoord; 16 | 17 | gl_Position = Projection * ModelView * vertexPosition; 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlFollowedComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("Followed")] 12 | public class XmlFollowedComponent : XmlComponentTemplate, IFollowedComponentTemplate 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Control/TurretControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components.Control 8 | { 9 | /// 10 | /// Placeholder class for turret controls 11 | /// 12 | public class TurretControl : BaseControl 13 | { 14 | public int TurnLeft; 15 | public int TurnRight; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/IEventsMan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Core.Managers 4 | { 5 | public interface IEventsMan 6 | { 7 | #region Public Methods 8 | 9 | void Raise(object sender, T eventArgs) where T : EventArgs; 10 | 11 | void Subscribe(Action callback) where T : EventArgs; 12 | 13 | void Unsubscribe(Action callback) where T : EventArgs; 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/DataSources/IDbFileDataSource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.DataSources 8 | { 9 | public interface IDbFileDataSource : IDbDataSource 10 | { 11 | #region Public Properties 12 | 13 | string FilePath { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Resources/DefaultSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/PauseImmuneComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Wecs.Components.Common 9 | { 10 | /// 11 | /// Entity component which will make entity to ignore pause 12 | /// 13 | public class PauseImmuneComponent : IEntityComponent 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Extensions/Box2Extensions.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Core.Extensions 5 | { 6 | public static class Box2Extensions 7 | { 8 | #region Public Methods 9 | 10 | public static Box2 Inflate(this Box2 box, float value) 11 | { 12 | return new Box2(box.Min.X - value, box.Min.Y - value, box.Max.Y + value, box.Max.X + value); 13 | } 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Tiles/IDbTileAtlasFromAcbm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Xml.Serialization; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Tiles 9 | { 10 | public interface IDbTileAtlasFromAcbm : IDbTileAtlas 11 | { 12 | string DataRef { get; } 13 | int TileSize { get; } 14 | int BitPlanesNo { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Scripting/OpenBreed.Wecs.Components.Scripting.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | AnyCPU;x64 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Sprites/IDbSpriteAtlasFromSpr.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Sprites 9 | { 10 | public interface IDbSpriteAtlasFromSpr : IDbSpriteAtlas 11 | { 12 | string DataRef { get; } 13 | 14 | ReadOnlyCollection Sizes { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/FullObstacle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1.0 7 | 1.0 8 | 9 | 10 | Shapes/Box_0_0_16_16 11 | 12 | FullObstacle 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/PositionInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PositionInfo 6 | 7 | 8 | 9 | Coords: (0.0, 0.0) 10 | 11 | 12 | Arial 13 | 10 14 | 100 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/OpenBreed.Common.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Images/IDbIffImage.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Images 9 | { 10 | public interface IDbIffImage : IDbImage 11 | { 12 | #region Public Properties 13 | 14 | string DataRef { get; set; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/Tiles/TileModel.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | 3 | namespace OpenBreed.Model.Tiles 4 | { 5 | public class TileModel 6 | { 7 | public TileModel(TileBuilder builder) 8 | { 9 | Index = builder.Index; 10 | Data = builder.Data; 11 | } 12 | public MyRectangle Rectangle { get; internal set; } 13 | public int Index { get; private set; } 14 | public byte[] Data { get; private set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Audio/OpenBreed.Wecs.Components.Audio.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/OpenBreed.Wecs.Components.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlEntityEmitterComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("EntityEmitter")] 12 | public class XmlEntityEmitterComponent : XmlComponentTemplate, IEntityEmitterComponentTemplate 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Extensions/QuaternionExtension.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Core.Extensions 10 | { 11 | public static class QuaternionExtension 12 | { 13 | public static float Dot(Quaternion q1, Quaternion q2) 14 | { 15 | return q1.X * q2.X + q1.Y * q2.Y + q1.Z * q2.Z + q1.W * q2.W; 16 | } 17 | 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Texts/IDbTextFromMap.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Texts 8 | { 9 | public interface IDbTextFromMap : IDbText 10 | { 11 | #region Public Properties 12 | 13 | string MapRef { get; set; } 14 | 15 | string BlockName { get; set; } 16 | 17 | #endregion Public Properties 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/Images/IImageBuilder.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using System.IO; 3 | 4 | namespace OpenBreed.Model.Images 5 | { 6 | public interface IImageBuilder 7 | { 8 | #region Public Methods 9 | 10 | void SetSize(int width, int height); 11 | 12 | void SetPixelFormat(MyPixelFormat pixelFormat); 13 | 14 | void SetPalette(MyColor[] palette); 15 | 16 | void SetData(byte[] data); 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/ActorOnlyObstacle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1.0 7 | 1.0 8 | 9 | 10 | Shapes/Box_0_0_16_16 11 | 12 | ActorOnlyObstacle 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/SlowdownObstacle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1.0 7 | 1.0 8 | 9 | 10 | Shapes/Box_0_0_16_16 11 | 12 | SlowdownObstacle 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Audio.Interface/OpenBreed.Audio.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/IBoxShape.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Physics.Interface 5 | { 6 | /// 7 | /// Box shape interface for fixtures 8 | /// 9 | public interface IBoxShape : IShape 10 | { 11 | #region Public Properties 12 | 13 | float Height { get; } 14 | float Width { get; } 15 | float X { get; } 16 | float Y { get; } 17 | 18 | #endregion Public Properties 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Control/BaseControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components.Control 8 | { 9 | public class BaseControl 10 | { 11 | protected BaseControl() 12 | { 13 | } 14 | 15 | public bool ShowMenu { get; } 16 | public bool PrimaryAction { get; } 17 | public bool SecondaryAction { get; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Events/ResurrectEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Events 4 | { 5 | /// 6 | /// Event fired when entity is about to be resurrected 7 | /// 8 | public class ResurrectEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public ResurrectEvent(int entityId) 13 | : base(entityId) 14 | { 15 | } 16 | 17 | #endregion Public Constructors 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Components/IComponentFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components 8 | { 9 | public interface IComponentFactory 10 | { 11 | IEntityComponent Create(IComponentTemplate data); 12 | } 13 | 14 | public interface IComponentFactory : IComponentFactory where TComponentTemplate : IComponentTemplate 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Viewports/GameViewport.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 6 | 32 7 | true 8 | true 9 | false 10 | FitBothPreserveAspectRatio 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Viewports/TextViewport.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 6 | 32 7 | false 8 | true 9 | false 10 | FitBothPreserveAspectRatio 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Animation.Interface/IFrameUpdaterMan.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace OpenBreed.Animation.Interface 5 | { 6 | public interface IFrameUpdaterMan 7 | { 8 | #region Public Methods 9 | 10 | int Register(string name, FrameUpdater frameUpdater); 11 | 12 | FrameUpdater GetById(int id); 13 | 14 | FrameUpdater GetByName(string name); 15 | 16 | #endregion Public Methods 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Dialog/ISaveFileQuery.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Dialog 8 | { 9 | public interface ISaveFileQuery 10 | { 11 | string Title { get; set; } 12 | string Filter { get; set; } 13 | string FileName { get; set; } 14 | string[] FileNames { get; } 15 | string InitialDirectory { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlDamagerComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Damager")] 13 | public class XmlDamagerComponent : XmlComponentTemplate, IDamagerComponentTemplate 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Gui/OpenBreed.Wecs.Components.Gui.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Viewports/DebugHudViewport.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 6 | 32 7 | false 8 | true 9 | false 10 | FitBothPreserveAspectRatio 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Viewports/GameHudViewport.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 6 | 32 7 | true 8 | true 9 | false 10 | FitBothPreserveAspectRatio 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/PauserComponent.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Components.Common 2 | { 3 | public class PauserComponent : IEntityComponent 4 | { 5 | #region Public Constructors 6 | 7 | public PauserComponent(bool pause) 8 | { 9 | Pause = pause; 10 | } 11 | 12 | #endregion Public Constructors 13 | 14 | #region Public Properties 15 | 16 | public bool Pause { get; } 17 | 18 | #endregion Public Properties 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Core/Events/LifetimeEndEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Wecs.Systems.Core.Events 4 | { 5 | /// 6 | /// Event fired when entity emits another entity 7 | /// 8 | public class LifetimeEndEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public LifetimeEndEvent(int entityId) 13 | : base(entityId) 14 | { 15 | } 16 | 17 | #endregion Public Constructors 18 | } 19 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Scripts/Exit.lua: -------------------------------------------------------------------------------- 1 | 2 | WorldLoaded = function(world) 3 | camera = Entities.GetByName("MainCamera") 4 | 5 | logo = Entities.CreateFromTemplate("Logo1"); 6 | world.Add(logo); 7 | 8 | Trigger.Add(Camera.Events.FadeOut, camera, ScreenFadedOut) 9 | camera.FadeIn(DateTime.Seconds(1)) 10 | end 11 | 12 | ScreenFadedOut = function() 13 | Trigger.Remove(ScreenFadedOut) 14 | world.Remove(logo); 15 | 16 | Trigger.OnEvent(Camera.Events.FadeOut, camera, Logo1FadedOut) 17 | camera.FadeOut(DateTime.Seconds(1)) 18 | end 19 | 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Common/EnumerableExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common 8 | { 9 | public static class EnumerableExtensions 10 | { 11 | public static void ForEach(this IEnumerable enumeration, Action action) 12 | { 13 | foreach (T item in enumeration) 14 | { 15 | action(item); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Gui/Events/CursorMovedEntityEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Wecs.Systems.Gui.Events 4 | { 5 | /// 6 | /// Entity event when cursor is moved 7 | /// 8 | public class CursorMovedEntityEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public CursorMovedEntityEvent(int entityId) 13 | : base(entityId) 14 | { 15 | } 16 | 17 | #endregion Public Constructors 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Scripting/OpenBreed.Wecs.Systems.Scripting.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | AnyCPU;x64 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/ISystemFactory.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Worlds; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Systems 5 | { 6 | /// 7 | /// Interface of system factory 8 | /// 9 | public interface ISystemFactory 10 | { 11 | #region Public Methods 12 | 13 | ISystem CreateSystem() where TSystem : ISystem; 14 | 15 | void RegisterSystem(Func initializer) where TSystem : ISystem; 16 | 17 | #endregion Public Methods 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/IDataLoader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Common.Interface 4 | { 5 | public interface IDataLoader 6 | { 7 | #region Public Methods 8 | 9 | object LoadObject(string entryId); 10 | 11 | #endregion Public Methods 12 | } 13 | 14 | public interface IDataLoader : IDataLoader 15 | { 16 | #region Public Methods 17 | 18 | TInterface Load(string entryId, params object[] args); 19 | 20 | #endregion Public Methods 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/Events/TextDataChanged.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Core.Events 4 | { 5 | public class TextCaretPositionChanged : EventArgs 6 | { 7 | #region Public Constructors 8 | 9 | public TextCaretPositionChanged(int position) 10 | { 11 | Position = position; 12 | } 13 | 14 | #endregion Public Constructors 15 | 16 | #region Public Properties 17 | 18 | public int Position { get; } 19 | 20 | #endregion Public Properties 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/EntityTemplates/IDbEntityTemplate.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.EntityTemplates 9 | { 10 | public interface IDbEntityTemplate : IDbEntry 11 | { 12 | #region Public Properties 13 | 14 | string DataRef { get; set; } 15 | 16 | #endregion Public Properties 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/Managers/ICollisionChecker.cs: -------------------------------------------------------------------------------- 1 | using OpenTK.Mathematics; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Physics.Interface.Managers 9 | { 10 | public interface ICollisionChecker 11 | { 12 | #region Public Methods 13 | 14 | bool Check(Vector2 posA, IShape shapeA, Vector2 posB, IShape shapeB, out Vector2 projection); 15 | 16 | #endregion Public Methods 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/Managers/IShapeMan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Physics.Interface.Managers 8 | { 9 | public interface IShapeMan 10 | { 11 | int Count { get; } 12 | 13 | IShape GetByTag(string tag); 14 | int GetIdByTag(string tag); 15 | IShape GetById(int id); 16 | void Register(string tag, IShape shape, bool overwrite = false); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Entities/WorldNames.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Sandbox.Entities 8 | { 9 | public static class WorldNames 10 | { 11 | public const string GAME_HUD = "GameHUD"; 12 | public const string DEBUG_HUD = "DebugHud"; 13 | public const string MISSION_SCREEN = "MissionScreen"; 14 | public const string SMARTCARD_SCREEN = "SmartCardScreen"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/TrackingComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Sandbox.Wecs.Components 9 | { 10 | public class TrackingComponent : IEntityComponent 11 | { 12 | public TrackingComponent(int entityId) 13 | { 14 | EntityId = entityId; 15 | } 16 | 17 | public int EntityId { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/Options/OptionsCfg.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using OpenBreed.Editor.Cfg.Options.ABHC; 6 | using OpenBreed.Editor.Cfg.Options.ABSE; 7 | using OpenBreed.Editor.Cfg.Options.ABTA; 8 | 9 | namespace OpenABEdCfg.Options 10 | { 11 | [Serializable] 12 | public class OptionsCfg 13 | { 14 | public ABTACfg ABTA { get; set; } 15 | public ABHCCfg ABHC { get; set; } 16 | public ABSECfg ABSE { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/HealthBar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HealthBar 6 | 7 | 8 | 9 | StatusBarPixel 10 | 0 11 | 12 | 13 | 100 14 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Logging/ILoggerClient.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Logging; 2 | 3 | namespace OpenBreed.Common.Interface.Logging 4 | { 5 | public delegate void Message(LogLevel type, string msg); 6 | 7 | public interface ILoggerClient 8 | { 9 | #region Public Events 10 | 11 | event Message MessageAdded; 12 | 13 | #endregion Public Events 14 | 15 | #region Public Methods 16 | 17 | void OnMessage(LogLevel type, string msg); 18 | 19 | #endregion Public Methods 20 | } 21 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/ITriggerMan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Core.Managers 8 | { 9 | public interface ITriggerMan 10 | { 11 | IEventsMan EventsMan { get; } 12 | 13 | void CreateTrigger(Func conditionFunction, Action action, bool singleTime) where TEventArgs : EventArgs; 14 | 15 | ITriggerBuilder NewTrigger(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Control/TankControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Components.Control 8 | { 9 | /// 10 | /// Placeholder class for tank controls 11 | /// 12 | public class TankControl : BaseControl 13 | { 14 | public int TurnLeft; 15 | public int TurnRight; 16 | public int MoveForward; 17 | public int MoveBackward; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Extensions/EnumerableExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Core.Extensions 8 | { 9 | public static class EnumerableExtensions 10 | { 11 | public static void ForEach(this IEnumerable enumeration, Action action) 12 | { 13 | foreach (T item in enumeration) 14 | { 15 | action(item); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/XmlFormatParameter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Xml.Serialization; 7 | 8 | namespace OpenBreed.Database.Xml 9 | { 10 | public class XmlFormatParameter 11 | { 12 | [XmlAttribute] 13 | public string Name { get; set; } 14 | 15 | [XmlAttribute] 16 | public string Type { get; set; } 17 | 18 | [XmlText] 19 | public string Value { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/OpenBreed.Editor.VM.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/MissionScreen/Text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 01 7 | 8 | 9 | ComputerFont 10 | -5 11 | 12 | 13 | 14 | 15 | 10 16 | false 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/IStampBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | 5 | namespace OpenBreed.Rendering.Interface 6 | { 7 | public interface IStampBuilder 8 | { 9 | ITileStamp Build(); 10 | IStampBuilder SetName(string name); 11 | IStampBuilder SetSize(int width, int height); 12 | IStampBuilder SetOrigin(int originX, int originY); 13 | IStampBuilder ClearTiles(); 14 | IStampBuilder AddTile(int x, int y, int atlasId, int tileId); 15 | } 16 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlKeysComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 10 | { 11 | [XmlRoot("Keys")] 12 | public class XmlKeysComponent : XmlComponentTemplate, IKeysComponentTemplate 13 | { 14 | [XmlElement("GeneralCount")] 15 | public int GeneralCount { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Items/Palettes/XmlDbPalette.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items.Palettes; 2 | using System; 3 | 4 | namespace OpenBreed.Database.Xml.Items.Palettes 5 | { 6 | [Serializable] 7 | public abstract class XmlDbPalette : XmlDbEntry, IDbPalette 8 | { 9 | #region Protected Constructors 10 | 11 | protected XmlDbPalette() 12 | { 13 | } 14 | 15 | protected XmlDbPalette(XmlDbPalette other) : base(other) 16 | { 17 | } 18 | 19 | #endregion Protected Constructors 20 | } 21 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/UnknownCodeComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Components 4 | { 5 | public class UnknownCodeComponent : IEntityComponent 6 | { 7 | #region Public Constructors 8 | 9 | public UnknownCodeComponent(int code) 10 | { 11 | Code = code; 12 | } 13 | 14 | #endregion Public Constructors 15 | 16 | #region Public Properties 17 | 18 | public int Code { get; } 19 | 20 | #endregion Public Properties 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/WeaponsComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Components 4 | { 5 | public class WeaponsComponent : IEntityComponent 6 | { 7 | #region Public Constructors 8 | 9 | public WeaponsComponent() 10 | { 11 | //Slots = slots; 12 | } 13 | 14 | #endregion Public Constructors 15 | 16 | #region Public Properties 17 | 18 | public EquipmentSlot[] Slots { get; } 19 | 20 | #endregion Public Properties 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlLifetimeComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("Lifetime")] 12 | public class XmlLifetimeComponent : XmlComponentTemplate, ILifetimeComponentTemplate 13 | { 14 | [XmlElement("TimeLeft")] 15 | public float TimeLeft { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlMessagingComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Common.Xml 5 | { 6 | [XmlRoot("Messaging")] 7 | public class XmlMessagingComponent : XmlComponentTemplate, IMessagingComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | [XmlArray("Messages")] 12 | [XmlArrayItem(ElementName = "Message")] 13 | public int[] Messages { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Rendering/Xml/XmlCameraComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Rendering.Xml 5 | { 6 | [XmlRoot("Camera")] 7 | public class XmlCameraComponent : XmlComponentTemplate, ICameraComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | public float Width { get; set; } 12 | public float Height { get; set; } 13 | public float Brightness { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/FpsCounter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | FpsCounter 6 | 7 | 8 | 11 | 12 | FPS: 0.0 13 | 14 | 15 | Arial 16 | 10 17 | 100 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/SmartCardScreen/Text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 01 7 | 8 | 9 | ComputerFont 10 | 100 11 | 12 | 13 | 14 | 15 | 10 16 | false 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Common/Configs/IConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Common.Configs 7 | { 8 | public interface IConfig 9 | { 10 | /// 11 | /// Gets list of dependend configurations 12 | /// 13 | IEnumerable Configs { get; } 14 | 15 | IConfigCtrl Ctrl { get; } 16 | 17 | IConfigCtrl CreateCtrl(Converter factory); 18 | 19 | void RestoreCtrlFromCfg(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/ITileStamp.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Rendering.Interface 2 | { 3 | public interface ITileStampCell 4 | { 5 | int AtlasId { get; } 6 | int ImageId { get; } 7 | } 8 | 9 | public interface ITileStamp 10 | { 11 | #region Public Properties 12 | 13 | ITileStampCell[] Cells { get; } 14 | int Id { get; } 15 | int Width { get; } 16 | int Height { get; } 17 | int OriginX { get; } 18 | int OriginY { get; } 19 | 20 | #endregion Public Properties 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlThrustComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Common.Xml 5 | { 6 | [XmlRoot("Thrust")] 7 | public class XmlThrustComponent : XmlComponentTemplate, IThrustComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | [XmlAttribute("X")] 12 | public float X { get; set; } 13 | 14 | [XmlAttribute("Y")] 15 | public float Y { get; set; } 16 | 17 | #endregion Public Properties 18 | } 19 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Environment/SlopeObstacle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(slopeDir) 6 | 7 | 8 | 9 | 1.0 10 | 1.0 11 | 12 | 13 | Shapes/Box_0_0_16_16 14 | 15 | SlopeObstacle 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/MissionScreen/Background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vanilla/Common/MissionScreen/Background 7 | 8 | 9 | 0 10 | 11 | 12 | 13 | 14 | 10 15 | false 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/L1/ShipSmoke.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 20 8 | true 9 | Vanilla/L1/Environment/ShipSmoke 10 | 11 | 12 | 13 | 14 | 15 | Vanilla/L1/A 16 | 64 17 | 18 | 0 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/IDbPoint2i.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items 8 | { 9 | public interface IDbPoint2i 10 | { 11 | #region Public Properties 12 | 13 | int X { get; set; } 14 | int Y { get; set; } 15 | 16 | #endregion Public Properties 17 | 18 | #region Public Methods 19 | 20 | IDbPoint2i Copy(); 21 | 22 | #endregion Public Methods 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/ITileAtlas.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Rendering.Interface 2 | { 3 | /// 4 | /// Interface for accessing tile atlas 5 | /// 6 | public interface ITileAtlas 7 | { 8 | #region Public Properties 9 | 10 | /// 11 | /// Id of this tile atlas 12 | /// 13 | int Id { get; } 14 | 15 | /// 16 | /// Atlas tile size 17 | /// 18 | float TileSize { get; } 19 | 20 | #endregion Public Properties 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Gui/Xml/XmlCursorInputComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Gui.Xml 5 | { 6 | [XmlRoot("Cursor")] 7 | public class XmlCursorInputComponent : XmlComponentTemplate, ICursorInputComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | //[XmlArray("Actions")] 12 | //[XmlArrayItem(ElementName = "Action")] 13 | //public ICursorAction[] Actions { get; set; } 14 | 15 | #endregion Public Properties 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Scripting/Xml/XmlScriptComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Xml.Serialization; 5 | 6 | namespace OpenBreed.Wecs.Components.Scripting.Xml 7 | { 8 | [XmlRoot("Script")] 9 | public class XmlScriptComponent : XmlComponentTemplate, IScriptComponentTemplate 10 | { 11 | #region Public Properties 12 | 13 | [XmlElement("ScriptId")] 14 | public string ScriptId { get; set; } 15 | 16 | #endregion Public Properties 17 | } 18 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/SmartCardScreen/Background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vanilla/Common/SmartCardScreen/Background 7 | 8 | 9 | 0 10 | 11 | 12 | 13 | 14 | 10 15 | false 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/TeleportEntry.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1.0 7 | 1.0 8 | 9 | 10 | Shapes/Box_0_0_16_16 11 | 12 | Trigger 13 | 14 | 15 | 16 | 17 | 20 | 21 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/L4/TVFlickering.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 20 8 | true 9 | Vanilla/L4/Environment/TVFlickering 10 | 11 | 12 | 13 | 14 | 15 | Vanilla/L4/B 16 | 4 17 | 18 | 0 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Core/Managers/IJobsMan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Core.Managers 4 | { 5 | public interface IJobBuilder 6 | { 7 | IJobFinishBuilder DoAction(Action jobAction); 8 | } 9 | 10 | public interface IJobFinishBuilder 11 | { 12 | IJobBuilder OnFinish(); 13 | } 14 | 15 | public interface IJobsMan 16 | { 17 | #region Public Methods 18 | 19 | void Execute(IJob job); 20 | 21 | void Update(float dt); 22 | IJobBuilder Create(); 23 | 24 | #endregion Public Methods 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlAngularThrustComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("AngularThrust")] 12 | public class XmlAngularThrustComponent : XmlComponentTemplate, IAngularThrustComponentTemplate 13 | { 14 | [XmlElement("Value")] 15 | public float Value { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlPositionComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Common.Xml 5 | { 6 | [XmlRoot("Position")] 7 | public class XmlPositionComponent : XmlComponentTemplate, IPositionComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | [XmlAttribute("X")] 12 | public float X { get; set; } 13 | 14 | [XmlAttribute("Y")] 15 | public float Y { get; set; } 16 | 17 | #endregion Public Properties 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlVelocityComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Common.Xml 5 | { 6 | [XmlRoot("Velocity")] 7 | public class XmlVelocityComponent : XmlComponentTemplate, IVelocityComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | [XmlAttribute("X")] 12 | public float X { get; set; } 13 | 14 | [XmlAttribute("Y")] 15 | public float Y { get; set; } 16 | 17 | #endregion Public Properties 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/EntityFrameEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Systems.Core.Events 5 | { 6 | /// 7 | /// Event args for event that occurs every update 8 | /// 9 | public class EntityFrameEvent : EventArgs 10 | { 11 | #region Public Constructors 12 | 13 | public EntityFrameEvent(int entityId) 14 | { 15 | EntityId = entityId; 16 | } 17 | 18 | public int EntityId { get; } 19 | 20 | #endregion Public Constructors 21 | } 22 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/MonsterEating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 4 8 | true 9 | Vanilla/L4/Environment/MonsterEating 10 | 11 | 12 | 13 | 14 | 15 | Vanilla/L4/B 16 | 0 17 | 18 | 0 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/L4/MonsterEating.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 4 8 | true 9 | Vanilla/L4/Environment/MonsterEating 10 | 11 | 12 | 13 | 14 | 15 | Vanilla/L4/B 16 | 0 17 | 18 | 0 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Data/IWorkspaceMan.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface; 2 | 3 | namespace OpenBreed.Common.Interface.Data 4 | { 5 | public interface IWorkspaceMan : IRepositoryProvider 6 | { 7 | #region Public Properties 8 | 9 | IUnitOfWork UnitOfWork { get; } 10 | 11 | #endregion Public Properties 12 | 13 | #region Public Methods 14 | 15 | void OpenXmlDatabase(string databaseFilePath); 16 | 17 | void CloseDatabase(); 18 | 19 | void SaveDatabase(); 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Core/OpenBreed.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlAngularPositionComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("AngularPosition")] 12 | public class XmlAngularPositionComponent : XmlComponentTemplate, IAngularPositionComponentTemplate 13 | { 14 | [XmlElement("Value")] 15 | public float Value { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Camera.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Camera 6 | 7 | 8 | 9 | 10 | 11 | 12 | 10 13 | false 14 | 15 | 16 | 17 | 18 | 19 | 20 | $(width) 21 | $(height) 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Actions/IDbActionSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Actions 8 | { 9 | public interface IDbActionSet : IDbEntry 10 | { 11 | #region Public Properties 12 | 13 | List Actions { get; } 14 | 15 | #endregion Public Properties 16 | 17 | #region Public Methods 18 | 19 | IDbAction NewItem(); 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/ISpriteMerger.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Model.Sprites; 2 | using System.Collections.Generic; 3 | 4 | namespace OpenBreed.Model 5 | { 6 | /// 7 | /// Interface for merging sprites into single sprite bitmap with collection of sprite bounds 8 | /// 9 | public interface ISpriteMerger 10 | { 11 | #region Public Methods 12 | 13 | void Merge(List sprites, out byte[] outData, out int width, out int height, out List<(int X, int Y, int Width, int Height)> bounds); 14 | 15 | #endregion Public Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlLivesComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Lives")] 13 | public class XmlLivesComponent : XmlComponentTemplate, ILivesComponentTemplate 14 | { 15 | [XmlElement("Value")] 16 | public int Value { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlResurrectableComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 10 | { 11 | [XmlRoot("Resurrectable")] 12 | public class XmlResurrectableComponent : XmlComponentTemplate, IResurrectableComponentTemplate 13 | { 14 | [XmlElement("WorldName")] 15 | public string WorldName { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlGridPositionComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace OpenBreed.Wecs.Components.Common.Xml 5 | { 6 | [XmlRoot("GridPosition")] 7 | public class XmlGridPositionComponent : XmlComponentTemplate, IGridPositionComponentTemplate 8 | { 9 | #region Public Properties 10 | 11 | [XmlAttribute("X")] 12 | public int X { get; set; } 13 | 14 | [XmlAttribute("Y")] 15 | public int Y { get; set; } 16 | 17 | #endregion Public Properties 18 | } 19 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/MapExit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | WorldExit 6 | $(exitId) 7 | 8 | 9 | 10 | 1.0 11 | 1.0 12 | 13 | 14 | Shapes/Box_0_0_16_16 15 | 16 | WorldExitTrigger 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.UI.WinForms/OpenBreed.Common.UI.WinForms.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Windows.Forms.dll 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Common/DefaultTypeAttributesProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface; 2 | using System; 3 | 4 | namespace OpenBreed.Common 5 | { 6 | /// 7 | /// Default implementation for ITypeAttributesProvider interface 8 | /// 9 | public class DefaultTypeAttributesProvider : ITypeAttributesProvider 10 | { 11 | #region Public Methods 12 | 13 | public object[] GetAttributes(Type type) 14 | { 15 | return type.GetCustomAttributes(inherit: true); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Maps/Helpers/ModifyOperation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OpenBreed.Editor.VM.Maps.Helpers 7 | { 8 | class ModifyOperation 9 | { 10 | private readonly bool m_IsModifiedBefore; 11 | private readonly bool m_IsModifiedAfter; 12 | 13 | public ModifyOperation(bool isModifiedBefore, bool isModifiedAfter) 14 | { 15 | m_IsModifiedBefore = isModifiedBefore; 16 | m_IsModifiedAfter = isModifiedAfter; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlArmourComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Armour")] 13 | public class XmlArmourComponent : XmlComponentTemplate, IArmourComponentTemplate 14 | { 15 | [XmlElement("Value")] 16 | public int Value { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlAngularVelocityComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Xml; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Wecs.Components.Common.Xml 10 | { 11 | [XmlRoot("AngularVelocity")] 12 | public class XmlAngularVelocityComponent : XmlComponentTemplate, IAngularPositionTargetComponentTemplate 13 | { 14 | [XmlElement("Value")] 15 | public float Value { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/Xml/XmlColor4.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace OpenBreed.Wecs.Components.Common.Xml 4 | { 5 | public class XmlColor4 6 | { 7 | #region Public Properties 8 | 9 | [XmlAttribute("R")] 10 | public float R { get; set; } 11 | 12 | [XmlAttribute("G")] 13 | public float G { get; set; } 14 | 15 | [XmlAttribute("B")] 16 | public float B { get; set; } 17 | 18 | [XmlAttribute("A")] 19 | public float A { get; set; } 20 | 21 | #endregion Public Properties 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Palettes/IDbPaletteFromLbm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Palettes 8 | { 9 | /// 10 | /// Palette entry interface where source palette comes from image 11 | /// 12 | public interface IDbPaletteFromLbm : IDbPalette 13 | { 14 | #region Public Properties 15 | 16 | string ImageRef { get; set; } 17 | 18 | #endregion Public Properties 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/Extensions/PointShapeExtensions.cs: -------------------------------------------------------------------------------- 1 | using OpenTK.Mathematics; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Physics.Interface.Extensions 9 | { 10 | public static class PointShapeExtensions 11 | { 12 | #region Public Methods 13 | 14 | public static Vector2 ToVector2(this IPointShape shape) 15 | { 16 | return new Vector2(shape.X, shape.Y); 17 | } 18 | 19 | #endregion Public Methods 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/Builders/IFontAtlasBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Rendering.Interface 2 | { 3 | public interface IFontAtlasBuilder 4 | { 5 | #region Public Methods 6 | 7 | IFontAtlasBuilder AddCharacterFromSprite(int ch, string spriteAtlasName, int spriteIndex, float width = 0.0f); 8 | 9 | //IFontAtlasBuilder AddWhiteChar(int ch, float width); 10 | 11 | IFontAtlasBuilder SetHeight(float height); 12 | 13 | IFontAtlasBuilder SetName(string fontName); 14 | 15 | IFont Build(); 16 | 17 | #endregion Public Methods 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlCreditsComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Credits")] 13 | public class XmlCreditsComponent : XmlComponentTemplate, ICreditsComponentTemplate 14 | { 15 | [XmlElement("Value")] 16 | public int Value { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Events/LivesChangedEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Events 4 | { 5 | public class LivesChangedEvent : EntityEvent 6 | { 7 | #region Public Constructors 8 | 9 | public LivesChangedEvent(int entityId, int livesNo) 10 | : base(entityId) 11 | { 12 | LivesNo = livesNo; 13 | } 14 | 15 | #endregion Public Constructors 16 | 17 | #region Public Properties 18 | 19 | public int LivesNo { get; } 20 | 21 | #endregion Public Properties 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Core/OpenBreed.Wecs.Systems.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Dialog/IOpenFileQuery.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Dialog 8 | { 9 | public interface IOpenFileQuery 10 | { 11 | string InitialDirectory { get; set; } 12 | string Title { get; set; } 13 | string Filter { get; set; } 14 | bool Multiselect { get; set; } 15 | string[] FileNames { get; } 16 | string FileName { get; set; } 17 | 18 | DialogAnswer Show(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlPickableComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Pickable")] 13 | public class XmlPickableComponent : XmlComponentTemplate, IPickableComponentTemplate 14 | { 15 | [XmlElement("Value")] 16 | public int Value { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Windows/Drawing/PensProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using OpenBreed.Common.Windows.Drawing.Wrappers; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Common.Windows.Drawing 10 | { 11 | public class PensProvider : IPensProvider 12 | { 13 | public PensProvider() 14 | { 15 | Red = new PenWrapper(new System.Drawing.Pen(System.Drawing.Color.Red)); 16 | } 17 | 18 | public IPen Red { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/OpenBreed.Rendering.Interface.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Scripting.Lua/OpenBreed.Scripting.Lua.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Animation/OpenBreed.Wecs.Components.Animation.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Control/OpenBreed.Wecs.Components.Control.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Renderer/RendererBase.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Editor.VM.Renderer 10 | { 11 | public abstract class RendererBase : IRenderer 12 | { 13 | public IRenderTarget Target { get; } 14 | 15 | protected RendererBase(IRenderTarget target) 16 | { 17 | Target = target; 18 | } 19 | 20 | public abstract void Render(T renderable); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/OpenBreed.Physics.Interface/Extensions/BoxShapeExtensions.cs: -------------------------------------------------------------------------------- 1 | using OpenTK.Mathematics; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Physics.Interface.Extensions 9 | { 10 | public static class BoxShapeExtensions 11 | { 12 | #region Public Methods 13 | 14 | public static Box2 ToBox2(this IBoxShape shape) 15 | { 16 | return new Box2(shape.X, shape.Y, shape.X + shape.Width, shape.Y + shape.Height); 17 | } 18 | 19 | #endregion Public Methods 20 | } 21 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/TextCaretComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using OpenTK; 3 | using OpenTK.Graphics; 4 | using System.Collections.Generic; 5 | 6 | namespace OpenBreed.Wecs.Components.Common 7 | { 8 | public class TextCaretComponent : IEntityComponent 9 | { 10 | #region Internal Constructors 11 | 12 | public TextCaretComponent() 13 | { 14 | 15 | } 16 | 17 | #endregion Internal Constructors 18 | 19 | #region Public Properties 20 | 21 | public int Position { get; set; } 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbActionSetTableDef.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Xml.Items.Actions; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace OpenBreed.Database.Xml.Tables 6 | { 7 | public class XmlDbActionSetTableDef : XmlDbTableDef 8 | { 9 | public const string NAME = "ActionSets"; 10 | 11 | [XmlIgnore] 12 | public override string Name => NAME; 13 | 14 | [XmlArray("Items"), 15 | XmlArrayItem("ActionSet", typeof(XmlDbActionSet))] 16 | public readonly List Items = new List(); 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbTileStampTableDef.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Xml.Items.TileStamps; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace OpenBreed.Database.Xml.Tables 6 | { 7 | public class XmlDbTileStampTableDef : XmlDbTableDef 8 | { 9 | public const string NAME = "TileStamps"; 10 | 11 | [XmlIgnore] 12 | public override string Name => NAME; 13 | 14 | [XmlArray("Items"), 15 | XmlArrayItem("TileStamp", typeof(XmlDbTileStamp))] 16 | public readonly List Items = new List(); 17 | } 18 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/BinaryModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Model 9 | { 10 | public class BinaryModel 11 | { 12 | public BinaryModel(byte[] bytes) 13 | { 14 | Bytes = bytes; 15 | Stream = new MemoryStream(Bytes); 16 | } 17 | 18 | #region Public Properties 19 | 20 | public byte[] Bytes { get; } 21 | 22 | #endregion Public Properties 23 | 24 | public Stream Stream { get; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/OpenBreed.Audio.OpenAL/ALTools.cs: -------------------------------------------------------------------------------- 1 | using OpenTK.Audio.OpenAL; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using OpenTK.Audio; 8 | 9 | namespace OpenBreed.Audio.OpenAL 10 | { 11 | internal static class ALTools 12 | { 13 | #region Public Methods 14 | 15 | public static ALSourceState GetSourceState(int source) 16 | { 17 | AL.GetSource(source, ALGetSourcei.SourceState, out int state); 18 | return (ALSourceState)state; 19 | } 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbAnimationTableDef.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Xml.Items.Animations; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace OpenBreed.Database.Xml.Tables 6 | { 7 | public class XmlDbAnimationTableDef : XmlDbTableDef 8 | { 9 | public const string NAME = "Animations"; 10 | 11 | [XmlIgnore] 12 | public override string Name => NAME; 13 | 14 | 15 | [XmlArray("Items"), 16 | XmlArrayItem("Animation", typeof(XmlDbAnimation))] 17 | public readonly List Items = new List(); 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Fsm/IState.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Entities; 2 | using System; 3 | 4 | namespace OpenBreed.Fsm 5 | { 6 | public interface IState 7 | { 8 | #region Public Properties 9 | 10 | int Id { get; } 11 | int FsmId { get; set; } 12 | 13 | #endregion Public Properties 14 | 15 | #region Public Methods 16 | 17 | void EnterState(IEntity entity); 18 | 19 | void LeaveState(IEntity entity); 20 | 21 | #endregion Public Methods 22 | } 23 | 24 | public interface IState : IState where TState : Enum where TImpulse : Enum 25 | { 26 | } 27 | } -------------------------------------------------------------------------------- /data/Vanilla/ABTA/Templates/Common/Hud/Cursor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cursor 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | ------------ 17 | 18 | 19 | Arial 20 | 8 21 | 100 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Sounds/IDbSound.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Sounds 9 | { 10 | public interface IDbSound : IDbEntry 11 | { 12 | #region Public Properties 13 | 14 | string DataRef { get; set; } 15 | 16 | int SampleRate { get; set; } 17 | 18 | int BitsPerSample { get; set; } 19 | 20 | int Channels { get; set; } 21 | 22 | #endregion Public Properties 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.VM/Tools/IZoomableVM.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Editor.VM.Tools 10 | { 11 | public interface IZoomableVM 12 | { 13 | #region Public Properties 14 | 15 | float ZoomScale { get; } 16 | 17 | #endregion Public Properties 18 | 19 | #region Public Methods 20 | 21 | void ZoomViewTo(MyPointF location, float scale); 22 | 23 | #endregion Public Methods 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.OpenGL/Shaders/texturedWithPalette.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | out vec4 outputColor; 4 | 5 | uniform vec4 aColor; 6 | 7 | in vec2 texCoord; 8 | uniform usampler2D texture0; 9 | uniform vec4 palette[256]; 10 | uniform uint maskIndex; 11 | 12 | void main() 13 | { 14 | uvec4 vec_tex = texture(texture0, texCoord); 15 | 16 | uint index = vec_tex.r; 17 | 18 | if(index == maskIndex) 19 | discard; 20 | 21 | float r = palette[index].r; 22 | float g = palette[index].g; 23 | float b = palette[index].b; 24 | float a = palette[index].a; 25 | 26 | outputColor = vec4(r, g, b, a) * aColor; 27 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Core/Events/WorldPausedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Systems.Core.Events 5 | { 6 | public class WorldPausedEventArgs : EntityEvent 7 | { 8 | #region Private Constructors 9 | 10 | public WorldPausedEventArgs(int entityId, int worldId) 11 | : base(entityId) 12 | { 13 | WorldId = worldId; 14 | } 15 | 16 | #endregion Private Constructors 17 | 18 | #region Public Properties 19 | 20 | public int WorldId { get; } 21 | 22 | #endregion Public Properties 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Items/DataSources/XmlDbDataSource.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items.DataSources; 2 | using OpenBreed.Database.Xml.Items.Palettes; 3 | using System; 4 | 5 | namespace OpenBreed.Database.Xml.Items.DataSources 6 | { 7 | [Serializable] 8 | public abstract class XmlDbDataSource : XmlDbEntry, IDbDataSource 9 | { 10 | #region Protected Constructors 11 | 12 | protected XmlDbDataSource() 13 | { 14 | } 15 | 16 | protected XmlDbDataSource(XmlDbDataSource other) : base(other) 17 | { 18 | } 19 | 20 | #endregion Protected Constructors 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Components/ComponentFactoryBase.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Components 2 | { 3 | public abstract class ComponentFactoryBase : IComponentFactory where TComponentTemplate : IComponentTemplate 4 | { 5 | #region Public Methods 6 | 7 | public IEntityComponent Create(IComponentTemplate template) => Create((TComponentTemplate)template); 8 | 9 | #endregion Public Methods 10 | 11 | #region Protected Methods 12 | 13 | protected abstract IEntityComponent Create(TComponentTemplate template); 14 | 15 | #endregion Protected Methods 16 | } 17 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/OpenBreed.Model.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.UI.WinForms/Controls/ComboBoxEx.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace OpenBreed.Common.UI.WinForms.Controls 5 | { 6 | public class ComboBoxEx : ComboBox 7 | { 8 | #region Protected Methods 9 | 10 | protected override void OnSelectedIndexChanged(EventArgs e) 11 | { 12 | //This will cause selected item value change instantly after index is changed 13 | if (DataBindings.Count > 0) 14 | DataBindings[0].WriteValue(); 15 | 16 | base.OnSelectedIndexChanged(e); 17 | } 18 | 19 | #endregion Protected Methods 20 | } 21 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Windows/Drawing/DrawingContextProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using OpenBreed.Common.Windows.Drawing.Wrappers; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace OpenBreed.Common.Windows.Drawing 11 | { 12 | internal class DrawingContextProvider : IDrawingContextProvider 13 | { 14 | public IDrawingContext FromImage(IBitmap bitmap) 15 | { 16 | return new DrawingContext(Graphics.FromImage(((ImageWrapper)bitmap).Wrapped)); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Helpers/PaletteHelper.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using OpenTK.Mathematics; 3 | using System.Collections.Generic; 4 | using System.Drawing; 5 | 6 | namespace OpenBreed.Sandbox.Helpers 7 | { 8 | public static class PaletteHelper 9 | { 10 | #region Public Methods 11 | 12 | public static Color4 ToColor4(MyColor color) 13 | { 14 | return new Color4( 15 | color.R / 255.0f, 16 | color.G / 255.0f, 17 | color.B / 255.0f, 18 | color.A / 255.0f); 19 | } 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/IUpdatableSystem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Wecs.Systems 8 | { 9 | /// 10 | /// System that state will be updated during core update phase 11 | /// 12 | public interface IUpdatableSystem : ISystem 13 | { 14 | /// 15 | /// Update all entities in this system using given time step 16 | /// 17 | /// World context 18 | void Update(IUpdateContext context); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/IDbEntry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Xml.Serialization; 7 | 8 | namespace OpenBreed.Database.Interface.Items 9 | { 10 | public interface IDbEntry : IEquatable 11 | { 12 | #region Public Properties 13 | 14 | string Id { get; set; } 15 | 16 | string Description { get; set; } 17 | 18 | #endregion Public Properties 19 | 20 | #region Public Methods 21 | 22 | IDbEntry Copy(); 23 | 24 | #endregion Public Methods 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Palettes/IDbPaletteFromMap.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Palettes 8 | { 9 | /// 10 | /// Palette entry interface where source palette comes from MapModel palette blocks 11 | /// 12 | public interface IDbPaletteFromMap : IDbPalette 13 | { 14 | #region Public Properties 15 | 16 | string BlockName { get; set; } 17 | string MapRef { get; set; } 18 | 19 | #endregion Public Properties 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Control/ControllerComponent.cs: -------------------------------------------------------------------------------- 1 | namespace OpenBreed.Wecs.Components.Control 2 | { 3 | /// 4 | /// Component which stores information about controlled entity 5 | /// 6 | public class ControllerComponent : IEntityComponent 7 | { 8 | #region Public Constructors 9 | 10 | public ControllerComponent() 11 | { 12 | ControlledEntityId = -1; 13 | } 14 | 15 | #endregion Public Constructors 16 | 17 | #region Public Properties 18 | 19 | public int ControlledEntityId { get; set; } 20 | 21 | #endregion Public Properties 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Extensions/PointExtensions.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Runtime.CompilerServices; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Windows; 9 | 10 | namespace OpenBreed.Editor.UI.Wpf.Extensions 11 | { 12 | public static class PointExtensions 13 | { 14 | #region Public Methods 15 | 16 | public static MyPoint ToMyPoint(this Point point) 17 | { 18 | return new MyPoint((int)point.X, (int)point.Y); 19 | } 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | 2 | using Microsoft.Extensions.DependencyInjection; 3 | using Microsoft.Extensions.Hosting; 4 | using System; 5 | 6 | namespace OpenBreed.Model.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupModelTools(this IHostBuilder hostBuilder) 13 | { 14 | hostBuilder.ConfigureServices((hostContext, services) => 15 | { 16 | services.AddSingleton(); 17 | }); 18 | } 19 | 20 | #endregion Public Methods 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IBitmapProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IBitmapProvider 10 | { 11 | IImage ErrorIcon { get; } 12 | 13 | 14 | #region Public Methods 15 | 16 | IImage FromBytes(int width, int height, byte[] bytes); 17 | 18 | void SetPaletteColors(IImage sourceImage, MyColor[] data); 19 | 20 | byte[] ToBytes(IImage sourceImage, MyRectangle sourceRectangle); 21 | 22 | #endregion Public Methods 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Images/IDbAcbmImage.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Images 9 | { 10 | public interface IDbAcbmImage : IDbImage 11 | { 12 | #region Public Properties 13 | 14 | string DataRef { get; set; } 15 | 16 | int Width { get; set; } 17 | int Height { get; set; } 18 | int BitPlanesNo { get; set; } 19 | string PaletteMode { get; set; } 20 | 21 | #endregion Public Properties 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Model/Anims/AnimBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Model.Anims 8 | { 9 | public class AnimBuilder 10 | { 11 | internal string Script; 12 | 13 | public static AnimBuilder NewAnimModel() 14 | { 15 | return new AnimBuilder(); 16 | } 17 | public AnimModel Build() 18 | { 19 | return new AnimModel(this); 20 | } 21 | 22 | public void SetScript(string script) 23 | { 24 | Script = script; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/OpenBreed.Scripting.Interface/IScriptFunc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Scripting.Interface 8 | { 9 | /// 10 | /// Script function interface 11 | /// 12 | public interface IScriptFunc 13 | { 14 | /// 15 | /// Function invoke method 16 | /// 17 | /// Collection of arguments to be passed when invoking 18 | /// Return object if any 19 | object Invoke(params object[] args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Core/Events/WorldUnpausedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Core; 2 | using OpenBreed.Wecs.Events; 3 | using System; 4 | 5 | namespace OpenBreed.Wecs.Systems.Core.Events 6 | { 7 | public class WorldUnpausedEventArgs : EntityEvent 8 | { 9 | #region Public Constructors 10 | 11 | public WorldUnpausedEventArgs(int entityId, int worldId) 12 | : base(entityId) 13 | { 14 | WorldId = worldId; 15 | } 16 | 17 | #endregion Public Constructors 18 | 19 | #region Public Properties 20 | 21 | public int WorldId { get; } 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Systems/IMatchingSystem.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Core; 2 | using OpenBreed.Wecs.Entities; 3 | using OpenBreed.Wecs.Worlds; 4 | using System; 5 | using System.Collections.Generic; 6 | 7 | namespace OpenBreed.Wecs.Systems 8 | { 9 | /// 10 | /// Interface to system that matches entities based on their components 11 | /// 12 | public interface IMatchingSystem : ISystem 13 | { 14 | #region Public Methods 15 | 16 | bool ContainsEntity(IEntity entity); 17 | 18 | void AddEntity(IEntity entity); 19 | 20 | void RemoveEntity(IEntity entity); 21 | 22 | #endregion Public Methods 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Maps/IDbMap.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface.Items; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Database.Interface.Items.Maps 9 | { 10 | public interface IDbMap : IDbEntry 11 | { 12 | string DataRef { get; } 13 | 14 | string Format { get; } 15 | 16 | string TileSetRef { get; } 17 | string ActionSetRef { get; set; } 18 | string ScriptRef { get; set; } 19 | 20 | List SpriteSetRefs { get; } 21 | List PaletteRefs { get; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.App/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | using System.Windows.Data; 5 | using System.Windows.Documents; 6 | using System.Windows.Input; 7 | using System.Windows.Media; 8 | using System.Windows.Media.Imaging; 9 | using System.Windows.Navigation; 10 | using System.Windows.Shapes; 11 | 12 | namespace OpenBreed.Editor.App 13 | { 14 | /// 15 | /// Interaction logic for MainWindow.xaml 16 | /// 17 | public partial class MainWindow : Window 18 | { 19 | public MainWindow() 20 | { 21 | InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/PlayerInputsComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using OpenTK.Windowing.GraphicsLibraryFramework; 3 | using System.ComponentModel; 4 | 5 | namespace OpenBreed.Sandbox.Wecs.Components 6 | { 7 | public class PlayerInputsComponent : IEntityComponent 8 | { 9 | #region Public Properties 10 | 11 | public Keys Up { get; set; } 12 | public Keys Down { get; set; } 13 | public Keys Left { get; set; } 14 | public Keys Right { get; set; } 15 | public Keys Fire { get; set; } 16 | public Keys SwitchWeapon { get; set; } 17 | 18 | #endregion Public Properties 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Physics/Events/VelocityChangedEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | using OpenTK.Mathematics; 3 | using System; 4 | 5 | namespace OpenBreed.Wecs.Systems.Physics.Events 6 | { 7 | public class VelocityChangedEvent : EntityEvent 8 | { 9 | #region Public Constructors 10 | 11 | public VelocityChangedEvent(int entityId, Vector2 value) 12 | : base(entityId) 13 | { 14 | Value = value; 15 | } 16 | 17 | #endregion Public Constructors 18 | 19 | #region Public Properties 20 | 21 | public Vector2 Value { get; } 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Extensions/EntityExtensions.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using OpenBreed.Wecs.Entities; 3 | using OpenBreed.Wecs.Events; 4 | using OpenBreed.Wecs.Worlds; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | 11 | namespace OpenBreed.Wecs.Extensions 12 | { 13 | public static class EntityExtensions 14 | { 15 | #region Public Methods 16 | 17 | public static bool HasWorld(this IEntity entity) 18 | { 19 | return entity.WorldId != WecsConsts.NO_WORLD_ID; 20 | } 21 | 22 | #endregion Public Methods 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Actions/IDbActionPresentation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Actions 8 | { 9 | public interface IDbActionPresentation 10 | { 11 | #region Public Properties 12 | 13 | string Color { get; set; } 14 | string Image { get; set; } 15 | bool Visibility { get; set; } 16 | 17 | #endregion Public Properties 18 | 19 | #region Public Methods 20 | 21 | IDbActionPresentation Copy(); 22 | 23 | #endregion Public Methods 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Sprites/IDbSpriteCoords.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Database.Interface.Items.Sprites 8 | { 9 | public interface IDbSpriteCoords 10 | { 11 | #region Public Properties 12 | 13 | int X { get; set; } 14 | int Y { get; set; } 15 | int Width { get; set; } 16 | int Height { get; set; } 17 | 18 | #endregion Public Properties 19 | 20 | #region Public Methods 21 | 22 | IDbSpriteCoords Copy(); 23 | 24 | #endregion Public Methods 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.App/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/OpenBreed.Editor.UI.Wpf/Tools/AbtaPasswordGeneratorForm.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/OpenBreed.Fsm/OpenBreed.Fsm.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/EntityLeftEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Wecs.Events 4 | { 5 | /// 6 | /// Event args for event that occurs when is left the world 7 | /// 8 | public class EntityLeftEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public EntityLeftEvent(int entityId, int worldId) 13 | : base(entityId) 14 | { 15 | WorldId = worldId; 16 | } 17 | 18 | #endregion Public Constructors 19 | 20 | #region Public Properties 21 | 22 | public int WorldId { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/ITypeAttributesProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface 8 | { 9 | /// 10 | /// Interface for getting Type attributes 11 | /// 12 | public interface ITypeAttributesProvider 13 | { 14 | /// 15 | /// Get attributes from given type 16 | /// 17 | /// Type to get attributes from 18 | /// Attribute objects 19 | object[] GetAttributes(Type type); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Common.Windows/Drawing/ImageProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Common.Interface.Drawing; 2 | using OpenBreed.Common.Tools; 3 | using OpenBreed.Common.Windows.Drawing.Wrappers; 4 | using OpenBreed.Common.Windows.Extensions; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Drawing; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | 12 | namespace OpenBreed.Common.Windows.Drawing 13 | { 14 | internal class ImageProvider : IImageProvider 15 | { 16 | public IImage FromFile(string filePath) 17 | { 18 | return new ImageWrapper((Bitmap)Bitmap.FromFile(filePath)); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Common/MathTools.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Common 4 | { 5 | public static class MathTools 6 | { 7 | #region Public Methods 8 | 9 | public static object Lerp(object start, object end, float by) 10 | { 11 | if (start is float && end is float) 12 | return Lerp((float)start, (float)end, by); 13 | else 14 | throw new NotImplementedException(); 15 | } 16 | 17 | public static float Lerp(float start, float end, float by) 18 | { 19 | return start + (end - start) * by; 20 | } 21 | 22 | #endregion Public Methods 23 | } 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Interface/Items/Sprites/IDbSpriteAtlasFromImage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace OpenBreed.Database.Interface.Items.Sprites 5 | { 6 | public interface IDbSpriteAtlasFromImage : IDbSpriteAtlas 7 | { 8 | #region Public Properties 9 | 10 | string DataRef { get; } 11 | 12 | ReadOnlyCollection Sprites { get; } 13 | 14 | #endregion Public Properties 15 | 16 | #region Public Methods 17 | 18 | void ClearCoords(); 19 | void AddCoords(int x, int y, int width, int height); 20 | 21 | #endregion Public Methods 22 | } 23 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Extensions/TextsDataProviderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Logging; 2 | using OpenBreed.Common.Data; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace OpenBreed.Sandbox.Extensions 10 | { 11 | public static class TextsDataProviderExtensions 12 | { 13 | #region Public Methods 14 | 15 | public static string GetTextString(this TextsDataProvider textsDataProvider, string entryId) 16 | { 17 | return textsDataProvider.GetTextById(entryId).Text; 18 | } 19 | 20 | #endregion Public Methods 21 | } 22 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbMapTableDef.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Xml.Items.Maps; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Database.Xml.Tables 10 | { 11 | public class XmlDbMapTableDef : XmlDbTableDef 12 | { 13 | public const string NAME = "Maps"; 14 | 15 | [XmlIgnore] 16 | public override string Name => NAME; 17 | 18 | [XmlArray("Items"), 19 | XmlArrayItem("Map", typeof(XmlDbMap))] 20 | public readonly List Items = new List(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/OpenBreed.Model/Scripts/ScriptBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Model.Scripts 8 | { 9 | public class ScriptBuilder 10 | { 11 | internal string Script; 12 | 13 | public static ScriptBuilder NewScriptModel() 14 | { 15 | return new ScriptBuilder(); 16 | } 17 | public ScriptModel Build() 18 | { 19 | return new ScriptModel(this); 20 | } 21 | 22 | public void SetScript(string script) 23 | { 24 | Script = script; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/EntityEnteredEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Wecs.Events 4 | { 5 | /// 6 | /// Event args for event that occurs when is added to world 7 | /// 8 | public class EntityEnteredEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public EntityEnteredEvent(int entityId, int worldId) 13 | : base(entityId) 14 | { 15 | WorldId = worldId; 16 | } 17 | 18 | #endregion Public Constructors 19 | 20 | #region Public Properties 21 | 22 | public int WorldId { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/WorldInitializedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Core; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Events 5 | { 6 | /// 7 | /// Event args for event that occurs when world is initialized 8 | /// 9 | public class WorldInitializedEventArgs : EventArgs 10 | { 11 | #region Public Constructors 12 | 13 | public WorldInitializedEventArgs(int worldId) 14 | { 15 | WorldId = worldId; 16 | } 17 | 18 | #endregion Public Constructors 19 | 20 | #region Public Properties 21 | 22 | public int WorldId { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/IBitmapData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public interface IBitmapData 10 | { 11 | #region Public Properties 12 | 13 | public int Height { get; set; } 14 | public int Width { get; set; } 15 | public MyPixelFormat PixelFormat { get; set; } 16 | public int Reserved { get; set; } 17 | public System.IntPtr Scan0 { get; set; } 18 | public int Stride { get; set; } 19 | 20 | #endregion Public Properties 21 | } 22 | 23 | 24 | } -------------------------------------------------------------------------------- /src/OpenBreed.Input.Interface/IActionTriggerBinder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Input.Interface 8 | { 9 | public delegate void ActionBinderCallback(TAction action) where TAction : Enum; 10 | 11 | public interface IActionTriggerBinder 12 | { 13 | void Subscribe(TTrigger trigger, ActionBinderCallback triggerCallback) 14 | where TTrigger : Enum; 15 | 16 | void Unsubscribe(TTrigger trigger, ActionBinderCallback triggerCallback) 17 | where TTrigger : Enum; 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Gui/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Gui.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupGuiComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/WorldDeinitializedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Core; 2 | using System; 3 | 4 | namespace OpenBreed.Wecs.Events 5 | { 6 | /// 7 | /// Event args for event that occurs when world is deinitialized 8 | /// 9 | public class WorldDeinitializedEventArgs : EventArgs 10 | { 11 | #region Public Constructors 12 | 13 | public WorldDeinitializedEventArgs(int worldId) 14 | { 15 | WorldId = worldId; 16 | } 17 | 18 | #endregion Public Constructors 19 | 20 | #region Public Properties 21 | 22 | public int WorldId { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Data/IModelsProvider.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Interface; 2 | using OpenBreed.Database.Interface.Items; 3 | using System; 4 | 5 | namespace OpenBreed.Common.Interface.Data 6 | { 7 | public interface IModelsProvider 8 | { 9 | #region Public Methods 10 | 11 | bool TryGetModel(TDbEntry dbEntry, out TModel item, out string message) where TDbEntry : IDbEntry; 12 | 13 | TModel GetModel(TDbEntry dbEntry, bool refresh = false) where TDbEntry : IDbEntry; 14 | 15 | TModel GetModelById(string entryId) where TDbEntry : IDbEntry; 16 | 17 | #endregion Public Methods 18 | } 19 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.App/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /src/OpenBreed.Rendering.Interface/ISpriteAtlas.cs: -------------------------------------------------------------------------------- 1 | using OpenTK; 2 | using OpenTK.Mathematics; 3 | 4 | namespace OpenBreed.Rendering.Interface 5 | { 6 | /// 7 | /// Interface for accessing sprite atlas 8 | /// 9 | public interface ISpriteAtlas 10 | { 11 | #region Public Properties 12 | 13 | /// 14 | /// Id of this sprite atlas 15 | /// 16 | int Id { get; } 17 | 18 | #endregion Public Properties 19 | 20 | #region Public Methods 21 | 22 | Vector2 GetSpriteSize(int spriteId); 23 | 24 | bool IsValid(int imageId); 25 | 26 | #endregion Public Methods 27 | } 28 | } -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Events/InventoryChangedEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Sandbox.Wecs.Events 4 | { 5 | public class InventoryChangedEvent : EntityEvent 6 | { 7 | #region Public Constructors 8 | 9 | public InventoryChangedEvent(int entityId, int itemId, int quantity) 10 | : base(entityId) 11 | { 12 | ItemId = itemId; 13 | Quantity = quantity; 14 | } 15 | 16 | #endregion Public Constructors 17 | 18 | #region Public Properties 19 | 20 | public int ItemId { get; } 21 | public int Quantity { get; } 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Audio/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Audio.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupAudioComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/GroupComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System.Collections.Generic; 3 | 4 | namespace OpenBreed.Wecs.Components.Common 5 | { 6 | public class GroupComponentEx : IEntityComponent 7 | { 8 | #region Public Constructors 9 | 10 | public GroupComponentEx(int id) 11 | { 12 | Id = id; 13 | } 14 | 15 | #endregion Public Constructors 16 | 17 | #region Public Properties 18 | 19 | /// 20 | /// Ids of entities which are members of this group 21 | /// 22 | public int Id { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Common/GroupComponentEx.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components; 2 | using System.Collections.Generic; 3 | 4 | namespace OpenBreed.Wecs.Components.Common 5 | { 6 | public class GroupComponent : IEntityComponent 7 | { 8 | #region Public Constructors 9 | 10 | public GroupComponent() 11 | { 12 | } 13 | 14 | #endregion Public Constructors 15 | 16 | #region Public Properties 17 | 18 | /// 19 | /// Ids of entities which are members of this group 20 | /// 21 | public List MemberIds { get; } = new List(); 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Database.Xml/Tables/XmlDbSoundTableDef.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Database.Xml.Items.Sounds; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Serialization; 8 | 9 | namespace OpenBreed.Database.Xml.Tables 10 | { 11 | public class XmlDbSoundTableDef : XmlDbTableDef 12 | { 13 | public const string NAME = "Sounds"; 14 | 15 | [XmlIgnore] 16 | public override string Name => NAME; 17 | 18 | [XmlArray("Items"), 19 | XmlArrayItem("Sound", typeof(XmlDbSound))] 20 | public readonly List Items = new List(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/OpenBreed.Sandbox/Wecs/Components/Xml/XmlHealthComponent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Components.Common; 2 | using OpenBreed.Wecs.Components.Xml; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml.Serialization; 9 | 10 | namespace OpenBreed.Sandbox.Wecs.Components.Xml 11 | { 12 | [XmlRoot("Health")] 13 | public class XmlHealthComponent : XmlComponentTemplate, IHealthComponentTemplate 14 | { 15 | [XmlElement("MaximumValue")] 16 | public int MaximumRoundsCount { get; set; } 17 | 18 | [XmlElement("Value")] 19 | public int RoundsCount { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/OpenBreed.Wecs.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Physics/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Physics.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupPhysicsComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Interface/Drawing/MySize.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenBreed.Common.Interface.Drawing 8 | { 9 | public struct MySize 10 | { 11 | #region Public Constructors 12 | 13 | public MySize(int width, int height) 14 | { 15 | Width = width; 16 | Height = height; 17 | } 18 | 19 | #endregion Public Constructors 20 | 21 | #region Private Properties 22 | 23 | public int Width { get; set; } 24 | public int Height { get; set; } 25 | 26 | #endregion Private Properties 27 | } 28 | } -------------------------------------------------------------------------------- /src/OpenBreed.Common.Tools/IOHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace OpenBreed.Common.Tools 9 | { 10 | /// 11 | /// Helper class with various file system related methods 12 | /// 13 | public static class IOHelper 14 | { 15 | public static string GetNormalizedPath(string path) 16 | { 17 | return Path.GetFullPath(new Uri(path).LocalPath) 18 | .TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar) 19 | .ToUpperInvariant(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Animation/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Animation.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupAnimationComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Rendering/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Rendering.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupRenderingComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Components.Scripting/Extensions/HostBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.Hosting; 3 | using OpenBreed.Wecs.Components.Xml; 4 | using OpenBreed.Wecs.Extensions; 5 | 6 | namespace OpenBreed.Wecs.Components.Scripting.Extensions 7 | { 8 | public static class HostBuilderExtensions 9 | { 10 | #region Public Methods 11 | 12 | public static void SetupScriptingComponents(this IHostBuilder hostBuilder) 13 | { 14 | XmlComponentsList.RegisterAllAssemblyComponentTypes(); 15 | hostBuilder.SetupAssemblyComponentFactories(); 16 | } 17 | 18 | #endregion Public Methods 19 | } 20 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs.Systems.Control/Events/EntityFollowEvent.cs: -------------------------------------------------------------------------------- 1 | using OpenBreed.Wecs.Events; 2 | 3 | namespace OpenBreed.Wecs.Systems.Control.Events 4 | { 5 | /// 6 | /// Entity event on follower 7 | /// 8 | public class EntityFollowEvent : EntityEvent 9 | { 10 | #region Public Constructors 11 | 12 | public EntityFollowEvent(int entityId, int followerId) 13 | : base(entityId) 14 | { 15 | FollowerId = followerId; 16 | } 17 | 18 | #endregion Public Constructors 19 | 20 | #region Public Properties 21 | 22 | public int FollowerId { get; } 23 | 24 | #endregion Public Properties 25 | } 26 | } -------------------------------------------------------------------------------- /src/OpenBreed.Wecs/Events/EntityComponentChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenBreed.Wecs.Events 4 | { 5 | public class EntityComponentChangedEventArgs : EventArgs 6 | { 7 | #region Public Constructors 8 | 9 | public EntityComponentChangedEventArgs(TComponent component, string propertyName) 10 | { 11 | Component = component; 12 | ProperyName = propertyName; 13 | } 14 | 15 | #endregion Public Constructors 16 | 17 | #region Public Properties 18 | 19 | public TComponent Component { get; } 20 | 21 | public string ProperyName { get; } 22 | 23 | #endregion Public Properties 24 | } 25 | } -------------------------------------------------------------------------------- /src/OpenBreed.Editor.Cfg/OpenBreed.Editor.Cfg.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | PreserveNewest 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/OpenBreed.Input.Generic/OpenBreed.Input.Generic.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Library 5 | net6.0 6 | AnyCPU;x64 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | --------------------------------------------------------------------------------