Skip to content
This repository has been archived by the owner on Mar 30, 2019. It is now read-only.

Project overview

Tom Crane edited this page Apr 7, 2017 · 1 revision

FameBot project overview

Project structure

The FameBot is a large project with classes spread across multiple files in a way which makes the flow easier to understand.

Famebot
`-- Core
`-- Data
  | `-- Enums
  | `-- Events
  | `-- Models
`-- Dependencies
`-- Helpers
`-- Resources
`-- Services
`-- UserInterface

Core

The Core folder is the 'main' folder of the project. It contains Plugin.cs which is responsible for the communication between the game and the plugin.

Data

The Data folder contains sub-folders for each type of data: enums, event args and models. Currently, there are no interfaces used in the project. If an interface is introduced, it would be put into its own sub-folder called Interfaces.

The Models folder is for classes who's only purpose is to hold some kind of data, like an Enemy or a Portal. Each file should contain a minimal amount of classes. E.g. the classes Cluster and ClusterPoint have their own files even though they are closely related.

Dependencies

The dependencies folder contains any third-party libraries that are referenced by the FameBot project. E.g. Lib K Relay.dll

Helpers

The Helpers folder is used for classes which who's purpose is to provide some helpful or convenient methods which are used frequently or in several locations in order to help speed up development and make the code more readable for others. This is a good place to put extension methods.

Resources

The Resources folder is for all resources (images, strings, icons, etc...) used by the FameBot project.

Services

The Services folder is similar to the Helpers folder, but should be used for classes who's purpose is to interact directly with data models or other services (such as the File System).

UserInterface

The UserInterface folder is where all of the UIs used by the FameBot project are put. All UIs are created using Windows Forms.

Clone this wiki locally