net.dreditor.minigames.debates 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.
Files changed (513) hide show
  1. package/.attestation.p7m +0 -0
  2. package/Absorbing/AbsorbBulletModeMechanic.cs +132 -132
  3. package/Absorbing/AbsorbBulletModeMechanic.cs.meta +11 -11
  4. package/Absorbing/AbsorbInputHandler.cs +76 -76
  5. package/Absorbing/AbsorbInputHandler.cs.meta +1 -1
  6. package/Absorbing/AbsorbMechanic.cs +70 -70
  7. package/Absorbing/AbsorbMechanic.cs.meta +1 -1
  8. package/Absorbing/IPathosAnswer.cs +19 -19
  9. package/Absorbing/IPathosAnswer.cs.meta +1 -1
  10. package/Absorbing/PathosAnswerModifier.cs +33 -33
  11. package/Absorbing/PathosAnswerModifier.cs.meta +1 -1
  12. package/Absorbing/PathosEvaluator.cs +69 -69
  13. package/Absorbing/PathosEvaluator.cs.meta +11 -11
  14. package/Absorbing.meta +8 -8
  15. package/BulletAnswerModifier.cs +26 -26
  16. package/BulletAnswerModifier.cs.meta +11 -11
  17. package/BulletModeUpdater.cs +61 -61
  18. package/BulletModeUpdater.cs.meta +11 -11
  19. package/CorrectBulletHitListener.cs +36 -36
  20. package/CorrectBulletHitListener.cs.meta +1 -1
  21. package/Counters/BulletEvaluator.cs +25 -25
  22. package/Counters/BulletEvaluator.cs.meta +11 -11
  23. package/Counters/BulletEvaluatorManager.cs +221 -221
  24. package/Counters/BulletEvaluatorManager.cs.meta +11 -11
  25. package/Counters/CounterConsent.cs +86 -86
  26. package/Counters/CounterConsent.cs.meta +11 -11
  27. package/Counters/CounterHandler.cs +93 -93
  28. package/Counters/CounterHandler.cs.meta +11 -11
  29. package/Counters/CounterHandlerBase.cs +17 -17
  30. package/Counters/CounterHandlerBase.cs.meta +11 -11
  31. package/Counters/CounterType.cs +33 -33
  32. package/Counters/CounterType.cs.meta +11 -11
  33. package/Counters/CounterUIType.cs +94 -94
  34. package/Counters/CounterUIType.cs.meta +11 -11
  35. package/Counters/CounterVideo.cs +74 -74
  36. package/Counters/CounterVideo.cs.meta +11 -11
  37. package/Counters/DebateEvaluator.cs +20 -20
  38. package/Counters/DebateEvaluator.cs.meta +11 -11
  39. package/Counters.meta +8 -8
  40. package/Cycling/BulletChamberUI.cs +57 -57
  41. package/Cycling/BulletChamberUI.cs.meta +11 -11
  42. package/Cycling/BulletCycleUI.cs +204 -204
  43. package/Cycling/BulletCycleUI.cs.meta +11 -11
  44. package/Cycling/BulletCycleUISpawner.cs +122 -122
  45. package/Cycling/BulletCycleUISpawner.cs.meta +1 -1
  46. package/Cycling/BulletIndicators.cs +62 -62
  47. package/Cycling/BulletIndicators.cs.meta +11 -11
  48. package/Cycling/BulletIndicatorsBase.cs +49 -49
  49. package/Cycling/BulletIndicatorsBase.cs.meta +1 -1
  50. package/Cycling/BulletSwapper.cs +307 -307
  51. package/Cycling/BulletSwapper.cs.meta +11 -11
  52. package/Cycling/BulletTextHandler.cs +54 -54
  53. package/Cycling/BulletTextHandler.cs.meta +11 -11
  54. package/Cycling/BulletTextSwapper.cs +114 -114
  55. package/Cycling/BulletTextSwapper.cs.meta +11 -11
  56. package/Cycling/CyclePosition.cs +59 -59
  57. package/Cycling/CyclePosition.cs.meta +11 -11
  58. package/Cycling/CycleTrackHandler.cs +267 -267
  59. package/Cycling/CycleTrackHandler.cs.meta +11 -11
  60. package/Cycling/CycleUIBullet.cs +46 -46
  61. package/Cycling/CycleUIBullet.cs.meta +11 -11
  62. package/Cycling/CycleUIBulletBase.cs +22 -22
  63. package/Cycling/CycleUIBulletBase.cs.meta +11 -11
  64. package/Cycling/CycleUIIndenter.cs +39 -39
  65. package/Cycling/CycleUIIndenter.cs.meta +11 -11
  66. package/Cycling/CycleUISprite.cs +39 -39
  67. package/Cycling/CycleUISprite.cs.meta +11 -11
  68. package/Cycling/CycleUIText.cs +29 -29
  69. package/Cycling/CycleUIText.cs.meta +11 -11
  70. package/Cycling/ICycleTracker.cs +30 -30
  71. package/Cycling/ICycleTracker.cs.meta +1 -1
  72. package/Cycling/ICycleUIStateComponent.cs +15 -15
  73. package/Cycling/ICycleUIStateComponent.cs.meta +11 -11
  74. package/Cycling/ICycleUITextComponent.cs +14 -14
  75. package/Cycling/ICycleUITextComponent.cs.meta +11 -11
  76. package/Cycling/IntroBulletCycleHandler.cs +314 -314
  77. package/Cycling/IntroBulletCycleHandler.cs.meta +11 -11
  78. package/Cycling/SpawnedCycleBulletsClearer.cs +66 -66
  79. package/Cycling/SpawnedCycleBulletsClearer.cs.meta +1 -1
  80. package/Cycling/SwapProcess.cs +280 -280
  81. package/Cycling/SwapProcess.cs.meta +11 -11
  82. package/Cycling/SwapProcessBase.cs +150 -150
  83. package/Cycling/SwapProcessBase.cs.meta +1 -1
  84. package/Cycling/TrackPathCalculator.cs +183 -183
  85. package/Cycling/TrackPathCalculator.cs.meta +1 -1
  86. package/Cycling.meta +8 -8
  87. package/DREditor.Minigames.Debates.asmdef +28 -28
  88. package/DREditor.Minigames.Debates.asmdef.meta +7 -7
  89. package/DebateBuilder.cs +66 -66
  90. package/DebateBuilder.cs.meta +11 -11
  91. package/DebateTextCamera.cs +56 -56
  92. package/DebateTextCamera.cs.meta +11 -11
  93. package/DebateTruthBulletMenu.cs +237 -237
  94. package/DebateTruthBulletMenu.cs.meta +11 -11
  95. package/Editor/AnimationArchitectureEditor.cs +38 -38
  96. package/Editor/AnimationArchitectureEditor.cs.meta +11 -11
  97. package/Editor/DREditor.Minigames.Debates.Editor.asmdef +42 -42
  98. package/Editor/DREditor.Minigames.Debates.Editor.asmdef.meta +7 -7
  99. package/Editor/DebateTypeEditor.cs +238 -238
  100. package/Editor/DebateTypeEditor.cs.meta +11 -11
  101. package/Editor/IDebateEditor.cs +53 -53
  102. package/Editor/IDebateEditor.cs.meta +11 -11
  103. package/Editor/MenuItemDebateUtility.cs +52 -52
  104. package/Editor/MenuItemDebateUtility.cs.meta +11 -11
  105. package/Editor/MultiPanelLineEditor.cs +41 -41
  106. package/Editor/MultiPanelLineEditor.cs.meta +11 -11
  107. package/Editor/PanelEditorConstants.cs +18 -18
  108. package/Editor/PanelEditorConstants.cs.meta +11 -11
  109. package/Editor/PanelLineEditor.cs +274 -274
  110. package/Editor/PanelLineEditor.cs.meta +11 -11
  111. package/Editor/PanelPhrasesEditor.cs +296 -296
  112. package/Editor/PanelPhrasesEditor.cs.meta +11 -11
  113. package/Editor/PartlyHitEditor.cs +75 -75
  114. package/Editor/PartlyHitEditor.cs.meta +11 -11
  115. package/Editor/PhraseAnimationArchitectureList.cs +22 -22
  116. package/Editor/PhraseAnimationArchitectureList.cs.meta +11 -11
  117. package/Editor/PhraseBaseDataEditor.cs +75 -75
  118. package/Editor/PhraseBaseDataEditor.cs.meta +11 -11
  119. package/Editor/PhraseBaseEditor.cs +35 -35
  120. package/Editor/PhraseBaseEditor.cs.meta +11 -11
  121. package/Editor/PhraseDataEditor.cs +74 -74
  122. package/Editor/PhraseDataEditor.cs.meta +11 -11
  123. package/Editor/PhraseEditor.cs +26 -26
  124. package/Editor/PhraseEditor.cs.meta +11 -11
  125. package/Editor/PhraseEditorBase.cs +156 -156
  126. package/Editor/PhraseEditorBase.cs.meta +11 -11
  127. package/Editor/PhraseModifierEditor.cs +38 -38
  128. package/Editor/PhraseModifierEditor.cs.meta +11 -11
  129. package/Editor/PhraseModifierList.cs +22 -22
  130. package/Editor/PhraseModifierList.cs.meta +11 -11
  131. package/Editor/PhrasePreset.cs +30 -30
  132. package/Editor/PhrasePreset.cs.meta +11 -11
  133. package/Editor/PhrasePresetDatabase.cs +41 -41
  134. package/Editor/PhrasePresetDatabase.cs.meta +11 -11
  135. package/Editor/PhrasePresetEditor.cs +230 -230
  136. package/Editor/PhrasePresetEditor.cs.meta +11 -11
  137. package/Editor/PhraseSectionEditor.cs +225 -225
  138. package/Editor/PhraseSectionEditor.cs.meta +11 -11
  139. package/Editor/PhraseSectionEditorBase.cs +133 -133
  140. package/Editor/PhraseSectionEditorBase.cs.meta +11 -11
  141. package/Editor/PhraseTypeList.cs +22 -22
  142. package/Editor/PhraseTypeList.cs.meta +11 -11
  143. package/Editor/ReplaceDebateAssetTextEditor.cs +81 -81
  144. package/Editor/ReplaceDebateAssetTextEditor.cs.meta +11 -11
  145. package/Editor/TextByArrayEditor.cs +148 -148
  146. package/Editor/TextByArrayEditor.cs.meta +11 -11
  147. package/Editor/VerifyMinigames.cs +120 -120
  148. package/Editor/VerifyMinigames.cs.meta +11 -11
  149. package/Editor.meta +8 -8
  150. package/FadeSentEventPhrase.cs +41 -41
  151. package/FadeSentEventPhrase.cs.meta +1 -1
  152. package/Firing/BulletFirer.cs +87 -87
  153. package/Firing/BulletFirer.cs.meta +11 -11
  154. package/Firing/BulletSilencer.cs +201 -201
  155. package/Firing/BulletSilencer.cs.meta +11 -11
  156. package/Firing/FireBulletTextAnimation.cs +240 -240
  157. package/Firing/FireBulletTextAnimation.cs.meta +11 -11
  158. package/Firing/FireBulletTextAnimationBase.cs +138 -138
  159. package/Firing/FireBulletTextAnimationBase.cs.meta +11 -11
  160. package/Firing/FireBulletUIHandler.cs +192 -192
  161. package/Firing/FireBulletUIHandler.cs.meta +11 -11
  162. package/Firing/FireTransformCalculator.cs +113 -113
  163. package/Firing/FireTransformCalculator.cs.meta +11 -11
  164. package/Firing/FireTransformCalculatorBase.cs +22 -22
  165. package/Firing/FireTransformCalculatorBase.cs.meta +11 -11
  166. package/Firing/FireTruthAnimationBase.cs +22 -22
  167. package/Firing/FireTruthAnimationBase.cs.meta +11 -11
  168. package/Firing/FiredBulletHandler.cs +94 -94
  169. package/Firing/FiredBulletHandler.cs.meta +11 -11
  170. package/Firing/FiredTruthHandler.cs +102 -102
  171. package/Firing/FiredTruthHandler.cs.meta +11 -11
  172. package/Firing/IFireBulletUI.cs +14 -14
  173. package/Firing/IFireBulletUI.cs.meta +11 -11
  174. package/Firing/IFireBulletUIEvent.cs +16 -16
  175. package/Firing/IFireBulletUIEvent.cs.meta +11 -11
  176. package/Firing/IReloadBulletUI.cs +14 -14
  177. package/Firing/IReloadBulletUI.cs.meta +11 -11
  178. package/Firing/ReloadBulletUIHandler.cs +229 -229
  179. package/Firing/ReloadBulletUIHandler.cs.meta +11 -11
  180. package/Firing/TiltCalculator.cs +130 -130
  181. package/Firing/TiltCalculator.cs.meta +11 -11
  182. package/Firing/TiltCalculatorBase.cs +17 -17
  183. package/Firing/TiltCalculatorBase.cs.meta +11 -11
  184. package/Firing.meta +8 -8
  185. package/GradientOverrideModifier.cs +31 -31
  186. package/GradientOverrideModifier.cs.meta +11 -11
  187. package/HittableModifierBase.cs +10 -10
  188. package/HittableModifierBase.cs.meta +11 -11
  189. package/IBulletEvaluatorManager.cs +42 -42
  190. package/IBulletEvaluatorManager.cs.meta +11 -11
  191. package/IBulletSendable.cs +17 -17
  192. package/IBulletSendable.cs.meta +11 -11
  193. package/IDebateConverter.cs +14 -14
  194. package/IDebateConverter.cs.meta +11 -11
  195. package/IDebateScanner.cs +14 -14
  196. package/IDebateScanner.cs.meta +11 -11
  197. package/IDebateSequence.cs +21 -21
  198. package/IDebateSequence.cs.meta +11 -11
  199. package/IDebateUIVisibility.cs +9 -9
  200. package/IDebateUIVisibility.cs.meta +11 -11
  201. package/IGradientOverride.cs +14 -14
  202. package/IGradientOverride.cs.meta +11 -11
  203. package/IMistakeModifier.cs +14 -14
  204. package/IMistakeModifier.cs.meta +11 -11
  205. package/IPhraseAnimationArchitecture.cs +21 -21
  206. package/IPhraseAnimationArchitecture.cs.meta +11 -11
  207. package/IPhraseAnimationComponent.cs +14 -14
  208. package/IPhraseAnimationComponent.cs.meta +11 -11
  209. package/IPhraseHandlerComponent.cs +21 -21
  210. package/IPhraseHandlerComponent.cs.meta +11 -11
  211. package/IPhraseHitListener.cs +14 -14
  212. package/IPhraseHitListener.cs.meta +11 -11
  213. package/IPhraseHittable.cs +22 -22
  214. package/IPhraseHittable.cs.meta +11 -11
  215. package/IPhraseModifier.cs +9 -9
  216. package/IPhraseModifier.cs.meta +11 -11
  217. package/IPhraseResetter.cs +14 -14
  218. package/IPhraseResetter.cs.meta +11 -11
  219. package/IPhraseRetriever.cs +16 -16
  220. package/IPhraseRetriever.cs.meta +1 -1
  221. package/IPhraseShatterListener.cs +13 -13
  222. package/IPhraseShatterListener.cs.meta +11 -11
  223. package/IPhraseShatterable.cs +29 -29
  224. package/IPhraseShatterable.cs.meta +11 -11
  225. package/ITextByArray.cs +42 -42
  226. package/ITextByArray.cs.meta +11 -11
  227. package/InputModifier.cs +59 -59
  228. package/InputModifier.cs.meta +11 -11
  229. package/InputModifierType.cs +85 -85
  230. package/InputModifierType.cs.meta +11 -11
  231. package/Managers/DebateContainsPhrasesWithModifierType.cs +37 -37
  232. package/Managers/DebateContainsPhrasesWithModifierType.cs.meta +1 -1
  233. package/Managers/DebateGroupManagerBase.cs +137 -137
  234. package/Managers/DebateGroupManagerBase.cs.meta +11 -11
  235. package/Managers/DebateLineManager.cs +156 -156
  236. package/Managers/DebateLineManager.cs.meta +11 -11
  237. package/Managers/DebateManager.cs +102 -102
  238. package/Managers/DebateManager.cs.meta +11 -11
  239. package/Managers/DebateManagerBase.cs +292 -292
  240. package/Managers/DebateManagerBase.cs.meta +11 -11
  241. package/Managers/DebatePanelManager.cs +51 -51
  242. package/Managers/DebatePanelManager.cs.meta +11 -11
  243. package/Managers/IDebateGroupManager.cs +35 -35
  244. package/Managers/IDebateGroupManager.cs.meta +11 -11
  245. package/Managers/IDebateLineManager.cs +31 -31
  246. package/Managers/IDebateLineManager.cs.meta +11 -11
  247. package/Managers/IPanelManager.cs +16 -16
  248. package/Managers/IPanelManager.cs.meta +11 -11
  249. package/Managers/IPhraseManager.cs +29 -29
  250. package/Managers/IPhraseManager.cs.meta +11 -11
  251. package/Managers/IPhraseResetManager.cs +14 -14
  252. package/Managers/IPhraseResetManager.cs.meta +11 -11
  253. package/Managers/PhraseCameraOnReset.cs +37 -37
  254. package/Managers/PhraseCameraOnReset.cs.meta +11 -11
  255. package/Managers/PhraseManager.cs +89 -89
  256. package/Managers/PhraseManager.cs.meta +11 -11
  257. package/Managers/PhraseManagerBase.cs +54 -54
  258. package/Managers/PhraseManagerBase.cs.meta +11 -11
  259. package/Managers/PhraseResetManager.cs +95 -95
  260. package/Managers/PhraseResetManager.cs.meta +11 -11
  261. package/Managers/WhiteNoiseManager.cs +33 -33
  262. package/Managers/WhiteNoiseManager.cs.meta +11 -11
  263. package/Managers.meta +8 -8
  264. package/Mechanics/ChildIndexOffsetter.cs +50 -50
  265. package/Mechanics/ChildIndexOffsetter.cs.meta +11 -11
  266. package/Mechanics/DebateVolumeManager.cs +106 -106
  267. package/Mechanics/DebateVolumeManager.cs.meta +11 -11
  268. package/Mechanics/FastHandler.cs +48 -48
  269. package/Mechanics/FastHandler.cs.meta +11 -11
  270. package/Mechanics/IBulletCycleUI.cs +19 -19
  271. package/Mechanics/IBulletCycleUI.cs.meta +11 -11
  272. package/Mechanics/IBulletSwapperUI.cs +16 -16
  273. package/Mechanics/IBulletSwapperUI.cs.meta +11 -11
  274. package/Mechanics/ICycleListener.cs +15 -15
  275. package/Mechanics/ICycleListener.cs.meta +11 -11
  276. package/Mechanics/IPanelCounter.cs +15 -15
  277. package/Mechanics/IPanelCounter.cs.meta +11 -11
  278. package/Mechanics/IPanelLineListener.cs +16 -16
  279. package/Mechanics/IPanelLineListener.cs.meta +11 -11
  280. package/Mechanics/IPanelSendable.cs +15 -15
  281. package/Mechanics/IPanelSendable.cs.meta +11 -11
  282. package/Mechanics/IPanelsResolvedListener.cs +13 -13
  283. package/Mechanics/IPanelsResolvedListener.cs.meta +11 -11
  284. package/Mechanics/IPanelsStoppedListener.cs +13 -13
  285. package/Mechanics/IPanelsStoppedListener.cs.meta +11 -11
  286. package/Mechanics/IReloadResolverRoutine.cs +15 -15
  287. package/Mechanics/IReloadResolverRoutine.cs.meta +11 -11
  288. package/Mechanics/SlowHandler.cs +145 -145
  289. package/Mechanics/SlowHandler.cs.meta +11 -11
  290. package/Mechanics/SpeedHandlerBase.cs +278 -278
  291. package/Mechanics/SpeedHandlerBase.cs.meta +11 -11
  292. package/Mechanics.meta +8 -8
  293. package/Panel.cs +61 -61
  294. package/Panel.cs.meta +11 -11
  295. package/PartlyHitModifier.cs +78 -78
  296. package/PartlyHitModifier.cs.meta +11 -11
  297. package/Phrase.cs +69 -69
  298. package/Phrase.cs.meta +11 -11
  299. package/PhraseBase.cs +164 -164
  300. package/PhraseBase.cs.meta +11 -11
  301. package/PhraseHandling/IHitBoxOverride.cs +19 -19
  302. package/PhraseHandling/IHitBoxOverride.cs.meta +11 -11
  303. package/PhraseHandling/LineTextExtension.cs +85 -85
  304. package/PhraseHandling/LineTextExtension.cs.meta +11 -11
  305. package/PhraseHandling/PartlyHitHandler.cs +299 -299
  306. package/PhraseHandling/PartlyHitHandler.cs.meta +11 -11
  307. package/PhraseHandling/PhraseGradientHandler.cs +146 -146
  308. package/PhraseHandling/PhraseGradientHandler.cs.meta +11 -11
  309. package/PhraseHandling/PhraseHitboxHandler.cs +124 -124
  310. package/PhraseHandling/PhraseHitboxHandler.cs.meta +11 -11
  311. package/PhraseHandling/PhraseText.cs +41 -41
  312. package/PhraseHandling/PhraseText.cs.meta +11 -11
  313. package/PhraseHandling/PhraseTextComponentBase.cs +52 -52
  314. package/PhraseHandling/PhraseTextComponentBase.cs.meta +11 -11
  315. package/PhraseHandling/PhraseTextHandlerBase.cs +85 -85
  316. package/PhraseHandling/PhraseTextHandlerBase.cs.meta +11 -11
  317. package/PhraseHandling/ShatterablePhraseText.cs +123 -123
  318. package/PhraseHandling/ShatterablePhraseText.cs.meta +11 -11
  319. package/PhraseHandling/WhiteNoiseText.cs +22 -22
  320. package/PhraseHandling/WhiteNoiseText.cs.meta +11 -11
  321. package/PhraseHandling.meta +8 -8
  322. package/PhraseModifierBase.cs +20 -20
  323. package/PhraseModifierBase.cs.meta +11 -11
  324. package/PhraseTextBase.cs +68 -68
  325. package/PhraseTextBase.cs.meta +11 -11
  326. package/RailTextUpdater.cs +87 -87
  327. package/RailTextUpdater.cs.meta +1 -1
  328. package/{Samples → Samples~}/Absorbable.asset +14 -14
  329. package/{Samples → Samples~}/Absorbable.asset.meta +8 -8
  330. package/{Samples → Samples~}/Absorbing.asset +21 -21
  331. package/{Samples → Samples~}/Absorbing.asset.meta +8 -8
  332. package/{Samples → Samples~}/BulletEndPositionOffset.asset +25 -25
  333. package/{Samples → Samples~}/BulletEndPositionOffset.asset.meta +8 -8
  334. package/{Samples → Samples~}/BulletFired.asset +21 -21
  335. package/{Samples → Samples~}/BulletFired.asset.meta +8 -8
  336. package/{Samples → Samples~}/BulletRestPosition.asset +25 -25
  337. package/{Samples → Samples~}/BulletRestPosition.asset.meta +8 -8
  338. package/{Samples → Samples~}/BulletText.asset +21 -21
  339. package/{Samples → Samples~}/BulletText.asset.meta +8 -8
  340. package/{Samples → Samples~}/Bullet_Evaluator_Manager_Shell.prefab +75 -75
  341. package/{Samples → Samples~}/Bullet_Evaluator_Manager_Shell.prefab.meta +7 -7
  342. package/{Samples → Samples~}/Bullet_Evaluator_Manager_Template.prefab +378 -378
  343. package/{Samples → Samples~}/Bullet_Evaluator_Manager_Template.prefab.meta +7 -7
  344. package/{Samples → Samples~}/Bullet_Firer.prefab +149 -149
  345. package/{Samples → Samples~}/Bullet_Firer.prefab.meta +7 -7
  346. package/{Samples → Samples~}/Bullet_Indicator_ETemplate.prefab +78 -78
  347. package/{Samples → Samples~}/Bullet_Indicator_ETemplate.prefab.meta +7 -7
  348. package/{Samples → Samples~}/Bullet_Indicators_Shell.prefab +194 -194
  349. package/{Samples → Samples~}/Bullet_Indicators_Shell.prefab.meta +7 -7
  350. package/{Samples → Samples~}/Bullet_Indicators_Template.prefab +948 -948
  351. package/{Samples → Samples~}/Bullet_Indicators_Template.prefab.meta +7 -7
  352. package/{Samples → Samples~}/Bullet_Mode_Updater.prefab +56 -56
  353. package/{Samples → Samples~}/Bullet_Mode_Updater.prefab.meta +7 -7
  354. package/{Samples → Samples~}/Bullet_Silencer.prefab +92 -92
  355. package/{Samples → Samples~}/Bullet_Silencer.prefab.meta +7 -7
  356. package/{Samples → Samples~}/Bullet_UI_ETemplate.prefab +125 -125
  357. package/{Samples → Samples~}/Bullet_UI_ETemplate.prefab.meta +7 -7
  358. package/{Samples → Samples~}/Bullet_UI_Shell.prefab +533 -533
  359. package/{Samples → Samples~}/Bullet_UI_Shell.prefab.meta +7 -7
  360. package/{Samples → Samples~}/CanCycle.asset +21 -21
  361. package/{Samples → Samples~}/CanCycle.asset.meta +8 -8
  362. package/{Samples → Samples~}/CanFire.asset +21 -21
  363. package/{Samples → Samples~}/CanFire.asset.meta +8 -8
  364. package/{Samples → Samples~}/Check_Mode_Bullet_Hit.prefab +142 -142
  365. package/{Samples → Samples~}/Check_Mode_Bullet_Hit.prefab.meta +7 -7
  366. package/{Samples → Samples~}/Counter_Canvas_ETemplate.prefab +144 -144
  367. package/{Samples → Samples~}/Counter_Canvas_ETemplate.prefab.meta +7 -7
  368. package/{Samples → Samples~}/Counter_Handler_Shell.prefab +49 -49
  369. package/{Samples → Samples~}/Counter_Handler_Shell.prefab.meta +7 -7
  370. package/{Samples → Samples~}/Counter_Handler_Template.prefab +928 -928
  371. package/{Samples → Samples~}/Counter_Handler_Template.prefab.meta +7 -7
  372. package/{Samples → Samples~}/Create_Mode_Bullet_SFX.prefab +78 -78
  373. package/{Samples → Samples~}/Create_Mode_Bullet_SFX.prefab.meta +7 -7
  374. package/{Samples → Samples~}/CurrentBulletIndex.asset +21 -21
  375. package/{Samples → Samples~}/CurrentBulletIndex.asset.meta +8 -8
  376. package/{Samples → Samples~}/CyclePass.asset +21 -21
  377. package/{Samples → Samples~}/CyclePass.asset.meta +8 -8
  378. package/{Samples → Samples~}/Cycle_Bullet_ETemplate.prefab +287 -287
  379. package/{Samples → Samples~}/Cycle_Bullet_ETemplate.prefab.meta +7 -7
  380. package/{Samples → Samples~}/Cycle_Track_Handler.prefab +645 -645
  381. package/{Samples → Samples~}/Cycle_Track_Handler.prefab.meta +7 -7
  382. package/{Samples → Samples~}/Cycle_UI_Canvas_Shell.prefab +238 -238
  383. package/{Samples → Samples~}/Cycle_UI_Canvas_Shell.prefab.meta +7 -7
  384. package/{Samples → Samples~}/Cycle_UI_Canvas_Template.prefab +364 -364
  385. package/{Samples → Samples~}/Cycle_UI_Canvas_Template.prefab.meta +7 -7
  386. package/{Samples → Samples~}/Debate_Line_Manager.prefab +49 -49
  387. package/{Samples → Samples~}/Debate_Line_Manager.prefab.meta +7 -7
  388. package/{Samples → Samples~}/Debate_Line_Processes.prefab +513 -513
  389. package/{Samples → Samples~}/Debate_Line_Processes.prefab.meta +7 -7
  390. package/{Samples → Samples~}/Debate_Panel_Manager.prefab +47 -47
  391. package/{Samples → Samples~}/Debate_Panel_Manager.prefab.meta +7 -7
  392. package/{Samples → Samples~}/Debate_Truth_Bullet_Menu_Shell.prefab +55 -55
  393. package/{Samples → Samples~}/Debate_Truth_Bullet_Menu_Shell.prefab.meta +7 -7
  394. package/{Samples → Samples~}/Debate_Truth_Bullet_Menu_Template.prefab +213 -213
  395. package/{Samples → Samples~}/Debate_Truth_Bullet_Menu_Template.prefab.meta +7 -7
  396. package/{Samples → Samples~}/Debate_Volume_Manager.prefab +56 -56
  397. package/{Samples → Samples~}/Debate_Volume_Manager.prefab.meta +7 -7
  398. package/{Samples → Samples~}/DisplayEmpathyMode.asset +15 -15
  399. package/{Samples → Samples~}/DisplayEmpathyMode.asset.meta +8 -8
  400. package/{Samples → Samples~}/Empathy_Mechanic.prefab +224 -224
  401. package/{Samples → Samples~}/Empathy_Mechanic.prefab.meta +7 -7
  402. package/{Samples → Samples~}/EndEmpathyMode.asset +15 -15
  403. package/{Samples → Samples~}/EndEmpathyMode.asset.meta +8 -8
  404. package/{Samples → Samples~}/Fast_Handler_ETemplate.prefab +80 -80
  405. package/{Samples → Samples~}/Fast_Handler_ETemplate.prefab.meta +7 -7
  406. package/{Samples → Samples~}/FireBulletCameraEnabled.asset +21 -21
  407. package/{Samples → Samples~}/FireBulletCameraEnabled.asset.meta +8 -8
  408. package/{Samples → Samples~}/Fire_Bullet_Camera.prefab +144 -144
  409. package/{Samples → Samples~}/Fire_Bullet_Camera.prefab.meta +7 -7
  410. package/{Samples → Samples~}/Fire_Bullet_Condition.prefab +66 -66
  411. package/{Samples → Samples~}/Fire_Bullet_Condition.prefab.meta +7 -7
  412. package/{Samples → Samples~}/Fire_Bullet_Text_ETemplate.prefab +549 -549
  413. package/{Samples → Samples~}/Fire_Bullet_Text_ETemplate.prefab.meta +7 -7
  414. package/{Samples → Samples~}/Fire_Bullet_UI_Handler_Shell.prefab +151 -151
  415. package/{Samples → Samples~}/Fire_Bullet_UI_Handler_Shell.prefab.meta +7 -7
  416. package/{Samples → Samples~}/Fire_Bullet_UI_Handler_Template.prefab +272 -272
  417. package/{Samples → Samples~}/Fire_Bullet_UI_Handler_Template.prefab.meta +7 -7
  418. package/{Samples → Samples~}/Fired_Bullet_Handler_Shell.prefab +50 -50
  419. package/{Samples → Samples~}/Fired_Bullet_Handler_Shell.prefab.meta +7 -7
  420. package/{Samples → Samples~}/Fired_Bullet_Handler_Template.prefab +293 -293
  421. package/{Samples → Samples~}/Fired_Bullet_Handler_Template.prefab.meta +7 -7
  422. package/{Samples → Samples~}/Hittable.asset +15 -15
  423. package/{Samples → Samples~}/Hittable.asset.meta +8 -8
  424. package/{Samples → Samples~}/InCycle.asset +21 -21
  425. package/{Samples → Samples~}/InCycle.asset.meta +8 -8
  426. package/{Samples → Samples~}/InDebate.asset +21 -21
  427. package/{Samples → Samples~}/InDebate.asset.meta +8 -8
  428. package/{Samples → Samples~}/InEmpathy.asset +21 -21
  429. package/{Samples → Samples~}/InEmpathy.asset.meta +8 -8
  430. package/{Samples → Samples~}/InLieMode.asset +21 -21
  431. package/{Samples → Samples~}/InLieMode.asset.meta +8 -8
  432. package/{Samples → Samples~}/IsChangingSpeed.asset +21 -21
  433. package/{Samples → Samples~}/IsChangingSpeed.asset.meta +8 -8
  434. package/{Samples → Samples~}/IsReloading.asset +21 -21
  435. package/{Samples → Samples~}/IsReloading.asset.meta +8 -8
  436. package/{Samples → Samples~}/OnDebateIntroResolved.asset +15 -15
  437. package/{Samples → Samples~}/OnDebateIntroResolved.asset.meta +8 -8
  438. package/{Samples → Samples~}/OnPhraseShot.asset +15 -15
  439. package/{Samples → Samples~}/OnPhraseShot.asset.meta +8 -8
  440. package/{Samples → Samples~}/OnReloadStarted.asset +15 -15
  441. package/{Samples → Samples~}/OnReloadStarted.asset.meta +8 -8
  442. package/{Samples → Samples~}/On_End_Bullet_Mode.prefab +103 -103
  443. package/{Samples → Samples~}/On_End_Bullet_Mode.prefab.meta +7 -7
  444. package/{Samples → Samples~}/On_Start_Bullet_Mode.prefab +76 -76
  445. package/{Samples → Samples~}/On_Start_Bullet_Mode.prefab.meta +7 -7
  446. package/{Samples → Samples~}/Panel_Counter_Indicator_Shell.prefab +84 -84
  447. package/{Samples → Samples~}/Panel_Counter_Indicator_Shell.prefab.meta +7 -7
  448. package/{Samples → Samples~}/Panel_Counter_Indicator_Template.prefab +268 -268
  449. package/{Samples → Samples~}/Panel_Counter_Indicator_Template.prefab.meta +7 -7
  450. package/{Samples → Samples~}/Panel_Counter_Speaker_Shell.prefab +59 -59
  451. package/{Samples → Samples~}/Panel_Counter_Speaker_Shell.prefab.meta +7 -7
  452. package/{Samples → Samples~}/Panel_Counter_Speaker_Template.prefab +545 -545
  453. package/{Samples → Samples~}/Panel_Counter_Speaker_Template.prefab.meta +7 -7
  454. package/{Samples → Samples~}/Panel_Icon_ETemplate.prefab +78 -78
  455. package/{Samples → Samples~}/Panel_Icon_ETemplate.prefab.meta +7 -7
  456. package/{Samples → Samples~}/PhrasePresetDatabase.preset +533 -533
  457. package/{Samples → Samples~}/PhrasePresetDatabase.preset.meta +8 -8
  458. package/{Samples → Samples~}/Phrase_Is_Absorbable_Condition.prefab +57 -57
  459. package/{Samples → Samples~}/Phrase_Is_Absorbable_Condition.prefab.meta +7 -7
  460. package/{Samples → Samples~}/Phrase_Manager_Shell.prefab +47 -47
  461. package/{Samples → Samples~}/Phrase_Manager_Shell.prefab.meta +7 -7
  462. package/{Samples → Samples~}/Phrase_Manager_Template.prefab +1544 -1544
  463. package/{Samples → Samples~}/Phrase_Manager_Template.prefab.meta +7 -7
  464. package/{Samples → Samples~}/Phrase_Reset_Manager.prefab +47 -47
  465. package/{Samples → Samples~}/Phrase_Reset_Manager.prefab.meta +7 -7
  466. package/{Samples → Samples~}/Phrase_Shell.prefab +50 -50
  467. package/{Samples → Samples~}/Phrase_Shell.prefab.meta +7 -7
  468. package/{Samples → Samples~}/Phrase_Template.prefab +271 -271
  469. package/{Samples → Samples~}/Phrase_Template.prefab.meta +7 -7
  470. package/{Samples → Samples~}/Phrase_Text.prefab +125 -125
  471. package/{Samples → Samples~}/Phrase_Text.prefab.meta +7 -7
  472. package/{Samples → Samples~}/Phrase_Text_Shell.prefab +355 -355
  473. package/{Samples → Samples~}/Phrase_Text_Shell.prefab.meta +7 -7
  474. package/{Samples → Samples~}/Phrase_Text_White_Noise.prefab +201 -201
  475. package/{Samples → Samples~}/Phrase_Text_White_Noise.prefab.meta +7 -7
  476. package/{Samples → Samples~}/Reset_Mode_On_Reload.prefab +104 -104
  477. package/{Samples → Samples~}/Reset_Mode_On_Reload.prefab.meta +7 -7
  478. package/{Samples → Samples~}/SetBulletText.asset +15 -15
  479. package/{Samples → Samples~}/SetBulletText.asset.meta +8 -8
  480. package/{Samples → Samples~}/Set_Controls_On_Bullet_Mode.prefab +106 -106
  481. package/{Samples → Samples~}/Set_Controls_On_Bullet_Mode.prefab.meta +7 -7
  482. package/{Samples → Samples~}/Silencable.asset +14 -14
  483. package/{Samples → Samples~}/Silencable.asset.meta +8 -8
  484. package/{Samples → Samples~}/Slow_Handler_ETemplate.prefab +82 -82
  485. package/{Samples → Samples~}/Slow_Handler_ETemplate.prefab.meta +7 -7
  486. package/{Samples → Samples~}/StartEmpathyMode.asset +15 -15
  487. package/{Samples → Samples~}/StartEmpathyMode.asset.meta +8 -8
  488. package/{Samples → Samples~}/White_Noise_Manager_Shell.prefab +47 -47
  489. package/{Samples → Samples~}/White_Noise_Manager_Shell.prefab.meta +7 -7
  490. package/{Samples → Samples~}/White_Noise_Manager_Template.prefab +856 -856
  491. package/{Samples → Samples~}/White_Noise_Manager_Template.prefab.meta +7 -7
  492. package/{Samples → Samples~}/White_Noise_Template.prefab +239 -239
  493. package/{Samples → Samples~}/White_Noise_Template.prefab.meta +7 -7
  494. package/UI/BulletSwapperVisibility.cs +156 -156
  495. package/UI/BulletSwapperVisibility.cs.meta +11 -11
  496. package/UI/DebateVisibilityUI.cs +30 -30
  497. package/UI/DebateVisibilityUI.cs.meta +11 -11
  498. package/UI/PanelCounterBase.cs +78 -78
  499. package/UI/PanelCounterBase.cs.meta +11 -11
  500. package/UI/PanelCounterIndicator.cs +111 -111
  501. package/UI/PanelCounterIndicator.cs.meta +11 -11
  502. package/UI/PanelCounterSpeaker.cs +102 -102
  503. package/UI/PanelCounterSpeaker.cs.meta +11 -11
  504. package/UI/PhraseHasModifierType.cs +26 -26
  505. package/UI/PhraseHasModifierType.cs.meta +11 -11
  506. package/UI/PhraseMatchesInputType.cs +34 -34
  507. package/UI/PhraseMatchesInputType.cs.meta +1 -1
  508. package/UI.meta +8 -8
  509. package/WhiteNoise.cs +10 -10
  510. package/WhiteNoise.cs.meta +11 -11
  511. package/package.json +49 -44
  512. package/package.json.meta +7 -7
  513. package/Samples.meta +0 -8
