Skip to content

Project Structure

LazyDuchess edited this page Apr 30, 2022 · 4 revisions

Since the project is being worked on in the Unity Engine, all scripts are contained in a single VS project nested into the Assets/Scripts folder.

Try to keep the front-end (Unity specific code in this case) separate from the game logic and engine as much as possible, to allow for better reusability and engine changes.

Client

  • OpenTS2.Client contains game client related code, such as language settings.

Common

  • OpenTS2.Common contains code utilized commonly throughout the project, such as the TGI class (Type, Group and Instance) used to reference game assets and checksums.

Content System

  • OpenTS2.Content contains content management, caching and assets. Here you can access the ContentManager, which lets you utilize game assets and interface with its filesystem.

File System

  • OpenTS2.Files contains code for reading from and writing to file formats utilized by the game.
    • Formats.DBPF contains code for writing to and reading package files and codecs for the resources they contain.
    • Formats.ARC contains code for working with Playstation 2 Sims archives and resources.

Unity Frontend

  • OpenTS2.Unity is the Unity frontend. Everything that depends on Unity assemblies should go here.
    • Game contains game control and initialization components.
    • Tests contains a few MonoBehaviour Components for testing.
Clone this wiki locally