---
# System prepended metadata

title: MonoGame

---

# MonoGame

## Tutoriály
- všechny: http://rbwhitaker.wikidot.com/monogame-2d-tutorials
    - 2D animace: http://rbwhitaker.wikidot.com/monogame-2d-tutorials
    - input: http://rbwhitaker.wikidot.com/monogame-input-tutorials
        - klávesnice: http://rbwhitaker.wikidot.com/monogame-basic-keyboard-input
        - myš: http://rbwhitaker.wikidot.com/monogame-mouse-input


## MGCB
- CLI: `dotnet tool install -g dotnet-mgcb`
	- https://docs.monogame.net/articles/tools/mgcb.html
	- možná není potřeba, stejně je lepší to dělat přes editor:
- GUI: `dotnet tool install -g dotnet-mgcb-editor`
	- https://docs.monogame.net/articles/tools/mgcb_editor.html


## Setup

### .NET CLI (alternativně)

```
             <template >    <vystupni slozka>
$ dotnet new mgdesktopgl -o MyGame
```
[^(zdroj)^](https://docs.monogame.net/articles/getting_started/2_creating_a_new_project_netcore.html)

Může se zeptat na instalaci šablony, ale mělo by to samo nainstalovat všechny balíčky.

Pak sestavit pomocí
```
$ dotnet build
```

### Basic config (pro Rider)
- přes NuGet nainstalovat `MonoGame.Framework.DesktopGL` (měl by být multiplatformní)

### MGCB-related config
- přidat do `*.csproj` následující (aby se vybuilděný content kopíroval správně):

```csproj
<ItemGroup>
	<Content Include="Assets\**">
		<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
	</Content>
</ItemGroup>
```

- v MGCB nastavit `IntermediateDir` i `OutputDir` na `.`

### `.gitignore`
- možná trošku overkill, ale asi nevadí

```gitignore
# IDE files
*.idea

# MGCB files
*.mgcontent
*.xnb
*.mgstats

# zbytek: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
```
