generated from maxartz15/template-unity-package
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
57 changed files
with
746 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
# Change Log: | ||
|
||
## 0.1.0 | ||
## 1.0.0 | ||
|
||
- Start Project: | ||
- ... | ||
- Base project. |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,43 @@ | ||
# [COMPANYNAME]() - PACKAGENAME | ||
|
||
Description. | ||
# ScriptableData | ||
## Data | ||
ScriptableData stores runtime data to be accessed by scripts that reference the ScriptableObject. It has a OnValueChangedEvent to subscribe when data changes. | ||
With this workflow you can remove dependencies and increase flexibility. | ||
### Extendable Data: | ||
```C# | ||
public class ScriptableData<T0> : ScriptableObject {} | ||
public class ScriptableData<T0, T1> : ScriptableObject {} | ||
public class ScriptableData<T0, T1, T2> : ScriptableObject {} | ||
public class ScriptableData<T0, T1, T2, T3> : ScriptableObject {} | ||
``` | ||
### Example: | ||
```C# | ||
[CreateAssetMenu(menuName = "ScriptableData/Data/Vector3", order = 147)] | ||
public class SDVector3 : ScriptableData<Vector3> {} | ||
``` | ||
## Events | ||
ScriptableEvent does not contain any runtime data but can be used to send events (with data) around. | ||
### Base Event | ||
```C# | ||
[CreateAssetMenu(menuName = "ScriptableData/Event/Event", order = 147)] | ||
public class ScriptableEvent : ScriptableObject {} | ||
``` | ||
### Extendable Events: | ||
```C# | ||
public class ScriptableEvent<T0> : ScriptableObject {} | ||
public class ScriptableEvent<T0, T1> : ScriptableObject {} | ||
public class ScriptableEvent<T0, T1, T2> : ScriptableObject {} | ||
public class ScriptableEvent<T0, T1, T2, T3> : ScriptableObject {} | ||
``` | ||
### Example: | ||
```C# | ||
[CreateAssetMenu(menuName = "ScriptableData/Event/Vector3", order = 147)] | ||
public class SEVector3 : ScriptableEvent<Vector3> {} | ||
``` | ||
|
||
## Install | ||
|
||
[Installing from a Git URL](https://docs.unity3d.com/Manual/upm-ui-giturl.html) | ||
|
||
[Unitypackage](https://github.com/COMPANYNAME/PACKAGENAME/releases) | ||
|
||
[Unitypackage](https://github.com/maxartz15/ScriptableData/releases) | ||
|
||
## LICENSE | ||
|
||
Overall package is licensed under [MIT](/LICENSE.md), unless otherwise noted in the [3rd party licenses](/THIRD%20PARTY%20NOTICES.md) file and/or source code. |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,255 @@ | ||
using System; | ||
using UnityEngine; | ||
|
||
namespace ScriptableData | ||
{ | ||
public class ScriptableData<T0> : ScriptableObject | ||
{ | ||
public event Action<T0> OnValueChangedEvent; | ||
|
||
private T0 _value; | ||
public T0 Value | ||
{ | ||
get | ||
{ | ||
return _value; | ||
} | ||
set | ||
{ | ||
_value = value; | ||
OnValueChangedEvent?.Invoke(_value); | ||
} | ||
} | ||
|
||
public void SetWithoutNotify(T0 value) | ||
{ | ||
_value = value; | ||
} | ||
|
||
public void Invoke(T0 value) | ||
{ | ||
_value = value; | ||
OnValueChangedEvent?.Invoke(value); | ||
} | ||
} | ||
|
||
public class ScriptableData<T0, T1> : ScriptableObject | ||
{ | ||
public event Action<T0, T1> OnValueChangedEvent; | ||
|
||
private T0 _value; | ||
public T0 Value | ||
{ | ||
get | ||
{ | ||
return _value; | ||
} | ||
set | ||
{ | ||
_value = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1); | ||
} | ||
} | ||
|
||
private T1 _value1; | ||
public T1 Value1 | ||
{ | ||
get | ||
{ | ||
return _value1; | ||
} | ||
set | ||
{ | ||
_value1 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1); | ||
} | ||
} | ||
|
||
public void SetWithoutNotify(T0 value) | ||
{ | ||
_value = value; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
} | ||
|
||
public void Invoke(T0 value, T1 value1) | ||
{ | ||
Value = value; | ||
Value1 = value1; | ||
OnValueChangedEvent?.Invoke(value, value1); | ||
} | ||
} | ||
|
||
public class ScriptableData<T0, T1, T2> : ScriptableObject | ||
{ | ||
public event Action<T0, T1, T2> OnValueChangedEvent; | ||
|
||
private T0 _value; | ||
public T0 Value | ||
{ | ||
get | ||
{ | ||
return _value; | ||
} | ||
set | ||
{ | ||
_value = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2); | ||
} | ||
} | ||
|
||
private T1 _value1; | ||
public T1 Value1 | ||
{ | ||
get | ||
{ | ||
return _value1; | ||
} | ||
set | ||
{ | ||
_value1 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2); | ||
} | ||
} | ||
|
||
private T2 _value2; | ||
public T2 Value2 | ||
{ | ||
get | ||
{ | ||
return _value2; | ||
} | ||
set | ||
{ | ||
_value2 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2); | ||
} | ||
} | ||
|
||
public void SetWithoutNotify(T0 value) | ||
{ | ||
_value = value; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1, T2 value2) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
_value2 = value2; | ||
} | ||
|
||
public void Invoke(T0 value, T1 value1, T2 value2) | ||
{ | ||
Value = value; | ||
Value1 = value1; | ||
Value2 = value2; | ||
OnValueChangedEvent?.Invoke(value, value1, value2); | ||
} | ||
} | ||
|
||
public class ScriptableData<T0, T1, T2, T3> : ScriptableObject | ||
{ | ||
public event Action<T0, T1, T2, T3> OnValueChangedEvent; | ||
|
||
private T0 _value; | ||
public T0 Value | ||
{ | ||
get | ||
{ | ||
return _value; | ||
} | ||
set | ||
{ | ||
_value = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2, _value3); | ||
} | ||
} | ||
|
||
private T1 _value1; | ||
public T1 Value1 | ||
{ | ||
get | ||
{ | ||
return _value1; | ||
} | ||
set | ||
{ | ||
_value1 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2, _value3); | ||
} | ||
} | ||
|
||
private T2 _value2; | ||
public T2 Value2 | ||
{ | ||
get | ||
{ | ||
return _value2; | ||
} | ||
set | ||
{ | ||
_value2 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2, _value3); | ||
} | ||
} | ||
|
||
private T3 _value3; | ||
public T3 Value3 | ||
{ | ||
get | ||
{ | ||
return _value3; | ||
} | ||
set | ||
{ | ||
_value3 = value; | ||
OnValueChangedEvent?.Invoke(_value, _value1, _value2, _value3); | ||
} | ||
} | ||
|
||
public void SetWithoutNotify(T0 value) | ||
{ | ||
_value = value; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1, T2 value2) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
_value2 = value2; | ||
} | ||
|
||
public void SetWithoutNotify(T0 value, T1 value1, T2 value2, T3 value3) | ||
{ | ||
_value = value; | ||
_value1 = value1; | ||
_value2 = value2; | ||
_value3 = value3; | ||
} | ||
|
||
public void Invoke(T0 value, T1 value1, T2 value2, T3 value3) | ||
{ | ||
Value = value; | ||
Value1 = value1; | ||
Value2 = value2; | ||
Value3 = value3; | ||
OnValueChangedEvent?.Invoke(value, value1, value2, value3); | ||
} | ||
} | ||
} |
Oops, something went wrong.