net.dreditor.dialoguemechanics.automaticline 0.0.0-stage → 0.1.6

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.
@@ -0,0 +1,115 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using System.Collections;
4
+ using UnityEngine;
5
+ using UnityEngine.InputSystem;
6
+
7
+ namespace DREditor.DialogueMechanics.AutomaticLine
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader(nameof(AutoMechanicBase) +
13
+ "\n\n")]
14
+ public class AutoMechanic : AutoMechanicBase
15
+ {
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ [Tooltip("")]
20
+ [SerializeField] protected InputActionReference submit = null;
21
+
22
+
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ [Header("")]
27
+ [Divider]
28
+ [Tooltip("")]
29
+ [SerializeField] protected BoolWithEvent inMenu = null;
30
+
31
+ /// <summary>
32
+ ///
33
+ /// </summary>
34
+ [Tooltip("")]
35
+ [SerializeField] protected BoolWithEvent inFastForwardMode = null;
36
+
37
+ /// <summary>
38
+ ///
39
+ /// </summary>
40
+ [Tooltip("")]
41
+ [SerializeField] protected FloatWithEvent autoWaitTime = null;
42
+
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ protected bool goingToNextLine = false;
48
+
49
+
50
+ /// <inheritdoc/>
51
+ public override bool InAutoMode()
52
+ {
53
+ if (inFastForwardMode != null && inFastForwardMode.Value)
54
+ return false;
55
+
56
+ return base.InAutoMode();
57
+ }
58
+
59
+ /// <inheritdoc/>
60
+ public override IEnumerator WaitForAutoMechanicToResolve()
61
+ {
62
+ goingToNextLine = false;
63
+
64
+ StartCoroutine(AutoMechanicProcess());
65
+
66
+ yield return WhileAutoModeIsntFinished();
67
+
68
+ yield break;
69
+ }
70
+
71
+ /// <inheritdoc/>
72
+ protected override IEnumerator AutoMechanicProcess()
73
+ {
74
+ yield return new WaitForSeconds(CalculateAutoWaitTime());
75
+
76
+ EndAutoProcess();
77
+
78
+ yield break;
79
+ }
80
+
81
+ /// <summary>
82
+ ///
83
+ /// </summary>
84
+ /// <returns></returns>
85
+ protected virtual IEnumerator WhileAutoModeIsntFinished()
86
+ {
87
+ bool clickNextInputTriggered = submit.action.triggered;
88
+
89
+ while (!goingToNextLine)
90
+ {
91
+ if ((!inMenu.Value && clickNextInputTriggered) || !inAutoMode.Value)
92
+ break;
93
+ else
94
+ yield return null;
95
+ }
96
+
97
+ yield break;
98
+ }
99
+
100
+ /// <summary>
101
+ ///
102
+ /// </summary>
103
+ /// <returns></returns>
104
+ protected virtual float CalculateAutoWaitTime() => autoWaitTime.Value;
105
+
106
+ /// <summary>
107
+ ///
108
+ /// </summary>
109
+ protected virtual void EndAutoProcess()
110
+ {
111
+ if (inAutoMode.Value)
112
+ goingToNextLine = true;
113
+ }
114
+ }
115
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 0cd74c8fd9d64464e97aee75ec03d977
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,49 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using System.Collections;
4
+ using UnityEngine;
5
+
6
+ namespace DREditor.DialogueMechanics.AutomaticLine
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ public abstract class AutoMechanicBase : MonoBehaviour
12
+ {
13
+ /// <summary>
14
+ ///
15
+ /// </summary>
16
+ [Header("")]
17
+
18
+ [Space]
19
+
20
+ [Header("")]
21
+ [Divider]
22
+ [Tooltip("")]
23
+ [SerializeField] protected BoolWithEvent inAutoMode = null;
24
+
25
+
26
+ /// <summary>
27
+ ///
28
+ /// </summary>
29
+ /// <returns></returns>
30
+ public abstract IEnumerator WaitForAutoMechanicToResolve();
31
+
32
+ /// <summary>
33
+ ///
34
+ /// </summary>
35
+ /// <returns></returns>
36
+ protected abstract IEnumerator AutoMechanicProcess();
37
+
38
+ /// <summary>
39
+ ///
40
+ /// </summary>
41
+ /// <returns></returns>
42
+ public virtual bool InAutoMode() => inAutoMode.Value;
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ public virtual void ToggleAutoMode() => inAutoMode.SetValue(!inAutoMode.Value);
48
+ }
49
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: f4682aa9b382fc84aa06338a3523ba2e
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,42 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Dialogues;
3
+ using DREditor.Dialogues.LineReading;
4
+ using System;
5
+ using System.Collections;
6
+ using UnityEngine;
7
+
8
+ namespace DREditor.DialogueMechanics.AutomaticLine
9
+ {
10
+ /// <summary>
11
+ ///
12
+ /// </summary>
13
+ [ClassHeader(nameof(DialogueComponent) + ", " + nameof(ILineWaitForClick) +
14
+ "\n\n")]
15
+ public class AutoMechanicLineHandler : DialogueComponent, ILineWaitForClick
16
+ {
17
+ /// <summary>
18
+ ///
19
+ /// </summary>
20
+ [Header("")]
21
+ [Divider]
22
+ [Tooltip("")]
23
+ [SerializeField] protected AutoMechanicBase AutoMechanic = null;
24
+
25
+
26
+ public virtual bool SkipOnFastForward => true;
27
+
28
+ /// <inheritdoc/>
29
+ public virtual IEnumerator LineWaitForClick<T>(DialogueBase<T> currentDialogue, Line currentLine,
30
+ Action exitParentCallback = null)
31
+ where T : Line
32
+ {
33
+ if (AutoMechanic.InAutoMode())
34
+ {
35
+ yield return AutoMechanic.WaitForAutoMechanicToResolve();
36
+
37
+ if (AutoMechanic.InAutoMode())
38
+ exitParentCallback?.Invoke();
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 1429a39a5e5323049b2c16787518aaae
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,93 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Dialogues;
3
+ using DREditor.EventObjects;
4
+ using DREditor.Services;
5
+ using UnityEngine;
6
+ using UnityEngine.InputSystem;
7
+ using static UnityEngine.InputSystem.InputAction;
8
+
9
+ namespace DREditor.DialogueMechanics.AutomaticLine
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ [ClassHeader(nameof(IToTitleScreen) +
15
+ "\n\n")]
16
+ public class AutoMechanicToggler : MonoBehaviour, IToTitleScreen
17
+ {
18
+ /// <summary>
19
+ ///
20
+ /// </summary>
21
+ [Tooltip("")]
22
+ [SerializeField] protected InputActionReference auto = null;
23
+
24
+
25
+ /// <summary>
26
+ ///
27
+ /// </summary>
28
+ [Header("")]
29
+ [Divider]
30
+ [Tooltip("")]
31
+ [SerializeField] protected AutoMechanicBase AutoMechanic = null;
32
+
33
+
34
+ /// <summary>
35
+ ///
36
+ /// </summary>
37
+ [Header("")]
38
+ [Divider]
39
+ [Tooltip("")]
40
+ [SerializeField] protected BoolWithEvent inDialogue = null;
41
+
42
+ /// <summary>
43
+ ///
44
+ /// </summary>
45
+ [Tooltip("")]
46
+ [SerializeField] protected BoolWithEvent isLeaving = null;
47
+
48
+ /// <summary>
49
+ ///
50
+ /// </summary>
51
+ [Tooltip("")]
52
+ [SerializeField] protected BoolWithEvent isUIToggled = null;
53
+
54
+ /// <summary>
55
+ ///
56
+ /// </summary>
57
+ [Tooltip("")]
58
+ [SerializeField] protected BoolWithEvent canToggleAutoMode = null;
59
+
60
+
61
+ protected virtual void Awake() => EnableToggleAbility();
62
+
63
+ /// <summary>
64
+ ///
65
+ /// </summary>
66
+ protected virtual void EnableToggleAbility() => canToggleAutoMode.SetValue(true);
67
+
68
+ protected virtual void OnEnable() => auto.action.performed += AttemptToggleAutoMode;
69
+
70
+ protected virtual void OnDisable() => auto.action.performed -= AttemptToggleAutoMode;
71
+
72
+ /// <summary>
73
+ ///
74
+ /// </summary>
75
+ /// <param name="context"></param>
76
+ protected virtual void AttemptToggleAutoMode(CallbackContext context)
77
+ {
78
+ if (GetComponentInParent<IDialogueManager>() is var dialogueManager &&
79
+ dialogueManager != ServiceLocator.GetService<IDialogueManager>())
80
+ return;
81
+
82
+ if (!inDialogue.Value || isLeaving.Value || !isUIToggled.Value || !canToggleAutoMode.Value)
83
+ return;
84
+
85
+ if (auto.action.triggered)
86
+ AutoMechanic.ToggleAutoMode();
87
+ }
88
+
89
+
90
+ /// <inheritdoc/>
91
+ public virtual void ToTitleScreen() => EnableToggleAbility();
92
+ }
93
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 6623f95ff3d5c0a43825d871a821cb04
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "DREditor.DialogueMechanics.AutomaticLine",
3
+ "rootNamespace": "",
4
+ "references": [
5
+ "Unity.InputSystem",
6
+ "Unity.TextMeshPro",
7
+ "DREditor",
8
+ "DREditor.TextDisplaying",
9
+ "DREditor.Audio",
10
+ "DREditor.Controls"
11
+ ],
12
+ "includePlatforms": [],
13
+ "excludePlatforms": [],
14
+ "allowUnsafeCode": false,
15
+ "overrideReferences": false,
16
+ "precompiledReferences": [],
17
+ "autoReferenced": true,
18
+ "defineConstraints": [],
19
+ "versionDefines": [],
20
+ "noEngineReferences": false
21
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 4ce3b6d20cb85d24bbdfc17d14bb65fd
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,20 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!114 &11400000
4
+ MonoBehaviour:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ m_GameObject: {fileID: 0}
10
+ m_Enabled: 1
11
+ m_EditorHideFlags: 0
12
+ m_Script: {fileID: 11500000, guid: 2676d67ce43133d41871e33965ed8dc2, type: 3}
13
+ m_Name: AutoWaitTime
14
+ m_EditorClassIdentifier:
15
+ debug: 0
16
+ OnChange:
17
+ m_PersistentCalls:
18
+ m_Calls: []
19
+ InitialValue: 2
20
+ _value: 0
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: a4890d6db35a8eb4092ee6f3f17ee396
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 11400000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,135 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &759533487269152807
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 759533487269152806}
12
+ - component: {fileID: 759533487269152805}
13
+ m_Layer: 0
14
+ m_Name: Auto_Mechanic_Line_Handler
15
+ m_TagString: Untagged
16
+ m_Icon: {fileID: 0}
17
+ m_NavMeshLayer: 0
18
+ m_StaticEditorFlags: 0
19
+ m_IsActive: 1
20
+ --- !u!4 &759533487269152806
21
+ Transform:
22
+ m_ObjectHideFlags: 0
23
+ m_CorrespondingSourceObject: {fileID: 0}
24
+ m_PrefabInstance: {fileID: 0}
25
+ m_PrefabAsset: {fileID: 0}
26
+ m_GameObject: {fileID: 759533487269152807}
27
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28
+ m_LocalPosition: {x: 0, y: 0, z: 0}
29
+ m_LocalScale: {x: 1, y: 1, z: 1}
30
+ m_ConstrainProportionsScale: 0
31
+ m_Children:
32
+ - {fileID: 759533487633622189}
33
+ m_Father: {fileID: 0}
34
+ m_RootOrder: 0
35
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36
+ --- !u!114 &759533487269152805
37
+ MonoBehaviour:
38
+ m_ObjectHideFlags: 0
39
+ m_CorrespondingSourceObject: {fileID: 0}
40
+ m_PrefabInstance: {fileID: 0}
41
+ m_PrefabAsset: {fileID: 0}
42
+ m_GameObject: {fileID: 759533487269152807}
43
+ m_Enabled: 1
44
+ m_EditorHideFlags: 0
45
+ m_Script: {fileID: 11500000, guid: 1429a39a5e5323049b2c16787518aaae, type: 3}
46
+ m_Name:
47
+ m_EditorClassIdentifier:
48
+ AutoMechanic: {fileID: 759533488254947606}
49
+ --- !u!1001 &3531036669596142559
50
+ PrefabInstance:
51
+ m_ObjectHideFlags: 0
52
+ serializedVersion: 2
53
+ m_Modification:
54
+ m_TransformParent: {fileID: 759533487269152806}
55
+ m_Modifications:
56
+ - target: {fileID: 4290422508731133809, guid: 1565ff4319f319941b9f40ef21bd1be7,
57
+ type: 3}
58
+ propertyPath: m_Name
59
+ value: Auto_Mechanic_Toggler
60
+ objectReference: {fileID: 0}
61
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
62
+ type: 3}
63
+ propertyPath: m_RootOrder
64
+ value: 0
65
+ objectReference: {fileID: 0}
66
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
67
+ type: 3}
68
+ propertyPath: m_LocalPosition.x
69
+ value: 0
70
+ objectReference: {fileID: 0}
71
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
72
+ type: 3}
73
+ propertyPath: m_LocalPosition.y
74
+ value: 0
75
+ objectReference: {fileID: 0}
76
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
77
+ type: 3}
78
+ propertyPath: m_LocalPosition.z
79
+ value: 0
80
+ objectReference: {fileID: 0}
81
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
82
+ type: 3}
83
+ propertyPath: m_LocalRotation.w
84
+ value: 1
85
+ objectReference: {fileID: 0}
86
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
87
+ type: 3}
88
+ propertyPath: m_LocalRotation.x
89
+ value: 0
90
+ objectReference: {fileID: 0}
91
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
92
+ type: 3}
93
+ propertyPath: m_LocalRotation.y
94
+ value: 0
95
+ objectReference: {fileID: 0}
96
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
97
+ type: 3}
98
+ propertyPath: m_LocalRotation.z
99
+ value: 0
100
+ objectReference: {fileID: 0}
101
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
102
+ type: 3}
103
+ propertyPath: m_LocalEulerAnglesHint.x
104
+ value: 0
105
+ objectReference: {fileID: 0}
106
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
107
+ type: 3}
108
+ propertyPath: m_LocalEulerAnglesHint.y
109
+ value: 0
110
+ objectReference: {fileID: 0}
111
+ - target: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
112
+ type: 3}
113
+ propertyPath: m_LocalEulerAnglesHint.z
114
+ value: 0
115
+ objectReference: {fileID: 0}
116
+ m_RemovedComponents: []
117
+ m_SourcePrefab: {fileID: 100100000, guid: 1565ff4319f319941b9f40ef21bd1be7, type: 3}
118
+ --- !u!4 &759533487633622189 stripped
119
+ Transform:
120
+ m_CorrespondingSourceObject: {fileID: 4290422508731133810, guid: 1565ff4319f319941b9f40ef21bd1be7,
121
+ type: 3}
122
+ m_PrefabInstance: {fileID: 3531036669596142559}
123
+ m_PrefabAsset: {fileID: 0}
124
+ --- !u!114 &759533488254947606 stripped
125
+ MonoBehaviour:
126
+ m_CorrespondingSourceObject: {fileID: 4290422509756160713, guid: 1565ff4319f319941b9f40ef21bd1be7,
127
+ type: 3}
128
+ m_PrefabInstance: {fileID: 3531036669596142559}
129
+ m_PrefabAsset: {fileID: 0}
130
+ m_GameObject: {fileID: 0}
131
+ m_Enabled: 1
132
+ m_EditorHideFlags: 0
133
+ m_Script: {fileID: 11500000, guid: 7e22bd97f99fcb44ab6ffc9f58a2dada, type: 3}
134
+ m_Name:
135
+ m_EditorClassIdentifier:
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: c469bbf2167f50946a0d4bf21944d786
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,144 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &4290422508731133809
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 4290422508731133810}
12
+ - component: {fileID: 4290422508731133811}
13
+ m_Layer: 0
14
+ m_Name: Auto_Mechanic_Toggler
15
+ m_TagString: Untagged
16
+ m_Icon: {fileID: 0}
17
+ m_NavMeshLayer: 0
18
+ m_StaticEditorFlags: 0
19
+ m_IsActive: 1
20
+ --- !u!4 &4290422508731133810
21
+ Transform:
22
+ m_ObjectHideFlags: 0
23
+ m_CorrespondingSourceObject: {fileID: 0}
24
+ m_PrefabInstance: {fileID: 0}
25
+ m_PrefabAsset: {fileID: 0}
26
+ m_GameObject: {fileID: 4290422508731133809}
27
+ serializedVersion: 2
28
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29
+ m_LocalPosition: {x: 0, y: 0, z: 0}
30
+ m_LocalScale: {x: 1, y: 1, z: 1}
31
+ m_ConstrainProportionsScale: 0
32
+ m_Children:
33
+ - {fileID: 4290422509756160712}
34
+ m_Father: {fileID: 0}
35
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36
+ --- !u!114 &4290422508731133811
37
+ MonoBehaviour:
38
+ m_ObjectHideFlags: 0
39
+ m_CorrespondingSourceObject: {fileID: 0}
40
+ m_PrefabInstance: {fileID: 0}
41
+ m_PrefabAsset: {fileID: 0}
42
+ m_GameObject: {fileID: 4290422508731133809}
43
+ m_Enabled: 1
44
+ m_EditorHideFlags: 0
45
+ m_Script: {fileID: 11500000, guid: 6623f95ff3d5c0a43825d871a821cb04, type: 3}
46
+ m_Name:
47
+ m_EditorClassIdentifier:
48
+ auto: {fileID: 5244787972025070874, guid: 5db4984853779e74db3e8e6c0ebb48c9, type: 3}
49
+ AutoMechanic: {fileID: 4290422509756160713}
50
+ inDialogue: {fileID: 11400000, guid: b2839fc222ba4bc4eb8bcfee73b0c53d, type: 2}
51
+ isLeaving: {fileID: 11400000, guid: 6476014b37bc7ed44aea40908531e07e, type: 2}
52
+ isUIToggled: {fileID: 11400000, guid: 2231ef8b04f447143ab180406df8436f, type: 2}
53
+ canToggleAutoMode: {fileID: 11400000, guid: 7fd7ee5fc6a3f1a4abee1f495c07c520, type: 2}
54
+ --- !u!1001 &4281068701189782727
55
+ PrefabInstance:
56
+ m_ObjectHideFlags: 0
57
+ serializedVersion: 2
58
+ m_Modification:
59
+ serializedVersion: 3
60
+ m_TransformParent: {fileID: 4290422508731133810}
61
+ m_Modifications:
62
+ - target: {fileID: 64121075489744392, guid: 18d7ceff36419bf41a6b095bc7671a79,
63
+ type: 3}
64
+ propertyPath: m_Name
65
+ value: Text_Voice_Auto_Mechanic
66
+ objectReference: {fileID: 0}
67
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
68
+ type: 3}
69
+ propertyPath: m_RootOrder
70
+ value: 0
71
+ objectReference: {fileID: 0}
72
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
73
+ type: 3}
74
+ propertyPath: m_LocalPosition.x
75
+ value: 0
76
+ objectReference: {fileID: 0}
77
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
78
+ type: 3}
79
+ propertyPath: m_LocalPosition.y
80
+ value: 0
81
+ objectReference: {fileID: 0}
82
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
83
+ type: 3}
84
+ propertyPath: m_LocalPosition.z
85
+ value: 0
86
+ objectReference: {fileID: 0}
87
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
88
+ type: 3}
89
+ propertyPath: m_LocalRotation.w
90
+ value: 1
91
+ objectReference: {fileID: 0}
92
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
93
+ type: 3}
94
+ propertyPath: m_LocalRotation.x
95
+ value: -0
96
+ objectReference: {fileID: 0}
97
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
98
+ type: 3}
99
+ propertyPath: m_LocalRotation.y
100
+ value: -0
101
+ objectReference: {fileID: 0}
102
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
103
+ type: 3}
104
+ propertyPath: m_LocalRotation.z
105
+ value: -0
106
+ objectReference: {fileID: 0}
107
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
108
+ type: 3}
109
+ propertyPath: m_LocalEulerAnglesHint.x
110
+ value: 0
111
+ objectReference: {fileID: 0}
112
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
113
+ type: 3}
114
+ propertyPath: m_LocalEulerAnglesHint.y
115
+ value: 0
116
+ objectReference: {fileID: 0}
117
+ - target: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
118
+ type: 3}
119
+ propertyPath: m_LocalEulerAnglesHint.z
120
+ value: 0
121
+ objectReference: {fileID: 0}
122
+ m_RemovedComponents: []
123
+ m_RemovedGameObjects: []
124
+ m_AddedGameObjects: []
125
+ m_AddedComponents: []
126
+ m_SourcePrefab: {fileID: 100100000, guid: 18d7ceff36419bf41a6b095bc7671a79, type: 3}
127
+ --- !u!4 &4290422509756160712 stripped
128
+ Transform:
129
+ m_CorrespondingSourceObject: {fileID: 64121075489744399, guid: 18d7ceff36419bf41a6b095bc7671a79,
130
+ type: 3}
131
+ m_PrefabInstance: {fileID: 4281068701189782727}
132
+ m_PrefabAsset: {fileID: 0}
133
+ --- !u!114 &4290422509756160713 stripped
134
+ MonoBehaviour:
135
+ m_CorrespondingSourceObject: {fileID: 64121075489744398, guid: 18d7ceff36419bf41a6b095bc7671a79,
136
+ type: 3}
137
+ m_PrefabInstance: {fileID: 4281068701189782727}
138
+ m_PrefabAsset: {fileID: 0}
139
+ m_GameObject: {fileID: 0}
140
+ m_Enabled: 1
141
+ m_EditorHideFlags: 0
142
+ m_Script: {fileID: 11500000, guid: 7e22bd97f99fcb44ab6ffc9f58a2dada, type: 3}
143
+ m_Name:
144
+ m_EditorClassIdentifier:
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 1565ff4319f319941b9f40ef21bd1be7
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,20 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!114 &11400000
4
+ MonoBehaviour:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ m_GameObject: {fileID: 0}
10
+ m_Enabled: 1
11
+ m_EditorHideFlags: 0
12
+ m_Script: {fileID: 11500000, guid: ba8f98926693a40d88c7ad327c8a8f3b, type: 3}
13
+ m_Name: CanToggleAutoMode
14
+ m_EditorClassIdentifier:
15
+ debug: 0
16
+ OnChange:
17
+ m_PersistentCalls:
18
+ m_Calls: []
19
+ InitialValue: 0
20
+ _value: 0
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 7fd7ee5fc6a3f1a4abee1f495c07c520
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 11400000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,20 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!114 &11400000
4
+ MonoBehaviour:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ m_GameObject: {fileID: 0}
10
+ m_Enabled: 1
11
+ m_EditorHideFlags: 0
12
+ m_Script: {fileID: 11500000, guid: 2676d67ce43133d41871e33965ed8dc2, type: 3}
13
+ m_Name: MaxAutoWaitTime
14
+ m_EditorClassIdentifier:
15
+ debug: 0
16
+ OnChange:
17
+ m_PersistentCalls:
18
+ m_Calls: []
19
+ InitialValue: 3
20
+ _value: 0
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: f6f4e4f8d9e49be44be453b1b70751dd
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 11400000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,53 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &64121075489744392
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 64121075489744399}
12
+ - component: {fileID: 64121075489744398}
13
+ m_Layer: 0
14
+ m_Name: Text_Voice_Auto_Mechanic
15
+ m_TagString: Untagged
16
+ m_Icon: {fileID: 0}
17
+ m_NavMeshLayer: 0
18
+ m_StaticEditorFlags: 0
19
+ m_IsActive: 1
20
+ --- !u!4 &64121075489744399
21
+ Transform:
22
+ m_ObjectHideFlags: 0
23
+ m_CorrespondingSourceObject: {fileID: 0}
24
+ m_PrefabInstance: {fileID: 0}
25
+ m_PrefabAsset: {fileID: 0}
26
+ m_GameObject: {fileID: 64121075489744392}
27
+ serializedVersion: 2
28
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
29
+ m_LocalPosition: {x: 0, y: 0, z: 0}
30
+ m_LocalScale: {x: 1, y: 1, z: 1}
31
+ m_ConstrainProportionsScale: 0
32
+ m_Children: []
33
+ m_Father: {fileID: 0}
34
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35
+ --- !u!114 &64121075489744398
36
+ MonoBehaviour:
37
+ m_ObjectHideFlags: 0
38
+ m_CorrespondingSourceObject: {fileID: 0}
39
+ m_PrefabInstance: {fileID: 0}
40
+ m_PrefabAsset: {fileID: 0}
41
+ m_GameObject: {fileID: 64121075489744392}
42
+ m_Enabled: 1
43
+ m_EditorHideFlags: 0
44
+ m_Script: {fileID: 11500000, guid: 7e22bd97f99fcb44ab6ffc9f58a2dada, type: 3}
45
+ m_Name:
46
+ m_EditorClassIdentifier:
47
+ inAutoMode: {fileID: 11400000, guid: 7edc3b51fd46cc047923b4534164a812, type: 2}
48
+ submit: {fileID: 392368643174621059, guid: 5db4984853779e74db3e8e6c0ebb48c9, type: 3}
49
+ inMenu: {fileID: 11400000, guid: ecf132a66f959974d84a1d2292242bdf, type: 2}
50
+ inFastForwardMode: {fileID: 11400000, guid: 38c7cacea6166a140ab9c9d7d72ff637, type: 2}
51
+ autoWaitTime: {fileID: 11400000, guid: a4890d6db35a8eb4092ee6f3f17ee396, type: 2}
52
+ lengthTextMultiplier: 0.05
53
+ maxAutoWaitTime: {fileID: 11400000, guid: f6f4e4f8d9e49be44be453b1b70751dd, type: 2}
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 18d7ceff36419bf41a6b095bc7671a79
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/Samples.meta ADDED
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: f64a17b8b35b9e54eb6a3123dad698ee
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,48 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using DREditor.Services;
4
+ using DREditor.TextDisplaying;
5
+ using UnityEngine;
6
+
7
+ namespace DREditor.DialogueMechanics.AutomaticLine
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader(nameof(AutoMechanic) + ", " + nameof(AutoMechanicBase) +
13
+ "\n\n")]
14
+ public class TextBoxAutoMechanic : AutoMechanic
15
+ {
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ [Header("")]
20
+
21
+ [Space]
22
+
23
+ [Header("")]
24
+ [Divider]
25
+ [Tooltip("")]
26
+ [SerializeField] protected float lengthTextMultiplier = 0.05f;
27
+
28
+ /// <summary>
29
+ ///
30
+ /// </summary>
31
+ [Tooltip("")]
32
+ [SerializeField] protected FloatWithEvent maxAutoWaitTime = null;
33
+
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ /// <returns></returns>
39
+ protected override float CalculateAutoWaitTime()
40
+ {
41
+ float waitTime = ServiceLocator.GetService<ITextDisplayerHandler>().GetTextBox().text.Length * lengthTextMultiplier;
42
+
43
+ waitTime = waitTime > maxAutoWaitTime.Value ? maxAutoWaitTime.Value : waitTime;
44
+
45
+ return waitTime;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 5c3b1487a4fc49b4890e27e9d70be25b
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,30 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Audio;
3
+ using DREditor.Services;
4
+ using System.Collections;
5
+ using UnityEngine;
6
+
7
+ namespace DREditor.DialogueMechanics.AutomaticLine
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader(nameof(TextBoxAutoMechanic) + ", " + nameof(AutoMechanic) + ", " + nameof(AutoMechanicBase) +
13
+ "\n\n")]
14
+ public class TextVoiceAutoMechanic : TextBoxAutoMechanic
15
+ {
16
+ /// <inheritdoc/>
17
+ protected override IEnumerator AutoMechanicProcess()
18
+ {
19
+ yield return new WaitForSeconds(CalculateAutoWaitTime());
20
+
21
+ if (ServiceLocator.GetService<VOManagerBase>().VoicePlaying())
22
+ while (ServiceLocator.GetService<VOManagerBase>().VoicePlaying())
23
+ yield return null;
24
+
25
+ EndAutoProcess();
26
+
27
+ yield break;
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 7e22bd97f99fcb44ab6ffc9f58a2dada
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/package.json CHANGED
@@ -1,6 +1,38 @@
1
- {
2
- "name": "net.dreditor.dialoguemechanics.automaticline",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
1
+ {
2
+ "name": "net.dreditor.dialoguemechanics.automaticline",
3
+ "version": "0.1.6",
4
+ "displayName": "DREditor Dialogue Mechanics Automatic Line",
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
+ "com.unity.inputsystem": "1.19.0",
9
+ "com.unity.ugui": "2.0.0",
10
+ "net.dreditor.core": "0.1.6",
11
+ "net.dreditor.textdisplaying": "0.1.6",
12
+ "net.dreditor.audio": "0.1.6"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "author": {
18
+ "name": "Benjamin \"Sweden\" Jillson",
19
+ "email": "dreditortool@gmail.com",
20
+ "url": "https://dreditor.net"
21
+ },
22
+ "keywords": [
23
+ "editor",
24
+ "tool",
25
+ "dreditor"
26
+ ],
27
+ "samples": [
28
+ {
29
+ "displayName": "Samples",
30
+ "description": "",
31
+ "path": "Samples~"
32
+ }
33
+ ],
34
+ "documentationUrl": "https://dreditor.net",
35
+ "license": "Apache-2.0",
36
+ "licensesUrl": "https://dreditor.net/docs/LICENSE.html",
37
+ "changelogUrl": "https://dreditor.net/docs/CHANGELOG.html"
38
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 194c15b4436e0cc4eae519ea1ff68864
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.