https://github.com/bigasdev/com.bigasdev.bigastools
Unity tools package with my own framework, in constant development
https://github.com/bigasdev/com.bigasdev.bigastools
Last synced: 4 months ago
JSON representation
Unity tools package with my own framework, in constant development
- Host: GitHub
- URL: https://github.com/bigasdev/com.bigasdev.bigastools
- Owner: bigasdev
- License: gpl-3.0
- Created: 2022-04-05T15:05:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-08T12:31:07.000Z (over 2 years ago)
- Last Synced: 2024-12-29T07:43:28.141Z (5 months ago)
- Language: C#
- Homepage:
- Size: 142 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://unity3d.com)

[](https://wakatime.com/badge/user/689ea0cf-7a60-428a-9385-c2713d3911fd/project/d135432c-a8a0-4cff-bcbf-49556f1efb97)
[](https://openupm.com/packages/com.bigasdev.bigastools/)The tools i usually use for all of my game development with unity.
[](CHANGELOG.md)
[](https://discordapp.com/users/413483007492751370)
# Features
- A powerful timer class
- Controllers for audio and resources
- A powerful state controller
- Tags system
- A pool system# Doc
## Timer class
A non-monobehaviour class that you can use to create a timer inside any script. You can add a function for when its completed and choose if it loops or not.
```
A base syntax for the timer looks like this:Timer myTimer;
private void Start(){
myTimer = new Timer(5, true);
myTimer.OnComplete += TimerFinish;
}
private void Update(){
myTimer.Update();
}
```
# Controllers
## State Controller
This script will be able to manage the state you game are in, you can add new enums to better control it.
```
The state controller has a static reference (StateController.Instance) and you can use:StateController.ChangeState(States.YOUR_STATE)
To change the state you are in, it's useful for pauses and/or update checks.
```# Pool System
The pool system comes with a powerful way of instantiating and "destroying" objects without using too much performance, you can set as many pools as you want and use ids to reference them. So in the end you are able to get an enemy like this:
```
PoolsManager.Instance.GetPool("Enemy")?.GetFromPool(this.transform.position);
```