An open API service indexing awesome lists of open source software.

https://github.com/samuelasherrivello/rmc-mingleton-godot

A plugin for the Godot Game Engine. Where singletons go to mingle! Create and access singletons of any base type.
https://github.com/samuelasherrivello/rmc-mingleton-godot

best-practices csharp-code game-development godot godot-engine

Last synced: 3 months ago
JSON representation

A plugin for the Godot Game Engine. Where singletons go to mingle! Create and access singletons of any base type.

Awesome Lists containing this project

README

          

# RMC Mingleton - (Godot Engine Plugin)

>Where singletons go to mingle!

Create and access singletons of any base type.


Rivello Multimedia Consulting offers this design pattern for the Godot Engine.

Create your projects with confidence, performance, and scalability.


**Highlights**

* **Does NOT require** any autoload, interface, nor baseclass.
* **Compatible with** nodes, resources, and classes.
* **Compatible with** GDScript, C#, and C++




# Table of Contents

1. [Getting Started](#getting-started)
1. [Examples](#examples)
1. [Theory](#theory)
1. [Resources](#resources)
1. [Credits](#credits)




## Getting Started

1. Download this repo (*.zip or *.git)
1. Save repo as `[RepoName]`
1. Download `DOTNET` version of the [Godot Engine](https://godotengine.org/)
1. Create/open a Godot Project
1. Complete the `Prerequisites` steps from [Godot C# Basics](https://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/c_sharp_basics.html)
1. Create/open folder `[ProjectName]/addons/`
1. Install any dependencies
* **Optional**: [gdUnit4](https://github.com/MikeSchulze/gdUnit4) - Add if you want to run RMC's included unit tests. Project compiles with or without this plugin
* **Required**: [rmc-core-godot](https://github.com/SamuelAsherRivello/rmc-core-godot/) - Project requires this core functionality
1. Copy folder from `[RepoName]/addons/[PluginName]` to `[ProjectName]/addons/[PluginName]`
1. Create the C# Solution via `Godot Menu → Project → Tools → C# → Create C# Solution`
1. Build the C# Solution via (🔨) Icon in upper right of editor (or Control-B)
1. Activate the plugin via `Godot Menu → Project → Project Settings → Plugins → [PluginName] → Enabled`
1. Enjoy!




## Examples

### Example01_Mingleton

| Sample Subclass | Mingleton API |
|---|---|
| | |




## Theory

The [Singleton](https://refactoring.guru/design-patterns/singleton) is a creational design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.




## Resources

* Samuel Asher Rivello's Godot Portfolio - Articles, Repos, & Tips
* Samuel Asher Rivello's Godot Template - Ideal starting point for new projects
* Samuel Asher Rivello's Unity Article — Project Structure Best Practices - Ideal setup
* Samuel Asher Rivello's Unity Article — C# Coding Standards - Naming, conventions, more!




## Credits

**Creator**

- Samuel Asher Rivello
- Over 25 years XP with game development (2024)
- Over 11 years XP with Unity (2024)

**Contact**

- Twitter - @srivello
- Git - Github.com/SamuelAsherRivello
- Resume & Portfolio - SamuelAsherRivello.com
- LinkedIn - Linkedin.com/in/SamuelAsherRivello <--- Say Hello! :)

**License**

* Provided as-is under MIT License
* Copyright © 2024 Rivello Multimedia Consulting, LLC