(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.
| /* | |
| * Author: Harshdeep Singh, https://github.com/h-sigma | |
| * Year: 2020 | |
| * Description: An attribute for MonoBehaviour's that restricts assigning in the editor to MB's deriving from a specific interface. | |
| * Use: | |
| * [Interface(typeof<IHealth>)] | |
| * public MonoBehaviour health; | |
| * Note: This hasn't been bug tested, and it is a very simplistic way to do the job. If required or requested, I may choose to improve it. | |
| */ |
| using UnityEngine; | |
| namespace Utility | |
| { | |
| public class DisplayAsEulerAttribute : PropertyAttribute | |
| { | |
| public float min; | |
| public float max; | |
| public DisplayAsEulerAttribute(float min = 0, float max = 359.9999f) |
Drop ThroughPropertyAttribute.cs anywhere in Assets.
Drop ThroughPropertyDrawer.cs anywhere inside an Editor folder in Assets.
Attach Test to a gameobject to make sure it works. See the code in Test for an example.
Features:
Note: I have moved this list to a proper repository. I'll leave this gist up, but it won't be updated. To submit an idea, open a PR on the repo.
Note that I have not tried all of these personally, and cannot and do not vouch for all of the tools listed here. In most cases, the descriptions here are copied directly from their code repos. Some may have been abandoned. Investigate before installing/using.
The ones I use regularly include: bat, dust, fd, fend, hyperfine, miniserve, ripgrep, just, cargo-audit and cargo-wipe.
| public interface ITimeProvider | |
| { | |
| float renderDeltaTime { get; } | |
| float fixedDeltaTime { get; } //ideally, do not include this, and use Time.fixedDeltaTime always | |
| float renderTime { get; } | |
| float fixedTime { get; } | |
| } | |
| public class TimeProvider : MonoBehavior | |
| { |
List of freely available resources to study computer graphics programming.