Option for unity
Option to replace Nullable as in functional programming for Unity.
com.corby.option Install via UPM
Add to Unity Package Manager using this URL
https://www.pkglnk.dev/option.git README Markdown
Copy this to your project's README.md
## Installation
Add **Option for unity** to your Unity project via Package Manager:
1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/option.git
```
[](https://www.pkglnk.dev/pkg/option)README
Option
Option to replace Nullable as in functional programming for Unity.
Table of Contens
Install
Via Git
add "com.corby.option": "https://github.com/CorbyO/Option.git" to Packages/manifest.json.
Via OpenUPM
openupm add com.corby.option
Getting started
Initialize
Option<int> num = new(); // None<int>
Option<int> num = 3.ToSome(); // Some<>(3)
Option<Transform> parent = transform.parent.ToOption(); // Some<> or None
Return without null
public static Option<Transform> GetParent<T>(this Transform transform)
{
return transform.parent.ToOption();
}
Unwarpping
var parentName = transform.GetParent().Unwrap() switch
{
Some<Transform> parent => parent.name,
None<Transform> => "None"
};
Serialization
This is a simple example of how to serialize a class or struct that contains Option.
[Serializable]
public struct TestStruct
{
public Option<int> Number;
public Option<string> Name;
public Option<Vector3> Position;
}
[Serializable]
public class TestClass
{
public Option<Sprite> Sprite;
public Option<List<int>> Numbers;
}
public class TestComponent : MonoBehaviour
{
public Option<TestStruct> Struct;
public Option<TestClass> Class;
}
No comments yet. Be the first!