Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename forGithubContributors.md to CONTRIBUTING.md #15

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Docs/forGithubContributors.md → Docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ Jsou dva druhy version stringů

Dlouhý string reprezentuje nestabilní verzi, naleznuté buď v `development` větvi, nebo v Github actions. Je sestavený z data commitu/postavení vezre, a z IDčka, které se s každou novou verzí ten den sekvenčně zvyšuje.

Krátký string reprezentuje stabilní verzi, naleznutá buď v `master` větvi, nebo v Releases sekci.
Krátký string reprezentuje stabilní verzi, naleznutá buď v `master` větvi, nebo v Releases sekci.
35 changes: 35 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Pro přispěvatele

Všechno co je potřeba za software je Git a Git LFS přídavek na věci jako textury, audio, atd.

Samozřejmě je též potřeba mít Github účet ;)

## Struktura větví

Větev `master` je, dá se říct, stabilní větev. Kdykoliv přichází změny do `master`, tak jsou předem testované a ověřené že fungují. Do této větve **se nikdy přímo nepushuje!** Místo toho se dává pull request z `development` do `master`.

Větev `development` je kde nastává vývoj hry. Kdykoliv je hotová funkce, ale neověřená, je mergenutá do `development` větve pro ověření a testování.

Kdykoliv chcete přidat novou funkci do PNUK 2, tak stačí udělat fork na Githubu

```bash
git clone -b development <vaše fork>
# Ujistěte se že jste na větvi development, např pomocí `git branch`

# After shit gets done
git commit -m "commit message"
git push
```

Potom se vytvoří pull request na tento repozitář a buď se schválí nebo neschválí. Znova, **nikdy nepůjdou pull requests do `master` větve! Vždy do `development`!**

## Version stringy

Jsou dva druhy version stringů

- v2023.27.10.0001
- v1.0

Dlouhý string reprezentuje nestabilní verzi, naleznuté buď v `development` větvi, nebo v Github actions. Je sestavený z data commitu/postavení vezre, a z IDčka, které se s každou novou verzí ten den sekvenčně zvyšuje.

Krátký string reprezentuje stabilní verzi, naleznutá buď v `master` větvi, nebo v Releases sekci.
17 changes: 17 additions & 0 deletions docs/buildingKrtkus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Stavění Pět Nocí u Krtkuse 2

Toto je repozitář pro Windows/Mac/Linux verzi PNUK 2. Pokud chcete postavit hru pro jinou platformu, je **doporučeno stavět z duplikátu**.

Tato hra je vyvíjena s těmito nástroji:
- Unity **2021.3.11f1**
- Mono JIT Compiler 6.12.0
- .NET 6.0 (v Unity Project Settings vybráno .NET Standard 2.1)
- Váš oblíbený code editor/IDE

Jinak se velmi prostě zklonuje repozitář:

```bash
git clone https://github.com/CodyMarkix/PetNociuKrtkuse2
```

Otevře se projekt v Unity a postaví se přes `File > Build Settings > Build` nebo přes `File > Build And Run`.
85 changes: 85 additions & 0 deletions docs/codingPractices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Programovací etiketa

Zde jsou sepsány coding practices specifické k tomuto projektu. **Jakákoliv pull request porušující tyto coding practices bude odmítnuta!** Tyto practices jsou samozřejmě otevřené k diskuzi a můžou se změnit.

## \#1 - Tabulátor vs. Mezery

V projektu jsou **striktně používány 4 mezery na indentaci**. Můžete používat nástroj na automatické konvertování z tabulátoru na mezery, ale tabulátor v zdrojovém kódu nebude.

## \#2 - Složené závorky po deklaracích funkce

Složené závorky (curly braces) po deklaraci funkce bude vždy vedle jména. Nikdy nebude používaná závorka na novém řádku.

### Správně ✔️:
```C#
using UnityEngine;

public class MyComponent : MonoBehaviour {
void Start() {
// Yeah uhh maybe some code do beep boop
}
}
```