@@ -1,297 +1,297 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.Editor.Utility;
3
- using System;
4
- using System.Collections.Generic;
5
- using System.Linq;
6
- using UnityEditor;
7
- using UnityEngine;
8
-
9
- namespace DREditor.Minigames.Debates.Editor
10
- {
11
- /// <summary>
12
- ///
13
- /// </summary>
14
- /// <typeparam name="T"></typeparam>
15
- public class PanelPhrasesEditor<T> where T : Panel, new()
16
- {
17
- /// <summary>
18
- ///
19
- /// </summary>
20
- protected int phraseTypeIndex;
21
-
22
- /// <summary>
23
- ///
24
- /// </summary>
25
- protected List<Type> _phraseTypes;
26
-
27
- /// <summary>
28
- ///
29
- /// </summary>
30
- protected string[] phraseChoices;
31
-
32
- /// <summary>
33
- ///
34
- /// </summary>
35
- protected T panel;
36
-
37
- /// <summary>
38
- ///
39
- /// </summary>
40
- protected IDebateEditor debateEditor;
41
-
42
- /// <summary>
43
- ///
44
- /// </summary>
45
- protected PhraseBase serializedPhrase;
46
-
47
- /// <summary>
48
- ///
49
- /// </summary>
50
- protected SerializedProperty phraseProp;
51
-
52
- /// <summary>
53
- ///
54
- /// </summary>
55
- protected readonly PhrasePresetEditor presetEditor = new();
56
-
57
- /// <summary>
58
- ///
59
- /// </summary>
60
- protected readonly PhraseBaseEditor fallbackPhraseEditor = new();
61
-
62
- /// <summary>
63
- ///
64
- /// </summary>
65
- protected Dictionary<PhraseBase, object> editorInstances;
66
-
67
-
68
- /// <summary>
69
- ///
70
- /// </summary>
71
- /// <param name="panel"></param>
72
- /// <param name="debateEditor"></param>
73
- /// <exception cref="ArgumentNullException"></exception>
74
- public virtual void Initialize(T panel, IDebateEditor debateEditor)
75
- {
76
- this.panel = panel ?? throw new ArgumentNullException(nameof(panel));
77
-
78
- this.debateEditor = debateEditor ?? throw new ArgumentNullException(nameof(debateEditor));
79
-
80
- presetEditor.Initialize();
81
-
82
- if (panel.Phrases.Count != 0)
83
- {
84
- editorInstances ??= new Dictionary<PhraseBase, object>();
85
-
86
- CreatePhraseEditors();
87
-
88
- RemovePhraseEditors();
89
- }
90
- }
91
-
92
- /// <summary>
93
- ///
94
- /// </summary>
95
- protected virtual void CreatePhraseEditors()
96
- {
97
- foreach (var phrase in panel.Phrases)
98
- if (!editorInstances.ContainsKey(phrase))
99
- {
100
- var editor = ClassEditorFactory.CreateEditorInstance(phrase);
101
-
102
- if (editor != null)
103
- editorInstances[phrase] = editor;
104
- }
105
- }
106
-
107
- /// <summary>
108
- ///
109
- /// </summary>
110
- protected virtual void RemovePhraseEditors()
111
- {
112
- var phrasesToRemove = editorInstances.Keys
113
- .Where(phrase => !panel.Phrases.Contains(phrase))
114
- .ToList();
115
-
116
- foreach (var phrase in phrasesToRemove)
117
- editorInstances.Remove(phrase);
118
- }
119
-
120
-
121
- /// <summary>
122
- ///
123
- /// </summary>
124
- public virtual void DisplayPhrases()
125
- {
126
- if (panel.Phrases.Count != 0 && !debateEditor.IsFocusingPhrase())
127
- for (int i = 0; i < panel.Phrases.Count; i++)
128
- DisplayPhrase(i);
129
- }
130
-
131
- /// <summary>
132
- ///
133
- /// </summary>
134
- /// <param name="i"></param>
135
- public virtual void DisplayPhrase(int i)
136
- {
137
- if (DisplayPhraseHeader(i) && PhraseCanBeDisplayed(i))
138
- DisplayPhraseEditor();
139
- }
140
-
141
- /// <summary>
142
- ///
143
- /// </summary>
144
- /// <param name="i"></param>
145
- /// <returns></returns>
146
- protected virtual bool DisplayPhraseHeader(int i)
147
- {
148
- using (new EditorGUILayout.HorizontalScope())
149
- {
150
- using (new EditorGUILayout.VerticalScope("Box"))
151
- if (!DisplayPhraseTitle(i))
152
- return false;
153
-
154
- if (presetEditor.DatabaseAvailable())
155
- presetEditor.DisplayPreset(panel.Phrases[i]);
156
- }
157
-
158
- return true;
159
- }
160
-
161
- /// <summary>
162
- ///
163
- /// </summary>
164
- /// <param name="i"></param>
165
- /// <returns></returns>
166
- protected virtual bool DisplayPhraseTitle(int i)
167
- {
168
- string typeLabel = $"Phrase Type: {panel.Phrases[i].GetType().Name}";
169
-
170
- using (new EditorGUILayout.HorizontalScope(HandyFields.CalculateWidthOption(typeLabel)))
171
- {
172
- HandyFields.Label($"Phrase {i + 1} ");
173
-
174
- DisplayFocusButton(i);
175
-
176
- EditorGUILayout.Space(PanelEditorConstants.EditorSpacing / PanelEditorConstants.DivideSpacing);
177
-
178
- if (DisplayRemoveButton(i))
179
- return false;
180
- }
181
-
182
- HandyFields.Label(typeLabel);
183
-
184
- return true;
185
- }
186
-
187
- /// <summary>
188
- ///
189
- /// </summary>
190
- /// <param name="i"></param>
191
- protected virtual void DisplayFocusButton(int i)
192
- {
193
- using (new EditorGUI.DisabledScope(debateEditor.IsFocusingPhrase()))
194
- if (GUILayout.Button("^", GUILayout.MaxWidth(PanelEditorConstants.EditorSpacing)))
195
- debateEditor.SetFocusPhrase(i);
196
- }
197
-
198
- /// <summary>
199
- ///
200
- /// </summary>
201
- /// <param name="i"></param>
202
- /// <returns></returns>
203
- protected virtual bool DisplayRemoveButton(int i)
204
- {
205
- bool removeButtonClicked = GUILayout.Button("X", GUILayout.MaxWidth(PanelEditorConstants.EditorSpacing)) &&
206
- EditorUtility.DisplayDialog("Remove Phrase", "Are you sure you want to Delete this Phrase?",
207
- "Yes", "No");
208
-
209
- bool removeCondition = removeButtonClicked && i < panel.Phrases.Count;
210
-
211
- if (removeCondition)
212
- panel.Phrases.Remove(panel.Phrases[i]);
213
-
214
- return removeCondition;
215
- }
216
-
217
- /// <summary>
218
- ///
219
- /// </summary>
220
- /// <param name="i"></param>
221
- /// <returns></returns>
222
- protected virtual bool PhraseCanBeDisplayed(int i)
223
- {
224
- if (panel == null || i < 0 || i >= panel.Phrases.Count)
225
- return false;
226
-
227
- var phrase = panel.Phrases[i];
228
-
229
- if (serializedPhrase != phrase || phraseProp == null)
230
- {
231
- phraseProp = debateEditor.GetPhraseProperty(phrase);
232
-
233
- serializedPhrase = phrase;
234
- }
235
-
236
- return true;
237
- }
238
-
239
- /// <summary>
240
- ///
241
- /// </summary>
242
- protected virtual void DisplayPhraseEditor()
243
- {
244
- if (editorInstances != null && editorInstances.TryGetValue(serializedPhrase, out object editorInstance))
245
- ClassEditorFactory.UseCustomEditor(serializedPhrase, editorInstance, panel, debateEditor.EditPanelNum, phraseProp);
246
- else
247
- fallbackPhraseEditor.OnGUI(serializedPhrase, panel, debateEditor.EditPanelNum, phraseProp);
248
- }
249
-
250
-
251
- /// <summary>
252
- ///
253
- /// </summary>
254
- public virtual void DisplayCreatePhraseToolbar()
255
- {
256
- if (panel == null || debateEditor.IsFocusingPhrase())
257
- return;
258
-
259
- using (new GUILayout.HorizontalScope("IN Title"))
260
- {
261
- EditorGUILayout.BeginHorizontal();
262
-
263
- DisplayAddFromPresetButton();
264
-
265
- GUILayout.FlexibleSpace();
266
-
267
- DisplayAddFromClassButton();
268
-
269
- EditorGUILayout.EndHorizontal();
270
- }
271
- }
272
-
273
- /// <summary>
274
- ///
275
- /// </summary>
276
- protected virtual void DisplayAddFromPresetButton()
277
- {
278
- if (presetEditor.HasPresets() && presetEditor.DisplaySpawnPreset(out PhraseBase preset))
279
- panel.Phrases.Add(preset);
280
- }
281
-
282
- /// <summary>
283
- ///
284
- /// </summary>
285
- protected virtual void DisplayAddFromClassButton()
286
- {
287
- if (_phraseTypes == null || _phraseTypes.Count == 0)
288
- PhraseTypeList.UpdateTypeList(out _phraseTypes, out phraseChoices);
289
-
290
- phraseTypeIndex = EditorGUILayout.Popup(phraseTypeIndex, phraseChoices,
291
- HandyFields.CalculateWidthOption(phraseChoices[phraseTypeIndex]));
292
-
293
- if (HandyFields.Button("Add From Class"))
294
- panel.Phrases.Add((PhraseBase)Activator.CreateInstance(_phraseTypes[phraseTypeIndex]));
295
- }
296
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Editor.Utility;
3
+ using System;
4
+ using System.Collections.Generic;
5
+ using System.Linq;
6
+ using UnityEditor;
7
+ using UnityEngine;
8
+
9
+ namespace DREditor.Minigames.Debates.Editor
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ /// <typeparam name="T"></typeparam>
15
+ public class PanelPhrasesEditor<T> where T : Panel, new()
16
+ {
17
+ /// <summary>
18
+ ///
19
+ /// </summary>
20
+ protected int phraseTypeIndex;
21
+
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ protected List<Type> _phraseTypes;
26
+
27
+ /// <summary>
28
+ ///
29
+ /// </summary>
30
+ protected string[] phraseChoices;
31
+
32
+ /// <summary>
33
+ ///
34
+ /// </summary>
35
+ protected T panel;
36
+
37
+ /// <summary>
38
+ ///
39
+ /// </summary>
40
+ protected IDebateEditor debateEditor;
41
+
42
+ /// <summary>
43
+ ///
44
+ /// </summary>
45
+ protected PhraseBase serializedPhrase;
46
+
47
+ /// <summary>
48
+ ///
49
+ /// </summary>
50
+ protected SerializedProperty phraseProp;
51
+
52
+ /// <summary>
53
+ ///
54
+ /// </summary>
55
+ protected readonly PhrasePresetEditor presetEditor = new();
56
+
57
+ /// <summary>
58
+ ///
59
+ /// </summary>
60
+ protected readonly PhraseBaseEditor fallbackPhraseEditor = new();
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ protected Dictionary<PhraseBase, object> editorInstances;
66
+
67
+
68
+ /// <summary>
69
+ ///
70
+ /// </summary>
71
+ /// <param name="panel"></param>
72
+ /// <param name="debateEditor"></param>
73
+ /// <exception cref="ArgumentNullException"></exception>
74
+ public virtual void Initialize(T panel, IDebateEditor debateEditor)
75
+ {
76
+ this.panel = panel ?? throw new ArgumentNullException(nameof(panel));
77
+
78
+ this.debateEditor = debateEditor ?? throw new ArgumentNullException(nameof(debateEditor));
79
+
80
+ presetEditor.Initialize();
81
+
82
+ if (panel.Phrases.Count != 0)
83
+ {
84
+ editorInstances ??= new Dictionary<PhraseBase, object>();
85
+
86
+ CreatePhraseEditors();
87
+
88
+ RemovePhraseEditors();
89
+ }
90
+ }
91
+
92
+ /// <summary>
93
+ ///
94
+ /// </summary>
95
+ protected virtual void CreatePhraseEditors()
96
+ {
97
+ foreach (var phrase in panel.Phrases)
98
+ if (!editorInstances.ContainsKey(phrase))
99
+ {
100
+ var editor = ClassEditorFactory.CreateEditorInstance(phrase);
101
+
102
+ if (editor != null)
103
+ editorInstances[phrase] = editor;
104
+ }
105
+ }
106
+
107
+ /// <summary>
108
+ ///
109
+ /// </summary>
110
+ protected virtual void RemovePhraseEditors()
111
+ {
112
+ var phrasesToRemove = editorInstances.Keys
113
+ .Where(phrase => !panel.Phrases.Contains(phrase))
114
+ .ToList();
115
+
116
+ foreach (var phrase in phrasesToRemove)
117
+ editorInstances.Remove(phrase);
118
+ }
119
+
120
+
121
+ /// <summary>
122
+ ///
123
+ /// </summary>
124
+ public virtual void DisplayPhrases()
125
+ {
126
+ if (panel.Phrases.Count != 0 && !debateEditor.IsFocusingPhrase())
127
+ for (int i = 0; i < panel.Phrases.Count; i++)
128
+ DisplayPhrase(i);
129
+ }
130
+
131
+ /// <summary>
132
+ ///
133
+ /// </summary>
134
+ /// <param name="i"></param>
135
+ public virtual void DisplayPhrase(int i)
136
+ {
137
+ if (DisplayPhraseHeader(i) && PhraseCanBeDisplayed(i))
138
+ DisplayPhraseEditor();
139
+ }
140
+
141
+ /// <summary>
142
+ ///
143
+ /// </summary>
144
+ /// <param name="i"></param>
145
+ /// <returns></returns>
146
+ protected virtual bool DisplayPhraseHeader(int i)
147
+ {
148
+ using (new EditorGUILayout.HorizontalScope())
149
+ {
150
+ using (new EditorGUILayout.VerticalScope("Box"))
151
+ if (!DisplayPhraseTitle(i))
152
+ return false;
153
+
154
+ if (presetEditor.DatabaseAvailable())
155
+ presetEditor.DisplayPreset(panel.Phrases[i]);
156
+ }
157
+
158
+ return true;
159
+ }
160
+
161
+ /// <summary>
162
+ ///
163
+ /// </summary>
164
+ /// <param name="i"></param>
165
+ /// <returns></returns>
166
+ protected virtual bool DisplayPhraseTitle(int i)
167
+ {
168
+ string typeLabel = $"Phrase Type: {panel.Phrases[i].GetType().Name}";
169
+
170
+ using (new EditorGUILayout.HorizontalScope(HandyFields.CalculateWidthOption(typeLabel)))
171
+ {
172
+ HandyFields.Label($"Phrase {i + 1} ");
173
+
174
+ DisplayFocusButton(i);
175
+
176
+ EditorGUILayout.Space(PanelEditorConstants.EditorSpacing / PanelEditorConstants.DivideSpacing);
177
+
178
+ if (DisplayRemoveButton(i))
179
+ return false;
180
+ }
181
+
182
+ HandyFields.Label(typeLabel);
183
+
184
+ return true;
185
+ }
186
+
187
+ /// <summary>
188
+ ///
189
+ /// </summary>
190
+ /// <param name="i"></param>
191
+ protected virtual void DisplayFocusButton(int i)
192
+ {
193
+ using (new EditorGUI.DisabledScope(debateEditor.IsFocusingPhrase()))
194
+ if (GUILayout.Button("^", GUILayout.MaxWidth(PanelEditorConstants.EditorSpacing)))
195
+ debateEditor.SetFocusPhrase(i);
196
+ }
197
+
198
+ /// <summary>
199
+ ///
200
+ /// </summary>
201
+ /// <param name="i"></param>
202
+ /// <returns></returns>
203
+ protected virtual bool DisplayRemoveButton(int i)
204
+ {
205
+ bool removeButtonClicked = GUILayout.Button("X", GUILayout.MaxWidth(PanelEditorConstants.EditorSpacing)) &&
206
+ EditorUtility.DisplayDialog("Remove Phrase", "Are you sure you want to Delete this Phrase?",
207
+ "Yes", "No");
208
+
209
+ bool removeCondition = removeButtonClicked && i < panel.Phrases.Count;
210
+
211
+ if (removeCondition)
212
+ panel.Phrases.Remove(panel.Phrases[i]);
213
+
214
+ return removeCondition;
215
+ }
216
+
217
+ /// <summary>
218
+ ///
219
+ /// </summary>
220
+ /// <param name="i"></param>
221
+ /// <returns></returns>
222
+ protected virtual bool PhraseCanBeDisplayed(int i)
223
+ {
224
+ if (panel == null || i < 0 || i >= panel.Phrases.Count)
225
+ return false;
226
+
227
+ var phrase = panel.Phrases[i];
228
+
229
+ if (serializedPhrase != phrase || phraseProp == null)
230
+ {
231
+ phraseProp = debateEditor.GetPhraseProperty(phrase);
232
+
233
+ serializedPhrase = phrase;
234
+ }
235
+
236
+ return true;
237
+ }
238
+
239
+ /// <summary>
240
+ ///
241
+ /// </summary>
242
+ protected virtual void DisplayPhraseEditor()
243
+ {
244
+ if (editorInstances != null && editorInstances.TryGetValue(serializedPhrase, out object editorInstance))
245
+ ClassEditorFactory.UseCustomEditor(serializedPhrase, editorInstance, panel, debateEditor.EditPanelNum, phraseProp);
246
+ else
247
+ fallbackPhraseEditor.OnGUI(serializedPhrase, panel, debateEditor.EditPanelNum, phraseProp);
248
+ }
249
+
250
+
251
+ /// <summary>
252
+ ///
253
+ /// </summary>
254
+ public virtual void DisplayCreatePhraseToolbar()
255
+ {
256
+ if (panel == null || debateEditor.IsFocusingPhrase())
257
+ return;
258
+
259
+ using (new GUILayout.HorizontalScope("IN Title"))
260
+ {
261
+ EditorGUILayout.BeginHorizontal();
262
+
263
+ DisplayAddFromPresetButton();
264
+
265
+ GUILayout.FlexibleSpace();
266
+
267
+ DisplayAddFromClassButton();
268
+
269
+ EditorGUILayout.EndHorizontal();
270
+ }
271
+ }
272
+
273
+ /// <summary>
274
+ ///
275
+ /// </summary>
276
+ protected virtual void DisplayAddFromPresetButton()
277
+ {
278
+ if (presetEditor.HasPresets() && presetEditor.DisplaySpawnPreset(out PhraseBase preset))
279
+ panel.Phrases.Add(preset);
280
+ }
281
+
282
+ /// <summary>
283
+ ///
284
+ /// </summary>
285
+ protected virtual void DisplayAddFromClassButton()
286
+ {
287
+ if (_phraseTypes == null || _phraseTypes.Count == 0)
288
+ PhraseTypeList.UpdateTypeList(out _phraseTypes, out phraseChoices);
289
+
290
+ phraseTypeIndex = EditorGUILayout.Popup(phraseTypeIndex, phraseChoices,
291
+ HandyFields.CalculateWidthOption(phraseChoices[phraseTypeIndex]));
292
+
293
+ if (HandyFields.Button("Add From Class"))
294
+ panel.Phrases.Add((PhraseBase)Activator.CreateInstance(_phraseTypes[phraseTypeIndex]));
295
+ }
296
+ }
297
297
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 1a96ce0aafb49514a83064ccb2c663c9
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: 1a96ce0aafb49514a83064ccb2c663c9
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: