net.dreditor.minigames.ca 0.1.6 → 0.1.8
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/ArgumentBuilder.cs +80 -80
- package/ArgumentBuilder.cs.meta +11 -11
- package/ArgumentPage.cs +36 -36
- package/ArgumentPage.cs.meta +11 -11
- package/ArgumentQuestionPanel.cs +136 -136
- package/ArgumentQuestionPanel.cs.meta +11 -11
- package/ClosingArgumentSettings.cs +23 -23
- package/ClosingArgumentSettings.cs.meta +11 -11
- package/ClosingArgumentStockBase.cs +250 -250
- package/ClosingArgumentStockBase.cs.meta +11 -11
- package/DREditor.Minigames.CA.asmdef +24 -24
- package/DREditor.Minigames.CA.asmdef.meta +7 -7
- package/Editor/ArgumentBuilderEditor.cs +139 -139
- package/Editor/ArgumentBuilderEditor.cs.meta +12 -12
- package/Editor/ArgumentPageEditor.cs +283 -283
- package/Editor/ArgumentPageEditor.cs.meta +11 -11
- package/Editor/ArgumentPanelEditor.cs +141 -141
- package/Editor/ArgumentPanelEditor.cs.meta +11 -11
- package/Editor/ArgumentStockEditor.cs +167 -167
- package/Editor/ArgumentStockEditor.cs.meta +11 -11
- package/Editor/CAHandyFields.cs +32 -32
- package/Editor/CAHandyFields.cs.meta +1 -1
- package/Editor/DREditor.Minigames.CA.Editor.asmdef +20 -20
- package/Editor/DREditor.Minigames.CA.Editor.asmdef.meta +7 -7
- package/Editor/PreviewableArgumentBuilderEditor.cs +286 -286
- package/Editor/PreviewableArgumentBuilderEditor.cs.meta +12 -12
- package/Editor.meta +8 -8
- package/IActiveStockPanel.cs +36 -36
- package/IActiveStockPanel.cs.meta +11 -11
- package/IArgumentPreviewInitializer.cs +19 -19
- package/IArgumentPreviewInitializer.cs.meta +11 -11
- package/IClosingArgumentListener.cs +17 -17
- package/IClosingArgumentListener.cs.meta +11 -11
- package/IClosingArgumentPagePreviewer.cs +16 -16
- package/IClosingArgumentPagePreviewer.cs.meta +11 -11
- package/IClosingArgumentResetable.cs +15 -15
- package/IClosingArgumentResetable.cs.meta +11 -11
- package/ILockPreview.cs +16 -16
- package/ILockPreview.cs.meta +11 -11
- package/IPageListener.cs +17 -17
- package/IPageListener.cs.meta +11 -11
- package/IPagesInitializer.cs +17 -17
- package/IPagesInitializer.cs.meta +11 -11
- package/ITotalStockListener.cs +16 -16
- package/ITotalStockListener.cs.meta +11 -11
- package/Managers/ArgumentInitializerBase.cs +17 -17
- package/Managers/ArgumentInitializerBase.cs.meta +11 -11
- package/Managers/ClosingArgumentInitializer.cs +128 -128
- package/Managers/ClosingArgumentInitializer.cs.meta +10 -10
- package/Managers/ClosingArgumentManager.cs +269 -269
- package/Managers/ClosingArgumentManager.cs.meta +10 -10
- package/Managers/ClosingArgumentManagerBase.cs +146 -146
- package/Managers/ClosingArgumentManagerBase.cs.meta +11 -11
- package/Managers/ClosingArgumentPreviewInitializer.cs +80 -80
- package/Managers/ClosingArgumentPreviewInitializer.cs.meta +17 -17
- package/Managers.meta +8 -8
- package/Pages/IPageInitializer.cs +23 -23
- package/Pages/IPageInitializer.cs.meta +11 -11
- package/Pages/MainPagePreviewer.cs +66 -66
- package/Pages/MainPagePreviewer.cs.meta +11 -11
- package/Pages/MiniPageInitializer.cs +144 -144
- package/Pages/MiniPageInitializer.cs.meta +11 -11
- package/Pages/MoveMainPagesComponent.cs +163 -163
- package/Pages/MoveMainPagesComponent.cs.meta +11 -11
- package/Pages/MovePageComponent.cs +104 -104
- package/Pages/MovePageComponent.cs.meta +11 -11
- package/Pages/MovePageHandler.cs +215 -215
- package/Pages/MovePageHandler.cs.meta +11 -11
- package/Pages/PageArrows.cs +124 -124
- package/Pages/PageArrows.cs.meta +11 -11
- package/Pages/PageCounter.cs +65 -65
- package/Pages/PageCounter.cs.meta +11 -11
- package/Pages/PageHandlerBase.cs +30 -30
- package/Pages/PageHandlerBase.cs.meta +11 -11
- package/Pages/PageInitializer.cs +195 -195
- package/Pages/PageInitializer.cs.meta +11 -11
- package/Pages/PageInitializerBase.cs +65 -65
- package/Pages/PageInitializerBase.cs.meta +11 -11
- package/Pages/PagePreviewer.cs +57 -57
- package/Pages/PagePreviewer.cs.meta +11 -11
- package/Pages.meta +8 -8
- package/PanelInitializerBase.cs +147 -147
- package/PanelInitializerBase.cs.meta +11 -11
- package/Panels/ClosingArgumentReticle.cs +169 -169
- package/Panels/ClosingArgumentReticle.cs.meta +11 -11
- package/Panels/ClosingArgumentShooter.cs +153 -153
- package/Panels/ClosingArgumentShooter.cs.meta +11 -11
- package/Panels/CorrectMiniPanelUpdater.cs +45 -45
- package/Panels/CorrectMiniPanelUpdater.cs.meta +11 -11
- package/Panels/CorrectPanelUpdater.cs +24 -24
- package/Panels/CorrectPanelUpdater.cs.meta +11 -11
- package/Panels/PanelInitializer.cs +51 -51
- package/Panels/PanelInitializer.cs.meta +11 -11
- package/Panels/PreviewPanelInitializer.cs +58 -58
- package/Panels/PreviewPanelInitializer.cs.meta +11 -11
- package/Panels/QuestionPanel.cs +143 -143
- package/Panels/QuestionPanel.cs.meta +11 -11
- package/Panels/QuestionPanelBase.cs +68 -68
- package/Panels/QuestionPanelBase.cs.meta +11 -11
- package/Panels.meta +8 -8
- package/{Samples → Samples~}/CACameraEnabled.asset +21 -21
- package/{Samples → Samples~}/CACameraEnabled.asset.meta +8 -8
- package/{Samples → Samples~}/CAPanelTarget.asset +25 -25
- package/{Samples → Samples~}/CAPanelTarget.asset.meta +8 -8
- package/{Samples → Samples~}/CAResult.asset +21 -21
- package/{Samples → Samples~}/CAResult.asset.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden Top.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden Top.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown Top.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown Top.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown.anim +582 -582
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Mystery Square.controller +188 -188
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Mystery Square.controller.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square.meta +8 -8
- package/{Samples → Samples~}/CA_Animations.meta +8 -8
- package/{Samples → Samples~}/Managers/CA_Camera.prefab +159 -159
- package/{Samples → Samples~}/Managers/CA_Camera.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Camera_Canvas.prefab +195 -195
- package/{Samples → Samples~}/Managers/CA_Camera_Canvas.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Shell.prefab +267 -267
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Template.prefab +613 -613
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Shell.prefab +443 -443
- package/{Samples → Samples~}/Managers/CA_Manager_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Template.prefab +709 -709
- package/{Samples → Samples~}/Managers/CA_Manager_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Result_UI_ETemplate.prefab +433 -433
- package/{Samples → Samples~}/Managers/CA_Result_UI_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers.meta +8 -8
- package/{Samples → Samples~}/Pages/CA_Colliders.prefab +305 -305
- package/{Samples → Samples~}/Pages/CA_Colliders.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Main_Page_Arrows_ETemplate.prefab +221 -221
- package/{Samples → Samples~}/Pages/CA_Main_Page_Arrows_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Shell.prefab +435 -435
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Template.prefab +220 -220
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Reticle_ETemplate.prefab +337 -337
- package/{Samples → Samples~}/Pages/CA_Reticle_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Reticle_Shooter_Template.prefab +148 -148
- package/{Samples → Samples~}/Pages/CA_Reticle_Shooter_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Mystery_Square_ETemplate.prefab +857 -857
- package/{Samples → Samples~}/Pages/Mystery_Square_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Page_Add_Ons_ETemplate.prefab +203 -203
- package/{Samples → Samples~}/Pages/Page_Add_Ons_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Page_ETemplate.prefab +256 -256
- package/{Samples → Samples~}/Pages/Page_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages.meta +8 -8
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Shell.prefab +110 -110
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Template.prefab +731 -731
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_ETemplate.prefab +427 -427
- package/{Samples → Samples~}/Stocks/CA_Stock_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Shell.prefab +61 -61
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Template.prefab +1017 -1017
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks.meta +8 -8
- package/{Samples → Samples~}/UI/CA_Trial_Timer_Canvas_Template.prefab +229 -229
- package/{Samples → Samples~}/UI/CA_Trial_Timer_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Background_ETemplate.prefab +86 -86
- package/{Samples → Samples~}/UI/CA_UI_Background_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Pages_Decorations_Template.prefab +109 -109
- package/{Samples → Samples~}/UI/CA_UI_Pages_Decorations_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Stock_Panel_ETemplate.prefab +464 -464
- package/{Samples → Samples~}/UI/CA_UI_Stock_Panel_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Template.prefab +261 -261
- package/{Samples → Samples~}/UI/CA_UI_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/Page_Counter_UI_ETemplate.prefab +831 -831
- package/{Samples → Samples~}/UI/Page_Counter_UI_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI.meta +8 -8
- package/Stocks/ActiveStockPanel.cs +177 -177
- package/Stocks/ActiveStockPanel.cs.meta +11 -11
- package/Stocks/ActiveStockPanelBase.cs +80 -80
- package/Stocks/ActiveStockPanelBase.cs.meta +11 -11
- package/Stocks/ActiveStockPanelStateable.cs +142 -142
- package/Stocks/ActiveStockPanelStateable.cs.meta +11 -11
- package/Stocks/ClosingArgumentStock.cs +120 -120
- package/Stocks/ClosingArgumentStock.cs.meta +11 -11
- package/Stocks/ShootCAStockVisibility.cs +133 -133
- package/Stocks/ShootCAStockVisibility.cs.meta +1 -1
- package/Stocks/StockParent.cs +127 -127
- package/Stocks/StockParent.cs.meta +11 -11
- package/Stocks.meta +8 -8
- package/package.json +46 -41
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
|
@@ -1,284 +1,284 @@
|
|
|
1
|
-
// Original Author: Henry (Meowpixel)
|
|
2
|
-
// Updated/Reworked by: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
3
|
-
using System;
|
|
4
|
-
using UnityEditor;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.Minigames.CA.Editor
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
[Serializable]
|
|
13
|
-
public class ArgumentPageEditor
|
|
14
|
-
{
|
|
15
|
-
/// <summary>
|
|
16
|
-
///
|
|
17
|
-
/// </summary>
|
|
18
|
-
protected ArgumentPanelEditor questionPanelDisplayer = new();
|
|
19
|
-
|
|
20
|
-
/// <summary>
|
|
21
|
-
///
|
|
22
|
-
/// </summary>
|
|
23
|
-
protected Action callback;
|
|
24
|
-
|
|
25
|
-
/// <summary>
|
|
26
|
-
///
|
|
27
|
-
/// </summary>
|
|
28
|
-
protected int stockCounter;
|
|
29
|
-
|
|
30
|
-
/// <summary>
|
|
31
|
-
///
|
|
32
|
-
/// </summary>
|
|
33
|
-
protected int currentStock = 1;
|
|
34
|
-
|
|
35
|
-
/// <summary>
|
|
36
|
-
///
|
|
37
|
-
/// </summary>
|
|
38
|
-
protected int totalStock = 0;
|
|
39
|
-
|
|
40
|
-
/// <summary>
|
|
41
|
-
///
|
|
42
|
-
/// </summary>
|
|
43
|
-
protected ArgumentBuilder builder;
|
|
44
|
-
|
|
45
|
-
/// <summary>
|
|
46
|
-
///
|
|
47
|
-
/// </summary>
|
|
48
|
-
protected ArgumentPage page;
|
|
49
|
-
|
|
50
|
-
/// <summary>
|
|
51
|
-
///
|
|
52
|
-
/// </summary>
|
|
53
|
-
protected int pageIndex;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
/// <summary>
|
|
57
|
-
///
|
|
58
|
-
/// </summary>
|
|
59
|
-
public virtual void Reset() => stockCounter = 0;
|
|
60
|
-
|
|
61
|
-
/// <summary>
|
|
62
|
-
///
|
|
63
|
-
/// </summary>
|
|
64
|
-
/// <param name="totalStock"></param>
|
|
65
|
-
public virtual void Initialize(int totalStock) => this.totalStock = totalStock;
|
|
66
|
-
|
|
67
|
-
/// <summary>
|
|
68
|
-
///
|
|
69
|
-
/// </summary>
|
|
70
|
-
/// <param name="currentStock"></param>
|
|
71
|
-
public virtual void SetCurrentStock(int currentStock) => this.currentStock = currentStock;
|
|
72
|
-
|
|
73
|
-
/// <summary>
|
|
74
|
-
///
|
|
75
|
-
/// </summary>
|
|
76
|
-
/// <returns></returns>
|
|
77
|
-
public virtual int GetCurrentStockIndex() => currentStock;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
/// <summary>
|
|
81
|
-
///
|
|
82
|
-
/// </summary>
|
|
83
|
-
/// <param name="builder"></param>
|
|
84
|
-
/// <param name="page"></param>
|
|
85
|
-
/// <param name="pageIndex"></param>
|
|
86
|
-
/// <param name="callback"></param>
|
|
87
|
-
public virtual void DisplayPage(ArgumentBuilder builder, ArgumentPage page, int pageIndex, Action callback)
|
|
88
|
-
{
|
|
89
|
-
this.builder = builder;
|
|
90
|
-
|
|
91
|
-
this.callback = callback;
|
|
92
|
-
|
|
93
|
-
this.page = page;
|
|
94
|
-
|
|
95
|
-
this.pageIndex = pageIndex;
|
|
96
|
-
|
|
97
|
-
DisplayPageInfo();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
#region Show Page Info
|
|
101
|
-
|
|
102
|
-
/// <summary>
|
|
103
|
-
///
|
|
104
|
-
/// </summary>
|
|
105
|
-
protected virtual void DisplayPageInfo()
|
|
106
|
-
{
|
|
107
|
-
using (new EditorGUILayout.VerticalScope())
|
|
108
|
-
{
|
|
109
|
-
DisplayPageSprite();
|
|
110
|
-
|
|
111
|
-
DisplayQuestionPanels();
|
|
112
|
-
|
|
113
|
-
DisplayPageEndButtons();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/// <summary>
|
|
118
|
-
///
|
|
119
|
-
/// </summary>
|
|
120
|
-
protected virtual void DisplayPageSprite()
|
|
121
|
-
{
|
|
122
|
-
GUILayout.Space(5);
|
|
123
|
-
|
|
124
|
-
using (new EditorGUILayout.VerticalScope())
|
|
125
|
-
{
|
|
126
|
-
using (new EditorGUILayout.HorizontalScope())
|
|
127
|
-
{
|
|
128
|
-
GUILayout.Label(
|
|
129
|
-
new GUIContent(
|
|
130
|
-
"Page Sprite:",
|
|
131
|
-
"Sprite used as the visual for this argument page in the Closing Argument builder."),
|
|
132
|
-
GUILayout.Width(120));
|
|
133
|
-
|
|
134
|
-
using (new EditorGUILayout.VerticalScope())
|
|
135
|
-
{
|
|
136
|
-
EditorGUI.BeginChangeCheck();
|
|
137
|
-
|
|
138
|
-
page.SetPageSprite(
|
|
139
|
-
(Sprite)EditorGUILayout.ObjectField(page.pageSprite, typeof(Sprite), false, GUILayout.Width(120)));
|
|
140
|
-
|
|
141
|
-
if (EditorGUI.EndChangeCheck())
|
|
142
|
-
callback?.Invoke();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
if (page.pageSprite != null)
|
|
147
|
-
GUILayout.Label(
|
|
148
|
-
AssetPreview.GetAssetPreview(page.pageSprite),
|
|
149
|
-
GUILayout.MaxWidth(500),
|
|
150
|
-
GUILayout.MaxHeight(281.25f));
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/// <summary>
|
|
155
|
-
///
|
|
156
|
-
/// </summary>
|
|
157
|
-
protected virtual void DisplayQuestionPanels()
|
|
158
|
-
{
|
|
159
|
-
if (page.questionPanels.Count > 0)
|
|
160
|
-
{
|
|
161
|
-
GUILayout.Space(20);
|
|
162
|
-
|
|
163
|
-
for (int j = 0; j < page.questionPanels.Count; j++)
|
|
164
|
-
DisplayQuestionPanel(j);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/// <summary>
|
|
169
|
-
///
|
|
170
|
-
/// </summary>
|
|
171
|
-
/// <param name="j"></param>
|
|
172
|
-
protected virtual void DisplayQuestionPanel(int j)
|
|
173
|
-
{
|
|
174
|
-
using (new EditorGUILayout.VerticalScope())
|
|
175
|
-
{
|
|
176
|
-
stockCounter++;
|
|
177
|
-
|
|
178
|
-
EditorGUILayout.LabelField($" Stock {stockCounter}", EditorStyles.boldLabel);
|
|
179
|
-
|
|
180
|
-
using (new EditorGUILayout.HorizontalScope("Box"))
|
|
181
|
-
{
|
|
182
|
-
using (new EditorGUILayout.VerticalScope())
|
|
183
|
-
{
|
|
184
|
-
questionPanelDisplayer.DisplayPanel(page.questionPanels[j], callback);
|
|
185
|
-
|
|
186
|
-
GUILayout.Space(7.5f);
|
|
187
|
-
|
|
188
|
-
// Max width set so that flexible space works correctly and the 'Remove Stock' button is always visible
|
|
189
|
-
using (new EditorGUILayout.HorizontalScope(GUILayout.MaxWidth(Screen.width - 50)))
|
|
190
|
-
{
|
|
191
|
-
GUILayout.FlexibleSpace();
|
|
192
|
-
|
|
193
|
-
if (GUILayout.Button(new GUIContent("Remove Stock", "Remove the current stock panel."),
|
|
194
|
-
GUILayout.Width(100)))
|
|
195
|
-
{
|
|
196
|
-
// get index of removed stock
|
|
197
|
-
int stockIndex = builder.GetStockIndex(page.questionPanels[j]);
|
|
198
|
-
|
|
199
|
-
page.questionPanels.RemoveAt(j);
|
|
200
|
-
|
|
201
|
-
callback?.Invoke();
|
|
202
|
-
|
|
203
|
-
if (currentStock != 1 && stockIndex < currentStock)
|
|
204
|
-
currentStock--;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
GUILayout.Space(2.5f);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
GUILayout.Space(10);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/// <summary>
|
|
217
|
-
///
|
|
218
|
-
/// </summary>
|
|
219
|
-
protected virtual void DisplayPageEndButtons()
|
|
220
|
-
{
|
|
221
|
-
// Max width set so that flexible space works correctly and the 'Remove Page' button is always visible
|
|
222
|
-
using (new EditorGUILayout.HorizontalScope(GUILayout.MaxWidth(Screen.width - 42)))
|
|
223
|
-
{
|
|
224
|
-
if (page.questionPanels.Count >= 0 && totalStock < 10)
|
|
225
|
-
{
|
|
226
|
-
if (GUILayout.Button(new GUIContent("Add Stock", "Add a new question panel to this page."),
|
|
227
|
-
GUILayout.Width(100)))
|
|
228
|
-
{
|
|
229
|
-
page.AddNewPanel();
|
|
230
|
-
|
|
231
|
-
callback?.Invoke();
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
GUILayout.FlexibleSpace();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
#endregion
|
|
240
|
-
|
|
241
|
-
#region Display Preview
|
|
242
|
-
|
|
243
|
-
/// <summary>
|
|
244
|
-
///
|
|
245
|
-
/// </summary>
|
|
246
|
-
/// <param name="previewCallback"></param>
|
|
247
|
-
public virtual void DisplayPreviewStockButtons(Action previewCallback)
|
|
248
|
-
{
|
|
249
|
-
string previewLabel = totalStock == 0 ?
|
|
250
|
-
"No Stock to Preview" :
|
|
251
|
-
$"Previewing stock {currentStock}/{totalStock}";
|
|
252
|
-
|
|
253
|
-
GUILayout.Label(previewLabel);
|
|
254
|
-
|
|
255
|
-
GUI.enabled = !(currentStock <= 1);
|
|
256
|
-
|
|
257
|
-
StockButtonPreview("<", -1, previewCallback);
|
|
258
|
-
|
|
259
|
-
GUI.enabled = !(currentStock >= totalStock);
|
|
260
|
-
|
|
261
|
-
StockButtonPreview(">", 1, previewCallback);
|
|
262
|
-
|
|
263
|
-
GUI.enabled = true;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/// <summary>
|
|
267
|
-
///
|
|
268
|
-
/// </summary>
|
|
269
|
-
/// <param name="buttonText"></param>
|
|
270
|
-
/// <param name="addStock"></param>
|
|
271
|
-
/// <param name="previewCallback"></param>
|
|
272
|
-
protected virtual void StockButtonPreview(string buttonText, int addStock, Action previewCallback)
|
|
273
|
-
{
|
|
274
|
-
if (GUILayout.Button(buttonText))
|
|
275
|
-
{
|
|
276
|
-
currentStock += addStock;
|
|
277
|
-
|
|
278
|
-
previewCallback?.Invoke();
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
#endregion
|
|
283
|
-
}
|
|
1
|
+
// Original Author: Henry (Meowpixel)
|
|
2
|
+
// Updated/Reworked by: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
3
|
+
using System;
|
|
4
|
+
using UnityEditor;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.Minigames.CA.Editor
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
[Serializable]
|
|
13
|
+
public class ArgumentPageEditor
|
|
14
|
+
{
|
|
15
|
+
/// <summary>
|
|
16
|
+
///
|
|
17
|
+
/// </summary>
|
|
18
|
+
protected ArgumentPanelEditor questionPanelDisplayer = new();
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
protected Action callback;
|
|
24
|
+
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
protected int stockCounter;
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
protected int currentStock = 1;
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
protected int totalStock = 0;
|
|
39
|
+
|
|
40
|
+
/// <summary>
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
protected ArgumentBuilder builder;
|
|
44
|
+
|
|
45
|
+
/// <summary>
|
|
46
|
+
///
|
|
47
|
+
/// </summary>
|
|
48
|
+
protected ArgumentPage page;
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
///
|
|
52
|
+
/// </summary>
|
|
53
|
+
protected int pageIndex;
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/// <summary>
|
|
57
|
+
///
|
|
58
|
+
/// </summary>
|
|
59
|
+
public virtual void Reset() => stockCounter = 0;
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
/// <param name="totalStock"></param>
|
|
65
|
+
public virtual void Initialize(int totalStock) => this.totalStock = totalStock;
|
|
66
|
+
|
|
67
|
+
/// <summary>
|
|
68
|
+
///
|
|
69
|
+
/// </summary>
|
|
70
|
+
/// <param name="currentStock"></param>
|
|
71
|
+
public virtual void SetCurrentStock(int currentStock) => this.currentStock = currentStock;
|
|
72
|
+
|
|
73
|
+
/// <summary>
|
|
74
|
+
///
|
|
75
|
+
/// </summary>
|
|
76
|
+
/// <returns></returns>
|
|
77
|
+
public virtual int GetCurrentStockIndex() => currentStock;
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/// <summary>
|
|
81
|
+
///
|
|
82
|
+
/// </summary>
|
|
83
|
+
/// <param name="builder"></param>
|
|
84
|
+
/// <param name="page"></param>
|
|
85
|
+
/// <param name="pageIndex"></param>
|
|
86
|
+
/// <param name="callback"></param>
|
|
87
|
+
public virtual void DisplayPage(ArgumentBuilder builder, ArgumentPage page, int pageIndex, Action callback)
|
|
88
|
+
{
|
|
89
|
+
this.builder = builder;
|
|
90
|
+
|
|
91
|
+
this.callback = callback;
|
|
92
|
+
|
|
93
|
+
this.page = page;
|
|
94
|
+
|
|
95
|
+
this.pageIndex = pageIndex;
|
|
96
|
+
|
|
97
|
+
DisplayPageInfo();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
#region Show Page Info
|
|
101
|
+
|
|
102
|
+
/// <summary>
|
|
103
|
+
///
|
|
104
|
+
/// </summary>
|
|
105
|
+
protected virtual void DisplayPageInfo()
|
|
106
|
+
{
|
|
107
|
+
using (new EditorGUILayout.VerticalScope())
|
|
108
|
+
{
|
|
109
|
+
DisplayPageSprite();
|
|
110
|
+
|
|
111
|
+
DisplayQuestionPanels();
|
|
112
|
+
|
|
113
|
+
DisplayPageEndButtons();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/// <summary>
|
|
118
|
+
///
|
|
119
|
+
/// </summary>
|
|
120
|
+
protected virtual void DisplayPageSprite()
|
|
121
|
+
{
|
|
122
|
+
GUILayout.Space(5);
|
|
123
|
+
|
|
124
|
+
using (new EditorGUILayout.VerticalScope())
|
|
125
|
+
{
|
|
126
|
+
using (new EditorGUILayout.HorizontalScope())
|
|
127
|
+
{
|
|
128
|
+
GUILayout.Label(
|
|
129
|
+
new GUIContent(
|
|
130
|
+
"Page Sprite:",
|
|
131
|
+
"Sprite used as the visual for this argument page in the Closing Argument builder."),
|
|
132
|
+
GUILayout.Width(120));
|
|
133
|
+
|
|
134
|
+
using (new EditorGUILayout.VerticalScope())
|
|
135
|
+
{
|
|
136
|
+
EditorGUI.BeginChangeCheck();
|
|
137
|
+
|
|
138
|
+
page.SetPageSprite(
|
|
139
|
+
(Sprite)EditorGUILayout.ObjectField(page.pageSprite, typeof(Sprite), false, GUILayout.Width(120)));
|
|
140
|
+
|
|
141
|
+
if (EditorGUI.EndChangeCheck())
|
|
142
|
+
callback?.Invoke();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if (page.pageSprite != null)
|
|
147
|
+
GUILayout.Label(
|
|
148
|
+
AssetPreview.GetAssetPreview(page.pageSprite),
|
|
149
|
+
GUILayout.MaxWidth(500),
|
|
150
|
+
GUILayout.MaxHeight(281.25f));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// <summary>
|
|
155
|
+
///
|
|
156
|
+
/// </summary>
|
|
157
|
+
protected virtual void DisplayQuestionPanels()
|
|
158
|
+
{
|
|
159
|
+
if (page.questionPanels.Count > 0)
|
|
160
|
+
{
|
|
161
|
+
GUILayout.Space(20);
|
|
162
|
+
|
|
163
|
+
for (int j = 0; j < page.questionPanels.Count; j++)
|
|
164
|
+
DisplayQuestionPanel(j);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// <summary>
|
|
169
|
+
///
|
|
170
|
+
/// </summary>
|
|
171
|
+
/// <param name="j"></param>
|
|
172
|
+
protected virtual void DisplayQuestionPanel(int j)
|
|
173
|
+
{
|
|
174
|
+
using (new EditorGUILayout.VerticalScope())
|
|
175
|
+
{
|
|
176
|
+
stockCounter++;
|
|
177
|
+
|
|
178
|
+
EditorGUILayout.LabelField($" Stock {stockCounter}", EditorStyles.boldLabel);
|
|
179
|
+
|
|
180
|
+
using (new EditorGUILayout.HorizontalScope("Box"))
|
|
181
|
+
{
|
|
182
|
+
using (new EditorGUILayout.VerticalScope())
|
|
183
|
+
{
|
|
184
|
+
questionPanelDisplayer.DisplayPanel(page.questionPanels[j], callback);
|
|
185
|
+
|
|
186
|
+
GUILayout.Space(7.5f);
|
|
187
|
+
|
|
188
|
+
// Max width set so that flexible space works correctly and the 'Remove Stock' button is always visible
|
|
189
|
+
using (new EditorGUILayout.HorizontalScope(GUILayout.MaxWidth(Screen.width - 50)))
|
|
190
|
+
{
|
|
191
|
+
GUILayout.FlexibleSpace();
|
|
192
|
+
|
|
193
|
+
if (GUILayout.Button(new GUIContent("Remove Stock", "Remove the current stock panel."),
|
|
194
|
+
GUILayout.Width(100)))
|
|
195
|
+
{
|
|
196
|
+
// get index of removed stock
|
|
197
|
+
int stockIndex = builder.GetStockIndex(page.questionPanels[j]);
|
|
198
|
+
|
|
199
|
+
page.questionPanels.RemoveAt(j);
|
|
200
|
+
|
|
201
|
+
callback?.Invoke();
|
|
202
|
+
|
|
203
|
+
if (currentStock != 1 && stockIndex < currentStock)
|
|
204
|
+
currentStock--;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
GUILayout.Space(2.5f);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
GUILayout.Space(10);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/// <summary>
|
|
217
|
+
///
|
|
218
|
+
/// </summary>
|
|
219
|
+
protected virtual void DisplayPageEndButtons()
|
|
220
|
+
{
|
|
221
|
+
// Max width set so that flexible space works correctly and the 'Remove Page' button is always visible
|
|
222
|
+
using (new EditorGUILayout.HorizontalScope(GUILayout.MaxWidth(Screen.width - 42)))
|
|
223
|
+
{
|
|
224
|
+
if (page.questionPanels.Count >= 0 && totalStock < 10)
|
|
225
|
+
{
|
|
226
|
+
if (GUILayout.Button(new GUIContent("Add Stock", "Add a new question panel to this page."),
|
|
227
|
+
GUILayout.Width(100)))
|
|
228
|
+
{
|
|
229
|
+
page.AddNewPanel();
|
|
230
|
+
|
|
231
|
+
callback?.Invoke();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
GUILayout.FlexibleSpace();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
#endregion
|
|
240
|
+
|
|
241
|
+
#region Display Preview
|
|
242
|
+
|
|
243
|
+
/// <summary>
|
|
244
|
+
///
|
|
245
|
+
/// </summary>
|
|
246
|
+
/// <param name="previewCallback"></param>
|
|
247
|
+
public virtual void DisplayPreviewStockButtons(Action previewCallback)
|
|
248
|
+
{
|
|
249
|
+
string previewLabel = totalStock == 0 ?
|
|
250
|
+
"No Stock to Preview" :
|
|
251
|
+
$"Previewing stock {currentStock}/{totalStock}";
|
|
252
|
+
|
|
253
|
+
GUILayout.Label(previewLabel);
|
|
254
|
+
|
|
255
|
+
GUI.enabled = !(currentStock <= 1);
|
|
256
|
+
|
|
257
|
+
StockButtonPreview("<", -1, previewCallback);
|
|
258
|
+
|
|
259
|
+
GUI.enabled = !(currentStock >= totalStock);
|
|
260
|
+
|
|
261
|
+
StockButtonPreview(">", 1, previewCallback);
|
|
262
|
+
|
|
263
|
+
GUI.enabled = true;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/// <summary>
|
|
267
|
+
///
|
|
268
|
+
/// </summary>
|
|
269
|
+
/// <param name="buttonText"></param>
|
|
270
|
+
/// <param name="addStock"></param>
|
|
271
|
+
/// <param name="previewCallback"></param>
|
|
272
|
+
protected virtual void StockButtonPreview(string buttonText, int addStock, Action previewCallback)
|
|
273
|
+
{
|
|
274
|
+
if (GUILayout.Button(buttonText))
|
|
275
|
+
{
|
|
276
|
+
currentStock += addStock;
|
|
277
|
+
|
|
278
|
+
previewCallback?.Invoke();
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
#endregion
|
|
283
|
+
}
|
|
284
284
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 26ded7ef0e1dc024baf960260b43325c
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 26ded7ef0e1dc024baf960260b43325c
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|