### Špatně ❌:
```C#
using UnityEngine;

public class MyComponent : MonoBehaviour
{
void Start()
{
// I wanna commit die
}
}
```

## \#3 - Pojmenovávání proměnných/funkcí/tříd

**Promněnné** - Používáme camelCase.

```C#
int someInteger = 56;
```

Promněnné co mají napsaný vlastní getter a setter jsou pojmenovány s podtržítkem před jménem a **můžou být modifikované/čtené jen přes jejich funkce!**

```C#
public class ExampleClass {
int _temperature = 0;

public int getTemperature() {
return _temperature;
}

public int setTemperature(int newTemp) {
_temperature = newTemp;
return _temperature;
}
}
```


**Funkce** - Používáme PascalCase / UpperCamelCase

```C#
int MyFunction() {
Debug.Log("Svarto, je ti něco?");
}
```

**Třídy** - Opět používán PascalCase / UpperCamelCase

```C#
class SomeObject {
string svarta = "spadl";

string CallSvarta() {
return "Svarto?!"
}
}
```

## \#4 - Pojmenovávání assetů v Unity

Velmi by se preferoval PascalCase, ale může se používat i camelCase/Normální pojmenovávání. Pull requests přidávající assety pojmenované s camelCase/Normálním pojmenováváním budou pořád přijaty.
31 changes: 31 additions & 0 deletions docs/fileStructure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Souborová strukruta

Tento dokument pokrývá pouze file strukturu v `Assets/` složce. Všechny typy souborů mají jednu složku, i když v té složce bude jenom jeden soubor.

- `Animations/` - Všechny animace. Složky jsou roztříděné podle objektů nebo skupin objektů (např.: `Animations/Animatronics`). Animation controllers jsou uložené společně s animacema

- `Audio/` - Všechny zvuky ve hře, rozděleno na hudbu, phone guye a zvukové efekty. Mixér je uložen v `Assets/` složce.

- `Fonts/` - Zde jsou uloženy ty dva jediné fonty použité ve hře

- `Icon/` - Need I say more?

- `Input/` - Zde jsou uloženy Input Action mapy pro globální keybinds a keybinds v kanceláři. Zde nejsou uloženy speciální keybinds, jako přeskočení noci a přepnutí na `Trailer.unity`

- `Materials/` - Zde jsou uloženy materiály pro každý model. Materiály jsou roztříděné do složek podle modelu, ke kterému patří

- `Models/` - Všechny modely jsou uložené zde. Modely **musí být ve formátu .FBX!** Toto má pár výjimek prozatím. V `Models/Blend files` jsou Blender soubory pro vlastně vytvořené modely. V každé `Restaurant` složce jsou uloženy korrespondující soubory pro restauraci (např.: `Blend files/Restaurant` = Blender soubory pro modely restaurace)

- `PostProcessing/` - Post processing profily. V projektu je používán [Post Processing 3.0 balíček od Unity](https://docs.unity3d.com/Packages/[email protected])

- `Prefabs/` - Prefaby. V samotné hře jsou ale vzácně používané. Tam kde ale jsou tak musí být. Např. UI tlačítka, Game Manager script, atd.

- `Scenes/` - Need I say more?

- `Scripts/` - Všechny skripty napsané pro hru. Jsou roztříděné podle použití ve hře. (Výjimka je `Build/BuildScript.cs`, který je používaný pro Github Actions)

- `Sprites/` - Sprite mapy. Rozdíl mezi `Sprites` a `Textures` je, že ve `Sprites` jsou jenom textury s několika stavy

- `Textures/` - Stejné jako sprites, ale textury s jedním stavem

- `Video/` - Video soubory (zatím využíváno jen pro Game Over scénu)
7 changes: 7 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Dokumentace pro vývojáře

### Obsah:
- [Stavění Krtkuse](./buildingKrtkus.md)
- [Programovací etiketa](./codingPractices.md)
- [Struktura souborů](./fileStructure.md)
- [Pro Github přispěvatele](./forGithubContributors.md)
Loading