net.dreditor.itemrolling 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.attestation.p7m +0 -0
- package/DREditor.ItemRolling.asmdef +16 -16
- package/DREditor.ItemRolling.asmdef.meta +7 -7
- package/IItemRoller.cs +29 -29
- package/IItemRoller.cs.meta +1 -1
- package/IItemRollerResponse.cs +15 -15
- package/IItemRollerResponse.cs.meta +1 -1
- package/IRepeatableRoller.cs +15 -15
- package/IRepeatableRoller.cs.meta +1 -1
- package/IRollerContainer.cs +14 -14
- package/IRollerContainer.cs.meta +1 -1
- package/ItemRollerBase.cs +46 -46
- package/ItemRollerBase.cs.meta +1 -1
- package/RepeatableRollerBase.cs +65 -65
- package/RepeatableRollerBase.cs.meta +1 -1
- package/RollerRepeatRateText.cs +85 -85
- package/RollerRepeatRateText.cs.meta +1 -1
- package/package.json +40 -35
- package/package.json.meta +7 -7
package/.attestation.p7m
ADDED
|
Binary file
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "DREditor.ItemRolling",
|
|
3
|
-
"rootNamespace": "",
|
|
4
|
-
"references": [
|
|
5
|
-
"DREditor",
|
|
6
|
-
"DREditor.TextDisplaying"
|
|
7
|
-
],
|
|
8
|
-
"includePlatforms": [],
|
|
9
|
-
"excludePlatforms": [],
|
|
10
|
-
"allowUnsafeCode": false,
|
|
11
|
-
"overrideReferences": false,
|
|
12
|
-
"precompiledReferences": [],
|
|
13
|
-
"autoReferenced": true,
|
|
14
|
-
"defineConstraints": [],
|
|
15
|
-
"versionDefines": [],
|
|
16
|
-
"noEngineReferences": false
|
|
1
|
+
{
|
|
2
|
+
"name": "DREditor.ItemRolling",
|
|
3
|
+
"rootNamespace": "",
|
|
4
|
+
"references": [
|
|
5
|
+
"DREditor",
|
|
6
|
+
"DREditor.TextDisplaying"
|
|
7
|
+
],
|
|
8
|
+
"includePlatforms": [],
|
|
9
|
+
"excludePlatforms": [],
|
|
10
|
+
"allowUnsafeCode": false,
|
|
11
|
+
"overrideReferences": false,
|
|
12
|
+
"precompiledReferences": [],
|
|
13
|
+
"autoReferenced": true,
|
|
14
|
+
"defineConstraints": [],
|
|
15
|
+
"versionDefines": [],
|
|
16
|
+
"noEngineReferences": false
|
|
17
17
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 9509528fbcea9c9409e7e7d7c4e85459
|
|
3
|
-
AssemblyDefinitionImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
userData:
|
|
6
|
-
assetBundleName:
|
|
7
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 9509528fbcea9c9409e7e7d7c4e85459
|
|
3
|
+
AssemblyDefinitionImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
userData:
|
|
6
|
+
assetBundleName:
|
|
7
|
+
assetBundleVariant:
|
package/IItemRoller.cs
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
|
|
3
|
-
namespace DREditor.ItemRolling
|
|
4
|
-
{
|
|
5
|
-
/// <summary>
|
|
6
|
-
///
|
|
7
|
-
/// </summary>
|
|
8
|
-
public interface IItemRoller
|
|
9
|
-
{
|
|
10
|
-
/// <summary>
|
|
11
|
-
///
|
|
12
|
-
/// </summary>
|
|
13
|
-
/// <param name="objects"></param>
|
|
14
|
-
/// <returns></returns>
|
|
15
|
-
object RollForItem(params object[] objects);
|
|
16
|
-
|
|
17
|
-
/// <summary>
|
|
18
|
-
///
|
|
19
|
-
/// </summary>
|
|
20
|
-
void GivePlayerRolledItem();
|
|
21
|
-
|
|
22
|
-
/// <summary>
|
|
23
|
-
///
|
|
24
|
-
/// </summary>
|
|
25
|
-
/// <typeparam name="T"></typeparam>
|
|
26
|
-
/// <param name="rolledObject"></param>
|
|
27
|
-
/// <returns></returns>
|
|
28
|
-
bool TryGetRolledObject<T>(out T rolledObject);
|
|
29
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
|
|
3
|
+
namespace DREditor.ItemRolling
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
///
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface IItemRoller
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <param name="objects"></param>
|
|
14
|
+
/// <returns></returns>
|
|
15
|
+
object RollForItem(params object[] objects);
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
void GivePlayerRolledItem();
|
|
21
|
+
|
|
22
|
+
/// <summary>
|
|
23
|
+
///
|
|
24
|
+
/// </summary>
|
|
25
|
+
/// <typeparam name="T"></typeparam>
|
|
26
|
+
/// <param name="rolledObject"></param>
|
|
27
|
+
/// <returns></returns>
|
|
28
|
+
bool TryGetRolledObject<T>(out T rolledObject);
|
|
29
|
+
}
|
|
30
30
|
}
|
package/IItemRoller.cs.meta
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: 5bfc1c241ad8d224190fb7b8012df80c
|
package/IItemRollerResponse.cs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
|
|
3
|
-
namespace DREditor.ItemRolling
|
|
4
|
-
{
|
|
5
|
-
/// <summary>
|
|
6
|
-
///
|
|
7
|
-
/// </summary>
|
|
8
|
-
public interface IItemRollerResponse
|
|
9
|
-
{
|
|
10
|
-
/// <summary>
|
|
11
|
-
///
|
|
12
|
-
/// </summary>
|
|
13
|
-
/// <param name="itemRoller"></param>
|
|
14
|
-
void InitializeForResponse(IItemRoller itemRoller);
|
|
15
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
|
|
3
|
+
namespace DREditor.ItemRolling
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
///
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface IItemRollerResponse
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <param name="itemRoller"></param>
|
|
14
|
+
void InitializeForResponse(IItemRoller itemRoller);
|
|
15
|
+
}
|
|
16
16
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: 0e448919692b84148b022ad664c80ab0
|
package/IRepeatableRoller.cs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
|
|
3
|
-
namespace DREditor.ItemRolling
|
|
4
|
-
{
|
|
5
|
-
/// <summary>
|
|
6
|
-
///
|
|
7
|
-
/// </summary>
|
|
8
|
-
public interface IRepeatableRoller : IItemRoller
|
|
9
|
-
{
|
|
10
|
-
/// <summary>
|
|
11
|
-
///
|
|
12
|
-
/// </summary>
|
|
13
|
-
/// <returns></returns>
|
|
14
|
-
float GetRepeatRate();
|
|
15
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
|
|
3
|
+
namespace DREditor.ItemRolling
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
///
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface IRepeatableRoller : IItemRoller
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <returns></returns>
|
|
14
|
+
float GetRepeatRate();
|
|
15
|
+
}
|
|
16
16
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: 53b15527318ecfb4d8c9d3db9763295e
|
package/IRollerContainer.cs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
namespace DREditor.ItemRolling
|
|
3
|
-
{
|
|
4
|
-
/// <summary>
|
|
5
|
-
///
|
|
6
|
-
/// </summary>
|
|
7
|
-
public interface IRollerContainer
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
/// <returns></returns>
|
|
13
|
-
IItemRoller GetRoller();
|
|
14
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
namespace DREditor.ItemRolling
|
|
3
|
+
{
|
|
4
|
+
/// <summary>
|
|
5
|
+
///
|
|
6
|
+
/// </summary>
|
|
7
|
+
public interface IRollerContainer
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
/// <returns></returns>
|
|
13
|
+
IItemRoller GetRoller();
|
|
14
|
+
}
|
|
15
15
|
}
|
package/IRollerContainer.cs.meta
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: c5915ea2423ce07429265b89795a45f9
|
package/ItemRollerBase.cs
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using UnityEngine;
|
|
3
|
-
|
|
4
|
-
namespace DREditor.ItemRolling
|
|
5
|
-
{
|
|
6
|
-
/// <summary>
|
|
7
|
-
///
|
|
8
|
-
/// </summary>
|
|
9
|
-
public abstract class ItemRollerBase : MonoBehaviour, IItemRoller
|
|
10
|
-
{
|
|
11
|
-
/// <inheritdoc/>
|
|
12
|
-
public virtual bool TryGetRolledObject<T>(out T rolledObject)
|
|
13
|
-
{
|
|
14
|
-
bool result = (rolledObject = GetRolledObject() is T resultObject ? resultObject : default(T)) != null;
|
|
15
|
-
|
|
16
|
-
return ReportElse(result,
|
|
17
|
-
$"ALERT: The request to get the rolled item failed because it was not of the expected type!" +
|
|
18
|
-
$"\nANALYSIS: Expected type: {typeof(T).Name} : Got type: {GetRolledObject().GetType().Name}");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/// <summary>
|
|
22
|
-
///
|
|
23
|
-
/// </summary>
|
|
24
|
-
/// <param name="condition"></param>
|
|
25
|
-
/// <param name="message"></param>
|
|
26
|
-
/// <returns></returns>
|
|
27
|
-
protected virtual bool ReportElse(bool condition, string message)
|
|
28
|
-
{
|
|
29
|
-
if (!condition)
|
|
30
|
-
Debug.Log(message);
|
|
31
|
-
|
|
32
|
-
return condition;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/// <summary>
|
|
36
|
-
///
|
|
37
|
-
/// </summary>
|
|
38
|
-
/// <returns></returns>
|
|
39
|
-
protected abstract object GetRolledObject();
|
|
40
|
-
|
|
41
|
-
/// <inheritdoc/>
|
|
42
|
-
public abstract object RollForItem(params object[] objects);
|
|
43
|
-
|
|
44
|
-
/// <inheritdoc/>
|
|
45
|
-
public abstract void GivePlayerRolledItem();
|
|
46
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using UnityEngine;
|
|
3
|
+
|
|
4
|
+
namespace DREditor.ItemRolling
|
|
5
|
+
{
|
|
6
|
+
/// <summary>
|
|
7
|
+
///
|
|
8
|
+
/// </summary>
|
|
9
|
+
public abstract class ItemRollerBase : MonoBehaviour, IItemRoller
|
|
10
|
+
{
|
|
11
|
+
/// <inheritdoc/>
|
|
12
|
+
public virtual bool TryGetRolledObject<T>(out T rolledObject)
|
|
13
|
+
{
|
|
14
|
+
bool result = (rolledObject = GetRolledObject() is T resultObject ? resultObject : default(T)) != null;
|
|
15
|
+
|
|
16
|
+
return ReportElse(result,
|
|
17
|
+
$"ALERT: The request to get the rolled item failed because it was not of the expected type!" +
|
|
18
|
+
$"\nANALYSIS: Expected type: {typeof(T).Name} : Got type: {GetRolledObject().GetType().Name}");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/// <summary>
|
|
22
|
+
///
|
|
23
|
+
/// </summary>
|
|
24
|
+
/// <param name="condition"></param>
|
|
25
|
+
/// <param name="message"></param>
|
|
26
|
+
/// <returns></returns>
|
|
27
|
+
protected virtual bool ReportElse(bool condition, string message)
|
|
28
|
+
{
|
|
29
|
+
if (!condition)
|
|
30
|
+
Debug.Log(message);
|
|
31
|
+
|
|
32
|
+
return condition;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
/// <returns></returns>
|
|
39
|
+
protected abstract object GetRolledObject();
|
|
40
|
+
|
|
41
|
+
/// <inheritdoc/>
|
|
42
|
+
public abstract object RollForItem(params object[] objects);
|
|
43
|
+
|
|
44
|
+
/// <inheritdoc/>
|
|
45
|
+
public abstract void GivePlayerRolledItem();
|
|
46
|
+
}
|
|
47
47
|
}
|
package/ItemRollerBase.cs.meta
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: 156b80d051ca08e49a21de7f65745c0c
|
package/RepeatableRollerBase.cs
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using UnityEngine;
|
|
3
|
-
using UnityEngine.Events;
|
|
4
|
-
|
|
5
|
-
namespace DREditor.ItemRolling
|
|
6
|
-
{
|
|
7
|
-
/// <summary>
|
|
8
|
-
///
|
|
9
|
-
/// </summary>
|
|
10
|
-
public abstract class RepeatableRollerBase : ItemRollerBase, IRepeatableRoller
|
|
11
|
-
{
|
|
12
|
-
[Header("")]
|
|
13
|
-
[Divider]
|
|
14
|
-
[Header("")]
|
|
15
|
-
[SerializeField] protected UnityEvent onRepeatPull;
|
|
16
|
-
|
|
17
|
-
[Header("")]
|
|
18
|
-
[SerializeField] protected UnityEvent onNewPull;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/// <inheritdoc/>
|
|
22
|
-
public virtual float GetRepeatRate() => CalculateBaseRepeatRate();
|
|
23
|
-
|
|
24
|
-
/// <summary>
|
|
25
|
-
///
|
|
26
|
-
/// </summary>
|
|
27
|
-
/// <returns></returns>
|
|
28
|
-
protected abstract float CalculateBaseRepeatRate();
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/// <summary>
|
|
32
|
-
///
|
|
33
|
-
/// </summary>
|
|
34
|
-
/// <param name="item"></param>
|
|
35
|
-
/// <returns></returns>
|
|
36
|
-
protected abstract bool PlayerOwnsItem(object item);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/// <inheritdoc/>
|
|
40
|
-
public override void GivePlayerRolledItem()
|
|
41
|
-
{
|
|
42
|
-
if (GetRolledObject() == null)
|
|
43
|
-
return;
|
|
44
|
-
|
|
45
|
-
InvokePulledType();
|
|
46
|
-
|
|
47
|
-
AddItemToInventory();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/// <summary>
|
|
51
|
-
///
|
|
52
|
-
/// </summary>
|
|
53
|
-
protected virtual void InvokePulledType()
|
|
54
|
-
{
|
|
55
|
-
if (PlayerOwnsItem(GetRolledObject()))
|
|
56
|
-
onRepeatPull?.Invoke();
|
|
57
|
-
else
|
|
58
|
-
onNewPull?.Invoke();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/// <summary>
|
|
62
|
-
///
|
|
63
|
-
/// </summary>
|
|
64
|
-
protected abstract void AddItemToInventory();
|
|
65
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using UnityEngine;
|
|
3
|
+
using UnityEngine.Events;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.ItemRolling
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
public abstract class RepeatableRollerBase : ItemRollerBase, IRepeatableRoller
|
|
11
|
+
{
|
|
12
|
+
[Header("")]
|
|
13
|
+
[Divider]
|
|
14
|
+
[Header("")]
|
|
15
|
+
[SerializeField] protected UnityEvent onRepeatPull;
|
|
16
|
+
|
|
17
|
+
[Header("")]
|
|
18
|
+
[SerializeField] protected UnityEvent onNewPull;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/// <inheritdoc/>
|
|
22
|
+
public virtual float GetRepeatRate() => CalculateBaseRepeatRate();
|
|
23
|
+
|
|
24
|
+
/// <summary>
|
|
25
|
+
///
|
|
26
|
+
/// </summary>
|
|
27
|
+
/// <returns></returns>
|
|
28
|
+
protected abstract float CalculateBaseRepeatRate();
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/// <summary>
|
|
32
|
+
///
|
|
33
|
+
/// </summary>
|
|
34
|
+
/// <param name="item"></param>
|
|
35
|
+
/// <returns></returns>
|
|
36
|
+
protected abstract bool PlayerOwnsItem(object item);
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/// <inheritdoc/>
|
|
40
|
+
public override void GivePlayerRolledItem()
|
|
41
|
+
{
|
|
42
|
+
if (GetRolledObject() == null)
|
|
43
|
+
return;
|
|
44
|
+
|
|
45
|
+
InvokePulledType();
|
|
46
|
+
|
|
47
|
+
AddItemToInventory();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
///
|
|
52
|
+
/// </summary>
|
|
53
|
+
protected virtual void InvokePulledType()
|
|
54
|
+
{
|
|
55
|
+
if (PlayerOwnsItem(GetRolledObject()))
|
|
56
|
+
onRepeatPull?.Invoke();
|
|
57
|
+
else
|
|
58
|
+
onNewPull?.Invoke();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
protected abstract void AddItemToInventory();
|
|
65
|
+
}
|
|
66
66
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: 371fccd7bf84b8e4eb2d51c5e3a8a20a
|
package/RollerRepeatRateText.cs
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.EventObjects;
|
|
3
|
-
using DREditor.TextDisplaying;
|
|
4
|
-
using UnityEngine;
|
|
5
|
-
|
|
6
|
-
namespace DREditor.ItemRolling
|
|
7
|
-
{
|
|
8
|
-
/// <summary>
|
|
9
|
-
///
|
|
10
|
-
/// </summary>
|
|
11
|
-
[ClassHeader(nameof(DisplayFormattedString) +
|
|
12
|
-
"\n\n")]
|
|
13
|
-
public class RollerRepeatRateText : DisplayFormattedString
|
|
14
|
-
{
|
|
15
|
-
/// <summary>
|
|
16
|
-
///
|
|
17
|
-
/// </summary>
|
|
18
|
-
[Header("")]
|
|
19
|
-
[Divider]
|
|
20
|
-
[Tooltip("")]
|
|
21
|
-
[SerializeField] protected BaseValueWithEvent paidAmount = null;
|
|
22
|
-
|
|
23
|
-
/// <summary>
|
|
24
|
-
///
|
|
25
|
-
/// </summary>
|
|
26
|
-
[Tooltip("")]
|
|
27
|
-
[SerializeField] protected bool useAssignedRoller;
|
|
28
|
-
|
|
29
|
-
/// <summary>
|
|
30
|
-
///
|
|
31
|
-
/// </summary>
|
|
32
|
-
[ShowIf(nameof(UsingAssignedRoller))]
|
|
33
|
-
[Tooltip("")]
|
|
34
|
-
[SerializeField] protected ItemRollerBase assignableRoller;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/// <summary>
|
|
38
|
-
///
|
|
39
|
-
/// </summary>
|
|
40
|
-
protected IItemRoller roller;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
/// <summary>
|
|
44
|
-
///
|
|
45
|
-
/// </summary>
|
|
46
|
-
/// <returns></returns>
|
|
47
|
-
protected virtual bool UsingAssignedRoller() => useAssignedRoller;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
protected virtual void Start() => Display();
|
|
51
|
-
|
|
52
|
-
protected virtual void OnEnable() => paidAmount.AddListener(OnUpdated);
|
|
53
|
-
|
|
54
|
-
protected virtual void OnDisable() => paidAmount.RemoveListener(OnUpdated);
|
|
55
|
-
|
|
56
|
-
/// <summary>
|
|
57
|
-
///
|
|
58
|
-
/// </summary>
|
|
59
|
-
protected virtual void OnUpdated() => Display();
|
|
60
|
-
|
|
61
|
-
/// <summary>
|
|
62
|
-
///
|
|
63
|
-
/// </summary>
|
|
64
|
-
/// <returns></returns>
|
|
65
|
-
protected override object GetObjectToBeFormatted() =>
|
|
66
|
-
GetRoller() is IRepeatableRoller repeatable ? repeatable.GetRepeatRate() : -1;
|
|
67
|
-
|
|
68
|
-
/// <summary>
|
|
69
|
-
///
|
|
70
|
-
/// </summary>
|
|
71
|
-
/// <returns></returns>
|
|
72
|
-
protected virtual IItemRoller GetRoller() => UsingAssignedRoller() ? GetAssignedRoller() : GetParentRoller();
|
|
73
|
-
|
|
74
|
-
/// <summary>
|
|
75
|
-
///
|
|
76
|
-
/// </summary>
|
|
77
|
-
/// <returns></returns>
|
|
78
|
-
protected virtual IItemRoller GetAssignedRoller() => assignableRoller != null ? assignableRoller : GetParentRoller();
|
|
79
|
-
|
|
80
|
-
/// <summary>
|
|
81
|
-
///
|
|
82
|
-
/// </summary>
|
|
83
|
-
/// <returns></returns>
|
|
84
|
-
protected virtual IItemRoller GetParentRoller() => roller ??= GetComponentInParent<IRollerContainer>().GetRoller();
|
|
85
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.TextDisplaying;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace DREditor.ItemRolling
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
///
|
|
10
|
+
/// </summary>
|
|
11
|
+
[ClassHeader(nameof(DisplayFormattedString) +
|
|
12
|
+
"\n\n")]
|
|
13
|
+
public class RollerRepeatRateText : DisplayFormattedString
|
|
14
|
+
{
|
|
15
|
+
/// <summary>
|
|
16
|
+
///
|
|
17
|
+
/// </summary>
|
|
18
|
+
[Header("")]
|
|
19
|
+
[Divider]
|
|
20
|
+
[Tooltip("")]
|
|
21
|
+
[SerializeField] protected BaseValueWithEvent paidAmount = null;
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Tooltip("")]
|
|
27
|
+
[SerializeField] protected bool useAssignedRoller;
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
///
|
|
31
|
+
/// </summary>
|
|
32
|
+
[ShowIf(nameof(UsingAssignedRoller))]
|
|
33
|
+
[Tooltip("")]
|
|
34
|
+
[SerializeField] protected ItemRollerBase assignableRoller;
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/// <summary>
|
|
38
|
+
///
|
|
39
|
+
/// </summary>
|
|
40
|
+
protected IItemRoller roller;
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/// <summary>
|
|
44
|
+
///
|
|
45
|
+
/// </summary>
|
|
46
|
+
/// <returns></returns>
|
|
47
|
+
protected virtual bool UsingAssignedRoller() => useAssignedRoller;
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
protected virtual void Start() => Display();
|
|
51
|
+
|
|
52
|
+
protected virtual void OnEnable() => paidAmount.AddListener(OnUpdated);
|
|
53
|
+
|
|
54
|
+
protected virtual void OnDisable() => paidAmount.RemoveListener(OnUpdated);
|
|
55
|
+
|
|
56
|
+
/// <summary>
|
|
57
|
+
///
|
|
58
|
+
/// </summary>
|
|
59
|
+
protected virtual void OnUpdated() => Display();
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
/// <returns></returns>
|
|
65
|
+
protected override object GetObjectToBeFormatted() =>
|
|
66
|
+
GetRoller() is IRepeatableRoller repeatable ? repeatable.GetRepeatRate() : -1;
|
|
67
|
+
|
|
68
|
+
/// <summary>
|
|
69
|
+
///
|
|
70
|
+
/// </summary>
|
|
71
|
+
/// <returns></returns>
|
|
72
|
+
protected virtual IItemRoller GetRoller() => UsingAssignedRoller() ? GetAssignedRoller() : GetParentRoller();
|
|
73
|
+
|
|
74
|
+
/// <summary>
|
|
75
|
+
///
|
|
76
|
+
/// </summary>
|
|
77
|
+
/// <returns></returns>
|
|
78
|
+
protected virtual IItemRoller GetAssignedRoller() => assignableRoller != null ? assignableRoller : GetParentRoller();
|
|
79
|
+
|
|
80
|
+
/// <summary>
|
|
81
|
+
///
|
|
82
|
+
/// </summary>
|
|
83
|
+
/// <returns></returns>
|
|
84
|
+
protected virtual IItemRoller GetParentRoller() => roller ??= GetComponentInParent<IRollerContainer>().GetRoller();
|
|
85
|
+
}
|
|
86
86
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
1
|
+
fileFormatVersion: 2
|
|
2
2
|
guid: a3bc5debeae46af489942e13ff71a127
|
package/package.json
CHANGED
|
@@ -1,35 +1,40 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "net.dreditor.itemrolling",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"displayName": "DREditor Item Rolling",
|
|
5
|
-
"description": "The beta for DREditor. A tool to create death game style projects without having to code.",
|
|
6
|
-
"unity": "6000.4",
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"net.dreditor.core": "0.1.
|
|
9
|
-
"net.dreditor.textdisplaying": "0.1.
|
|
10
|
-
},
|
|
11
|
-
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
13
|
-
},
|
|
14
|
-
"author": {
|
|
15
|
-
"name": "Benjamin \"Sweden\" Jillson",
|
|
16
|
-
"email": "dreditortool@gmail.com",
|
|
17
|
-
"url": "https://dreditor.net"
|
|
18
|
-
},
|
|
19
|
-
"keywords": [
|
|
20
|
-
"editor",
|
|
21
|
-
"tool",
|
|
22
|
-
"dreditor"
|
|
23
|
-
],
|
|
24
|
-
"samples": [
|
|
25
|
-
{
|
|
26
|
-
"displayName": "Samples",
|
|
27
|
-
"description": "",
|
|
28
|
-
"path": "Samples~"
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
"documentationUrl": "https://dreditor.net",
|
|
32
|
-
"license": "Apache-2.0",
|
|
33
|
-
"licensesUrl": "https://dreditor.net/docs/LICENSE.html",
|
|
34
|
-
"changelogUrl": "https://dreditor.net/docs/CHANGELOG.html"
|
|
35
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "net.dreditor.itemrolling",
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"displayName": "DREditor Item Rolling",
|
|
5
|
+
"description": "The beta for DREditor. A tool to create death game style projects without having to code.",
|
|
6
|
+
"unity": "6000.4",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"net.dreditor.core": "0.1.7",
|
|
9
|
+
"net.dreditor.textdisplaying": "0.1.7"
|
|
10
|
+
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "Benjamin \"Sweden\" Jillson",
|
|
16
|
+
"email": "dreditortool@gmail.com",
|
|
17
|
+
"url": "https://dreditor.net"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"editor",
|
|
21
|
+
"tool",
|
|
22
|
+
"dreditor"
|
|
23
|
+
],
|
|
24
|
+
"samples": [
|
|
25
|
+
{
|
|
26
|
+
"displayName": "Samples",
|
|
27
|
+
"description": "",
|
|
28
|
+
"path": "Samples~"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"documentationUrl": "https://dreditor.net",
|
|
32
|
+
"license": "Apache-2.0",
|
|
33
|
+
"licensesUrl": "https://dreditor.net/docs/LICENSE.html",
|
|
34
|
+
"changelogUrl": "https://dreditor.net/docs/CHANGELOG.html",
|
|
35
|
+
"repository": {
|
|
36
|
+
"url": "https://github.com/CertifiedSharp/DREditor",
|
|
37
|
+
"type": "git",
|
|
38
|
+
"revision": "14ca252fbb33eb6f53557ecaed1c10902877698f"
|
|
39
|
+
}
|
|
40
|
+
}
|
package/package.json.meta
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 626ae316d46166a4ba568386c0ad607c
|
|
3
|
-
TextScriptImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
userData:
|
|
6
|
-
assetBundleName:
|
|
7
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 626ae316d46166a4ba568386c0ad607c
|
|
3
|
+
TextScriptImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
userData:
|
|
6
|
+
assetBundleName:
|
|
7
|
+
assetBundleVariant:
|