Namespace CodeBase
Classes
- BasePropertyDrawer
Simple implementation of custom property drawer. It could be used as a base for the own property drawers for Serializable class or members with custom
PropertyAttributes. It provides the functionality of representing a array of strings like an enum selectable from a dropdown.
- BaseSingletonMonoBehaviour
Base class of Singleton for MonoBehaviour scripts. Used to create a default implementation that should be used. It can be used to create a custom Singleton implementation.
- BuildSettingsSceneVerifier
This static class provides methods for verifying the configuration of build scenes in the Unity Editor's Build Settings.
- BuildTargetFlagConverter
This static class provides a dictionary-based conversion. Between build target string value flags and the corresponding BuildTarget enumeration values in Unity.
- Conversions
A helper class contains many independent and small methods with mathematical functions for conversion.
- CustomExtensionMethods
A class that collects a variety of extension methods. Similar to:
GenericExtensionMethods
- DeploymentEnvironmentNameAttribute
Attribute implementation to display a string type as a selectable list of deployment environment names. The list is taken from the
DeploymentEnvironmentSettingsscriptable object. How to use:[DeploymentEnvironmentName] string TargetDeploymentEnvironment { get; set;}
- DeploymentEnvironmentNamePropertyDrawer
This custom property drawer is used to draw a deployment environment name string field as dropdown in the Unity inspector. Based on the DeploymentEnvironmentNameAttribute attribute.
- DeploymentEnvironmentSettings
This class represents a ScriptableObject that stores settings for a deployment environment. It contains a list of customizable environment names and stores the current environment read-only. An example use case is to store the build deployment environment for use in the business logic of the application.
- EditorPlatformVerifier
This static class provides methods to verify if the Unity Editor is running on a particular platform: macOS, Windows or Linux.
- ExtendedEditor
Base class for custom editor scripts. Whether based on Unity IMGUI or UI Toolkit doesn't matter. There could find universal functionality. It is worthwhile to expand this class as needed.
- ExtendedMonoBehaviour
Base class for MonoBehaviour scripts. There could find universal functionality. It is worthwhile to expand this class as needed. Use instead of the Unity's MonoBehaviour type.
- ExtendedPropertyDrawer
Base class for property drawers scripts. Whether based on Unity IMGUI or UI Toolkit doesn't matter. It dedicates to the own property drawers for Serializable classes or members with custom PropertyAttributes. There could find universal functionality. It is worthwhile to expand this class as needed.
- FileDataLoader
A helper class containing methods related to loading files or assets.
- FileSystemHelper
Simple IO helper, that contains aliases for System.IO functions.
- GenericExtensionMethods
A class that collects a variety of extension methods. Similar to:
CustomExtensionMethods
- InspectorConstants
Store all constants related to Unity Editor part. For example: create asset menu, menu items, inspector attributes (e.g. tooltips, headers, etc.). It should be used as the basis for such project classes. It contains the root for elements in the menu or toolbar.
- JsonFacade
JSON format utilities featuring save/load out-of-the-box methods.
- MathematicalCalculator
A helper class contains many independent and small methods with various mathematical functions. Mathematical functions mainly related to probability and randomization (System.Random and Unity Random).
- ObjectPathConverter
A helper class contains methods used to determine the path to an asset.
- ProjectSetupChecker
A class that checks Unity project settings. Focusing mainly on ProjectSettings options. Currently, it is checking the compatibility of the Scripting API from ProjectSettings with the version of the NET_Unity_4_8. It is worthwhile to expand this class as needed.
- SingletonMonoBehaviour<T>
Default implementation of Singleton for MonoBehaviour scripts. Handles the life cycle of the MonoBehaviour object in case a duplicate needs to be destroyed.
- SingletonScriptableObject<T>
Default implementation of Singleton for ScriptableObject scripts. It uses mechanics of lazy initialization. The first time it is called, it creates its instance. Supports Singleton for editor (located in the Editor folder) and runtime scripts (located in the Resources/Settings/type_name.asset) The search is based on the name taken from type.Name.
Interfaces
- IName
It is used to implement objects that can be labeled with a name within a string type.
- IProbability
It is used to implement objects that can be drawn with a given probability.
Enums
- ExecutionStatus
Stores a list of types that determine operation execution and results. Indicates whether the operation was successful, failed, or not performed. An example use is the management of the Build Action execution status.
- OperationStatus
Stores a list of types that determine the state of operation. One of two options - ENABLED / DISABLED - determines the general operating status. An example of use is checking the status of the Unity Accelerator Cache Server in the Unity Editor.
- RunningType
Stores a list of types that define the location of operations, e.g. script execution. Refers to the local or remote machine acting. An example use is to trigger the build process on the local machine or on the remote server (e.g. Jenkins).