-
Notifications
You must be signed in to change notification settings - Fork 12
Project overview
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
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.
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.
The dependencies folder contains any third-party libraries that are referenced by the FameBot project. E.g. Lib K Relay.dll
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.
The Resources folder is for all resources (images, strings, icons, etc...) used by the FameBot project.
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).
The UserInterface folder is where all of the UIs used by the FameBot project are put. All UIs are created using Windows Forms.