sliver-engine 0.0.1-alpha-4
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/README.md +37 -0
- package/dist/Assets/Shapes/Arrow.d.ts +12 -0
- package/dist/Assets/Shapes/Arrow.d.ts.map +1 -0
- package/dist/Assets/Shapes/Arrow.js +32 -0
- package/dist/Assets/Shapes/Arrow.js.map +1 -0
- package/dist/Assets/Shapes/index.d.ts +4 -0
- package/dist/Assets/Shapes/index.d.ts.map +1 -0
- package/dist/Assets/Shapes/index.js +2 -0
- package/dist/Assets/Shapes/index.js.map +1 -0
- package/dist/CanvasController/SpriteLibrary.d.ts +58 -0
- package/dist/CanvasController/SpriteLibrary.d.ts.map +1 -0
- package/dist/CanvasController/SpriteLibrary.js +412 -0
- package/dist/CanvasController/SpriteLibrary.js.map +1 -0
- package/dist/CanvasController/Transformations.d.ts +5 -0
- package/dist/CanvasController/Transformations.d.ts.map +1 -0
- package/dist/CanvasController/Transformations.js +19 -0
- package/dist/CanvasController/Transformations.js.map +1 -0
- package/dist/CanvasController/index.d.ts +238 -0
- package/dist/CanvasController/index.d.ts.map +1 -0
- package/dist/CanvasController/index.js +418 -0
- package/dist/CanvasController/index.js.map +1 -0
- package/dist/Context/index.d.ts +53 -0
- package/dist/Context/index.d.ts.map +1 -0
- package/dist/Context/index.js +103 -0
- package/dist/Context/index.js.map +1 -0
- package/dist/Events/decorators.d.ts +74 -0
- package/dist/Events/decorators.d.ts.map +1 -0
- package/dist/Events/decorators.js +417 -0
- package/dist/Events/decorators.js.map +1 -0
- package/dist/Events/index.d.ts +50 -0
- package/dist/Events/index.d.ts.map +1 -0
- package/dist/Events/index.js +73 -0
- package/dist/Events/index.js.map +1 -0
- package/dist/Events/keyAccumulator.d.ts +9 -0
- package/dist/Events/keyAccumulator.d.ts.map +1 -0
- package/dist/Events/keyAccumulator.js +17 -0
- package/dist/Events/keyAccumulator.js.map +1 -0
- package/dist/Game/Saves/index.d.ts +39 -0
- package/dist/Game/Saves/index.d.ts.map +1 -0
- package/dist/Game/Saves/index.js +213 -0
- package/dist/Game/Saves/index.js.map +1 -0
- package/dist/Game/index.d.ts +45 -0
- package/dist/Game/index.d.ts.map +1 -0
- package/dist/Game/index.js +101 -0
- package/dist/Game/index.js.map +1 -0
- package/dist/GameObject/Decorators/index.d.ts +81 -0
- package/dist/GameObject/Decorators/index.d.ts.map +1 -0
- package/dist/GameObject/Decorators/index.js +183 -0
- package/dist/GameObject/Decorators/index.js.map +1 -0
- package/dist/GameObject/Hitboxes/ColisionHandler.d.ts +23 -0
- package/dist/GameObject/Hitboxes/ColisionHandler.d.ts.map +1 -0
- package/dist/GameObject/Hitboxes/ColisionHandler.js +458 -0
- package/dist/GameObject/Hitboxes/ColisionHandler.js.map +1 -0
- package/dist/GameObject/Hitboxes/index.d.ts +50 -0
- package/dist/GameObject/Hitboxes/index.d.ts.map +1 -0
- package/dist/GameObject/Hitboxes/index.js +306 -0
- package/dist/GameObject/Hitboxes/index.js.map +1 -0
- package/dist/GameObject/Library/Button.d.ts +15 -0
- package/dist/GameObject/Library/Button.d.ts.map +1 -0
- package/dist/GameObject/Library/Button.js +45 -0
- package/dist/GameObject/Library/Button.js.map +1 -0
- package/dist/GameObject/Library/Clickableshape.d.ts +14 -0
- package/dist/GameObject/Library/Clickableshape.d.ts.map +1 -0
- package/dist/GameObject/Library/Clickableshape.js +36 -0
- package/dist/GameObject/Library/Clickableshape.js.map +1 -0
- package/dist/GameObject/Library/FloatingView.d.ts +20 -0
- package/dist/GameObject/Library/FloatingView.d.ts.map +1 -0
- package/dist/GameObject/Library/FloatingView.js +39 -0
- package/dist/GameObject/Library/FloatingView.js.map +1 -0
- package/dist/GameObject/Library/Group.d.ts +8 -0
- package/dist/GameObject/Library/Group.d.ts.map +1 -0
- package/dist/GameObject/Library/Group.js +26 -0
- package/dist/GameObject/Library/Group.js.map +1 -0
- package/dist/GameObject/Library/HoverableShape.d.ts +15 -0
- package/dist/GameObject/Library/HoverableShape.d.ts.map +1 -0
- package/dist/GameObject/Library/HoverableShape.js +41 -0
- package/dist/GameObject/Library/HoverableShape.js.map +1 -0
- package/dist/GameObject/Library/SceneTranslator.d.ts +14 -0
- package/dist/GameObject/Library/SceneTranslator.d.ts.map +1 -0
- package/dist/GameObject/Library/SceneTranslator.js +104 -0
- package/dist/GameObject/Library/SceneTranslator.js.map +1 -0
- package/dist/GameObject/Library/ScrollView.d.ts +41 -0
- package/dist/GameObject/Library/ScrollView.d.ts.map +1 -0
- package/dist/GameObject/Library/ScrollView.js +112 -0
- package/dist/GameObject/Library/ScrollView.js.map +1 -0
- package/dist/GameObject/Library/ShowOnHover.d.ts +13 -0
- package/dist/GameObject/Library/ShowOnHover.d.ts.map +1 -0
- package/dist/GameObject/Library/ShowOnHover.js +33 -0
- package/dist/GameObject/Library/ShowOnHover.js.map +1 -0
- package/dist/GameObject/Library/Text.d.ts +25 -0
- package/dist/GameObject/Library/Text.d.ts.map +1 -0
- package/dist/GameObject/Library/Text.js +35 -0
- package/dist/GameObject/Library/Text.js.map +1 -0
- package/dist/GameObject/Library/TextBox.d.ts +45 -0
- package/dist/GameObject/Library/TextBox.d.ts.map +1 -0
- package/dist/GameObject/Library/TextBox.js +170 -0
- package/dist/GameObject/Library/TextBox.js.map +1 -0
- package/dist/GameObject/Library/index.d.ts +11 -0
- package/dist/GameObject/Library/index.d.ts.map +1 -0
- package/dist/GameObject/Library/index.js +11 -0
- package/dist/GameObject/Library/index.js.map +1 -0
- package/dist/GameObject/Walker.d.ts +91 -0
- package/dist/GameObject/Walker.d.ts.map +1 -0
- package/dist/GameObject/Walker.js +634 -0
- package/dist/GameObject/Walker.js.map +1 -0
- package/dist/GameObject/index.d.ts +97 -0
- package/dist/GameObject/index.d.ts.map +1 -0
- package/dist/GameObject/index.js +386 -0
- package/dist/GameObject/index.js.map +1 -0
- package/dist/Lib/Math.d.ts +2 -0
- package/dist/Lib/Math.d.ts.map +1 -0
- package/dist/Lib/Math.js +4 -0
- package/dist/Lib/Math.js.map +1 -0
- package/dist/Lib/MinHeap/index.d.ts +12 -0
- package/dist/Lib/MinHeap/index.d.ts.map +1 -0
- package/dist/Lib/MinHeap/index.js +64 -0
- package/dist/Lib/MinHeap/index.js.map +1 -0
- package/dist/Lib/Mixins/index.d.ts +8 -0
- package/dist/Lib/Mixins/index.d.ts.map +1 -0
- package/dist/Lib/Mixins/index.js +45 -0
- package/dist/Lib/Mixins/index.js.map +1 -0
- package/dist/Lib/PathfindingProxy/index.d.ts +16 -0
- package/dist/Lib/PathfindingProxy/index.d.ts.map +1 -0
- package/dist/Lib/PathfindingProxy/index.js +48 -0
- package/dist/Lib/PathfindingProxy/index.js.map +1 -0
- package/dist/Lib/Vector/index.d.ts +24 -0
- package/dist/Lib/Vector/index.d.ts.map +1 -0
- package/dist/Lib/Vector/index.js +94 -0
- package/dist/Lib/Vector/index.js.map +1 -0
- package/dist/Lib/index.d.ts +6 -0
- package/dist/Lib/index.d.ts.map +1 -0
- package/dist/Lib/index.js +6 -0
- package/dist/Lib/index.js.map +1 -0
- package/dist/Scenes/SceneManager/Transitions.d.ts +37 -0
- package/dist/Scenes/SceneManager/Transitions.d.ts.map +1 -0
- package/dist/Scenes/SceneManager/Transitions.js +165 -0
- package/dist/Scenes/SceneManager/Transitions.js.map +1 -0
- package/dist/Scenes/SceneManager/index.d.ts +24 -0
- package/dist/Scenes/SceneManager/index.d.ts.map +1 -0
- package/dist/Scenes/SceneManager/index.js +151 -0
- package/dist/Scenes/SceneManager/index.js.map +1 -0
- package/dist/Scenes/index.d.ts +44 -0
- package/dist/Scenes/index.d.ts.map +1 -0
- package/dist/Scenes/index.js +252 -0
- package/dist/Scenes/index.js.map +1 -0
- package/dist/ScriptedEvents/Combinators/index.d.ts +17 -0
- package/dist/ScriptedEvents/Combinators/index.d.ts.map +1 -0
- package/dist/ScriptedEvents/Combinators/index.js +127 -0
- package/dist/ScriptedEvents/Combinators/index.js.map +1 -0
- package/dist/ScriptedEvents/Library/TextBoxSequence.d.ts +7 -0
- package/dist/ScriptedEvents/Library/TextBoxSequence.d.ts.map +1 -0
- package/dist/ScriptedEvents/Library/TextBoxSequence.js +16 -0
- package/dist/ScriptedEvents/Library/TextBoxSequence.js.map +1 -0
- package/dist/ScriptedEvents/Library/WaitForKeyPress.d.ts +2 -0
- package/dist/ScriptedEvents/Library/WaitForKeyPress.d.ts.map +1 -0
- package/dist/ScriptedEvents/Library/WaitForKeyPress.js +1 -0
- package/dist/ScriptedEvents/Library/WaitForKeyPress.js.map +1 -0
- package/dist/ScriptedEvents/Library/WalkCharacter.d.ts +4 -0
- package/dist/ScriptedEvents/Library/WalkCharacter.d.ts.map +1 -0
- package/dist/ScriptedEvents/Library/WalkCharacter.js +14 -0
- package/dist/ScriptedEvents/Library/WalkCharacter.js.map +1 -0
- package/dist/ScriptedEvents/Library/index.d.ts +3 -0
- package/dist/ScriptedEvents/Library/index.d.ts.map +1 -0
- package/dist/ScriptedEvents/Library/index.js +3 -0
- package/dist/ScriptedEvents/Library/index.js.map +1 -0
- package/dist/ScriptedEvents/index.d.ts +42 -0
- package/dist/ScriptedEvents/index.d.ts.map +1 -0
- package/dist/ScriptedEvents/index.js +61 -0
- package/dist/ScriptedEvents/index.js.map +1 -0
- package/dist/SoundManager/index.d.ts +69 -0
- package/dist/SoundManager/index.d.ts.map +1 -0
- package/dist/SoundManager/index.js +208 -0
- package/dist/SoundManager/index.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CanvasController/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAwBhD,MAAM,WAAW;IAIL;IACA;IAJF,WAAW,GAAW,OAAO,CAAC;IAEtC,YACU,OAAiC,EACjC,aAA4B;QAD5B,YAAO,GAAP,OAAO,CAA0B;QACjC,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,OAAe,EAAE,IAAgB;QAC3C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC;QACpC,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CACX,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,QAAgB,OAAO,EACvB,SAAkB,IAAI,EACtB,UAAkB,CAAC;QAEnB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CACN,KAAa,EACb,GAAW,EACX,KAAa,EACb,KAAK,GAAG,KAAK,EACb,UAAyB,OAAO;QAEhC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CACR,CAAS,EACT,CAAS,EACT,MAAc,EACd,QAAgB,OAAO,EACvB,SAAkB,IAAI,EACtB,YAAqB,IAAI,EACzB,iBAAyB,KAAK,EAC9B,kBAA0B,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CACN,IAAY,EACZ,CAAS,EACT,CAAS,EACT,QAAgB,OAAO,EACvB,OAAe,MAAM,EACrB,QAAyB,QAAQ,EACjC,IAAa,EACb,OAAyB;QAEzB,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE/B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,OAAO,EAAE,QAAQ;gBAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC;IACtE,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACjC,CAAC;IAEO,QAAQ,CACd,GAA6B,EAC7B,IAAY,EACZ,QAAgB;QAEhB,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;gBACrE,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACjD,OAAO,GAAG,SAAS,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClB,OAAO,GAAG,IAAI,CAAC;oBACf,SAAS;gBACX,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;oBAC/B,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;wBAC5C,KAAK,GAAG,IAAI,CAAC;wBACb,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChB,KAAK,GAAG,IAAI,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,QAAgB,OAAO;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CACnB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CACd,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,IAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,IAAgB;QAChE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CACR,UAAkB,EAClB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,GAAW;QAC1C,0GAA0G;QAC1G,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;gBACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;oBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAClB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,gBAAgB;IACZ,MAAM,CAAoB;IAC1B,OAAO,CAA2B;IAClC,aAAa,GAAkB,IAAI,aAAa,EAAE,CAAC;IACnD,WAAW,CAAc;IAEjC,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,iBAAyB;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CanvasController } from "../CanvasController";
|
|
2
|
+
import type { Game } from "../Game";
|
|
3
|
+
import type { GameObject } from "../GameObject";
|
|
4
|
+
import type { Scene } from "../Scenes";
|
|
5
|
+
import type { SceneManager } from "../Scenes/SceneManager";
|
|
6
|
+
import type { SceneTransition } from "../Scenes/SceneManager/Transitions";
|
|
7
|
+
import { KeyAccumulator } from "../Events/keyAccumulator";
|
|
8
|
+
import type { SoundManager } from "../SoundManager";
|
|
9
|
+
type MessageHandler<TPayload = unknown> = (payload: TPayload, sender?: GameObject | null) => void;
|
|
10
|
+
declare class MessageBus {
|
|
11
|
+
private channels;
|
|
12
|
+
subscribe<TPayload>(channel: string, handler: MessageHandler<TPayload>): () => void;
|
|
13
|
+
unsubscribe<TPayload>(channel: string, handler: MessageHandler<TPayload>): void;
|
|
14
|
+
publish<TPayload>(channel: string, payload: TPayload, sender?: GameObject | null): void;
|
|
15
|
+
}
|
|
16
|
+
type GameContextOptions = {
|
|
17
|
+
game: Game;
|
|
18
|
+
canvas: CanvasController;
|
|
19
|
+
sceneManager: SceneManager;
|
|
20
|
+
keyAccumulator: KeyAccumulator;
|
|
21
|
+
soundManager: SoundManager;
|
|
22
|
+
};
|
|
23
|
+
declare class GameContext {
|
|
24
|
+
private options;
|
|
25
|
+
private messageBus;
|
|
26
|
+
private frameCount;
|
|
27
|
+
private tickCount;
|
|
28
|
+
constructor(options: GameContextOptions);
|
|
29
|
+
getGame(): Game;
|
|
30
|
+
incrementFrameCount(): void;
|
|
31
|
+
getFrameCount(): number;
|
|
32
|
+
getTickCount(): number;
|
|
33
|
+
getTickRate(): number;
|
|
34
|
+
incrementTickCount(): void;
|
|
35
|
+
getCanvas(): CanvasController;
|
|
36
|
+
getSceneManager(): SceneManager;
|
|
37
|
+
getSoundManager(): SoundManager;
|
|
38
|
+
getKeyAccumulator(): KeyAccumulator;
|
|
39
|
+
getCurrentScene(): Scene | null;
|
|
40
|
+
getActiveScenes(): Scene[];
|
|
41
|
+
getAllScenes(): Scene[];
|
|
42
|
+
setCurrentScene(name: string): void;
|
|
43
|
+
pushScene(name: string): void;
|
|
44
|
+
popScene(): Scene | undefined;
|
|
45
|
+
transitionToScene(name: string, transition?: SceneTransition, mode?: "replace" | "push"): Promise<void>;
|
|
46
|
+
sendMessage<TPayload>(channel: string, payload: TPayload, sender?: GameObject | null): void;
|
|
47
|
+
getPressedKeys(): string[];
|
|
48
|
+
isKeyPressed(key: string): boolean;
|
|
49
|
+
subscribeToMessage<TPayload>(channel: string, handler: MessageHandler<TPayload>): () => void;
|
|
50
|
+
}
|
|
51
|
+
export { GameContext, MessageBus };
|
|
52
|
+
export type { MessageHandler };
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Context/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,cAAc,CAAC,QAAQ,GAAG,OAAO,IAAI,CACxC,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,KACvB,IAAI,CAAC;AAEV,cAAM,UAAU;IACd,OAAO,CAAC,QAAQ,CAA0C;IAE1D,SAAS,CAAC,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,MAAM,IAAI;IAUb,WAAW,CAAC,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,IAAI;IAYP,OAAO,CAAC,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,GACzB,IAAI;CAIR;AAED,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,cAAM,WAAW;IAKH,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;gBAEV,OAAO,EAAE,kBAAkB;IAE/C,OAAO,IAAI,IAAI;IAIf,mBAAmB,IAAI,IAAI;IAI3B,aAAa,IAAI,MAAM;IAIvB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,gBAAgB;IAI7B,eAAe,IAAI,YAAY;IAI/B,eAAe,IAAI,YAAY;IAI/B,iBAAiB,IAAI,cAAc;IAInC,eAAe,IAAI,KAAK,GAAG,IAAI;IAI/B,eAAe,IAAI,KAAK,EAAE;IAI1B,YAAY,IAAI,KAAK,EAAE;IAIvB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO7B,QAAQ,IAAI,KAAK,GAAG,SAAS;IAI7B,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,eAAe,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAkB,GACnC,OAAO,CAAC,IAAI,CAAC;IAIhB,WAAW,CAAC,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,GACzB,IAAI;IAIP,cAAc,IAAI,MAAM,EAAE;IAI1B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIlC,kBAAkB,CAAC,QAAQ,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,GAChC,MAAM,IAAI;CAGd;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { KeyAccumulator } from "../Events/keyAccumulator";
|
|
2
|
+
class MessageBus {
|
|
3
|
+
channels = new Map();
|
|
4
|
+
subscribe(channel, handler) {
|
|
5
|
+
const handlers = this.channels.get(channel) ?? new Set();
|
|
6
|
+
handlers.add(handler);
|
|
7
|
+
this.channels.set(channel, handlers);
|
|
8
|
+
return () => {
|
|
9
|
+
this.unsubscribe(channel, handler);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
unsubscribe(channel, handler) {
|
|
13
|
+
const handlers = this.channels.get(channel);
|
|
14
|
+
if (!handlers) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
handlers.delete(handler);
|
|
18
|
+
if (handlers.size === 0) {
|
|
19
|
+
this.channels.delete(channel);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
publish(channel, payload, sender) {
|
|
23
|
+
const handlers = this.channels.get(channel);
|
|
24
|
+
handlers?.forEach((handler) => handler(payload, sender ?? null));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class GameContext {
|
|
28
|
+
options;
|
|
29
|
+
messageBus = new MessageBus();
|
|
30
|
+
frameCount = 0;
|
|
31
|
+
tickCount = 0;
|
|
32
|
+
constructor(options) {
|
|
33
|
+
this.options = options;
|
|
34
|
+
}
|
|
35
|
+
getGame() {
|
|
36
|
+
return this.options.game;
|
|
37
|
+
}
|
|
38
|
+
incrementFrameCount() {
|
|
39
|
+
this.frameCount++;
|
|
40
|
+
}
|
|
41
|
+
getFrameCount() {
|
|
42
|
+
return this.frameCount;
|
|
43
|
+
}
|
|
44
|
+
getTickCount() {
|
|
45
|
+
return this.tickCount;
|
|
46
|
+
}
|
|
47
|
+
getTickRate() {
|
|
48
|
+
return this.options.game.getTickRate();
|
|
49
|
+
}
|
|
50
|
+
incrementTickCount() {
|
|
51
|
+
this.tickCount++;
|
|
52
|
+
}
|
|
53
|
+
getCanvas() {
|
|
54
|
+
return this.options.canvas;
|
|
55
|
+
}
|
|
56
|
+
getSceneManager() {
|
|
57
|
+
return this.options.sceneManager;
|
|
58
|
+
}
|
|
59
|
+
getSoundManager() {
|
|
60
|
+
return this.options.soundManager;
|
|
61
|
+
}
|
|
62
|
+
getKeyAccumulator() {
|
|
63
|
+
return this.options.keyAccumulator;
|
|
64
|
+
}
|
|
65
|
+
getCurrentScene() {
|
|
66
|
+
return this.options.sceneManager.getCurrentScene();
|
|
67
|
+
}
|
|
68
|
+
getActiveScenes() {
|
|
69
|
+
return this.options.sceneManager.getActiveScenes();
|
|
70
|
+
}
|
|
71
|
+
getAllScenes() {
|
|
72
|
+
return this.options.sceneManager.getAllScenes();
|
|
73
|
+
}
|
|
74
|
+
setCurrentScene(name) {
|
|
75
|
+
this.options.sceneManager.setSceneAsCurrent(name);
|
|
76
|
+
}
|
|
77
|
+
pushScene(name) {
|
|
78
|
+
const scene = this.options.sceneManager.getScene(name);
|
|
79
|
+
if (scene) {
|
|
80
|
+
this.options.sceneManager.pushSceneToActive(scene);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
popScene() {
|
|
84
|
+
return this.options.sceneManager.popSceneFromActive();
|
|
85
|
+
}
|
|
86
|
+
transitionToScene(name, transition, mode = "replace") {
|
|
87
|
+
return this.options.sceneManager.transitionToScene(name, transition, mode);
|
|
88
|
+
}
|
|
89
|
+
sendMessage(channel, payload, sender) {
|
|
90
|
+
this.messageBus.publish(channel, payload, sender);
|
|
91
|
+
}
|
|
92
|
+
getPressedKeys() {
|
|
93
|
+
return this.options.keyAccumulator.getPressedKeys();
|
|
94
|
+
}
|
|
95
|
+
isKeyPressed(key) {
|
|
96
|
+
return this.options.keyAccumulator.isPressed(key);
|
|
97
|
+
}
|
|
98
|
+
subscribeToMessage(channel, handler) {
|
|
99
|
+
return this.messageBus.subscribe(channel, handler);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export { GameContext, MessageBus };
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { GameEvent, KeyPressedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseMovedEvent, MouseWheelScrolledEvent } from ".";
|
|
2
|
+
import type { GameObject } from "../GameObject";
|
|
3
|
+
type HandleEventMethod<TObj extends GameObject> = (this: TObj, event: GameEvent, ...args: unknown[]) => unknown;
|
|
4
|
+
type MethodDec<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
|
|
5
|
+
type KeyTickHandler<TObj extends GameObject = GameObject> = (gameObject: TObj) => void;
|
|
6
|
+
declare const KEY_TICK_HANDLERS: unique symbol;
|
|
7
|
+
export declare const composeMethodDecorators: <T>(...decorators: Array<MethodDec<T>>) => MethodDec<T>;
|
|
8
|
+
type BeforeColisionMethod<TObj extends GameObject = GameObject> = (this: TObj, other: GameObject) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Decorator for controlling whether a GameObject should handle collisions with another.
|
|
11
|
+
* If `predicate(self, other)` returns `false`, the decorated method returns `false`.
|
|
12
|
+
*
|
|
13
|
+
* Intended usage:
|
|
14
|
+
* - Apply to `GameObject.beforeColision(other)`
|
|
15
|
+
*/
|
|
16
|
+
export declare const solidTo: <TObj extends GameObject = GameObject>(predicate: (self: TObj, other: GameObject) => boolean) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<BeforeColisionMethod<TObj>>) => TypedPropertyDescriptor<BeforeColisionMethod<TObj>>;
|
|
17
|
+
/**
|
|
18
|
+
* Decorator for handling mouse clicks on hitboxes.
|
|
19
|
+
*/
|
|
20
|
+
export declare const onClick: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseButtonPressedEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
21
|
+
/**
|
|
22
|
+
* Decorator for handling mouse clicks anywhere on the canvas.
|
|
23
|
+
*/
|
|
24
|
+
export declare const onClickAnywhere: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseButtonPressedEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
25
|
+
/**
|
|
26
|
+
* Decorator for handling mouse clicks on hitboxes.
|
|
27
|
+
*/
|
|
28
|
+
export declare const onMouseRelease: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseButtonReleasedEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
29
|
+
/**
|
|
30
|
+
* Decorator for handling mouse wheel scrolling anywhere on the canvas.
|
|
31
|
+
*/
|
|
32
|
+
export declare const onMouseWheel: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseWheelScrolledEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
33
|
+
/**
|
|
34
|
+
* Decorator for making the GameObject grabbable by the mouse
|
|
35
|
+
* it will check colision with all of its hitboxes and if ANY
|
|
36
|
+
* of them has the mouse inside, the gameObject will follow the
|
|
37
|
+
* mouse.
|
|
38
|
+
*/
|
|
39
|
+
export declare const grabbable: <TObj extends GameObject = GameObject>() => (target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
40
|
+
/**
|
|
41
|
+
* Decorator for handling mouse moving over the GameObject
|
|
42
|
+
*/
|
|
43
|
+
export declare const onMouseMoved: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseMovedEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
44
|
+
/**
|
|
45
|
+
* Decorator for handling mouse wheel scrolling over hitboxes.
|
|
46
|
+
*/
|
|
47
|
+
export declare const onMouseWheelOverHitbox: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: MouseWheelScrolledEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
48
|
+
/**
|
|
49
|
+
* Decorator that runs the handler once when the key becomes pressed.
|
|
50
|
+
*/
|
|
51
|
+
export declare function onKeyPressed<TObj extends GameObject = GameObject>(key: string, handler: (gameObject: TObj, event: KeyPressedEvent) => void): (target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
52
|
+
/**
|
|
53
|
+
* Decorator that runs the handler every tick while the key is held.
|
|
54
|
+
*/
|
|
55
|
+
export declare function onKeyHold<TObj extends GameObject = GameObject>(key: string, handler: (gameObject: TObj, event: KeyPressedEvent) => void): (target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
56
|
+
/**
|
|
57
|
+
* Decorator that runs the handler once when all keys in the combo become pressed.
|
|
58
|
+
*/
|
|
59
|
+
export declare function onKeyComboPressed<TObj extends GameObject = GameObject>(keys: string[], handler: (gameObject: TObj, event: KeyPressedEvent) => void): (target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
60
|
+
/**
|
|
61
|
+
* Decorator that runs the handler every tick while all keys in the combo are held.
|
|
62
|
+
*/
|
|
63
|
+
export declare function onKeyComboHold<TObj extends GameObject = GameObject>(keys: string[], handler: (gameObject: TObj, event: KeyPressedEvent) => void): (target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
64
|
+
export declare function onChildrenEvents<TObj extends GameObject = GameObject>(): (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
65
|
+
/**
|
|
66
|
+
* Decorator for handling hover events on hitboxes.
|
|
67
|
+
*/
|
|
68
|
+
export declare const onHover: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: GameEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
69
|
+
/**
|
|
70
|
+
* Decorator for handling stop hovering events on hitboxes.
|
|
71
|
+
*/
|
|
72
|
+
export declare const onStopHovering: <TObj extends GameObject = GameObject>(handler: (gameObject: TObj, event: GameEvent) => void) => (_target: Object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<HandleEventMethod<TObj>>) => TypedPropertyDescriptor<HandleEventMethod<TObj>>;
|
|
73
|
+
export { KEY_TICK_HANDLERS, type KeyTickHandler };
|
|
74
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/Events/decorators.ts"],"names":[],"mappings":"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"}
|