cluaupp 0.1.0
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/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/bin/cluau.js +4 -0
- package/bin/cluaupp.js +4 -0
- package/docs/README.md +20 -0
- package/docs/architecture.md +110 -0
- package/docs/cli.md +69 -0
- package/docs/comparison.md +37 -0
- package/docs/config.md +31 -0
- package/docs/cpp-advanced.md +71 -0
- package/docs/cpp-const.md +52 -0
- package/docs/cpp-organization.md +61 -0
- package/docs/cpp-safety.md +58 -0
- package/docs/cpp-types.md +66 -0
- package/docs/getting-started.md +169 -0
- package/docs/intro.md +37 -0
- package/docs/libraries.md +77 -0
- package/docs/roblox-api.md +81 -0
- package/docs/syntax.md +131 -0
- package/include/cluaupp/datatypes.hpp +581 -0
- package/include/cluaupp/generated/enums.hpp +4920 -0
- package/include/cluaupp/generated/instances.hpp +12489 -0
- package/include/cluaupp/libs/chrono.hpp +26 -0
- package/include/cluaupp/libs/cmdr.hpp +16 -0
- package/include/cluaupp/libs/dataservice.hpp +141 -0
- package/include/cluaupp/libs/display.hpp +13 -0
- package/include/cluaupp/libs/ezvisual.hpp +18 -0
- package/include/cluaupp/libs/formatnumber.hpp +15 -0
- package/include/cluaupp/libs/fusion.hpp +41 -0
- package/include/cluaupp/libs/iris.hpp +40 -0
- package/include/cluaupp/libs/janitor.hpp +35 -0
- package/include/cluaupp/libs/math.hpp +14 -0
- package/include/cluaupp/libs/module3d.hpp +25 -0
- package/include/cluaupp/libs/net.hpp +42 -0
- package/include/cluaupp/libs/promise.hpp +30 -0
- package/include/cluaupp/libs/spring.hpp +18 -0
- package/include/cluaupp/libs/statemachine.hpp +19 -0
- package/include/cluaupp/libs/stickybillboard.hpp +14 -0
- package/include/cluaupp/libs/topbarplus.hpp +29 -0
- package/include/cluaupp/libs/twinkle.hpp +15 -0
- package/include/cluaupp/libs/vfx.hpp +13 -0
- package/include/cluaupp/libs.hpp +25 -0
- package/include/cluaupp/roblox.hpp +28 -0
- package/package.json +65 -0
- package/runtime/ArrayIndexer/init.luau +144 -0
- package/runtime/Chrono/Client/ClientClock.luau +202 -0
- package/runtime/Chrono/Client/InterpolationBuffer.luau +74 -0
- package/runtime/Chrono/Client/ModelResolver.luau +53 -0
- package/runtime/Chrono/Client/Player.luau +113 -0
- package/runtime/Chrono/Client/Receiver.luau +395 -0
- package/runtime/Chrono/Client/Replicate.luau +333 -0
- package/runtime/Chrono/Client/Sender.luau +205 -0
- package/runtime/Chrono/LICENSE +21 -0
- package/runtime/Chrono/Server/EntityGrid.luau +299 -0
- package/runtime/Chrono/Server/Player.luau +141 -0
- package/runtime/Chrono/Server/Receiver.luau +287 -0
- package/runtime/Chrono/Server/Replicate.luau +415 -0
- package/runtime/Chrono/Server/Sender.luau +306 -0
- package/runtime/Chrono/Server/ServerClock.luau +50 -0
- package/runtime/Chrono/Shared/ApplyMounts.luau +137 -0
- package/runtime/Chrono/Shared/Bin.luau +31 -0
- package/runtime/Chrono/Shared/ClockUnwrap.luau +70 -0
- package/runtime/Chrono/Shared/Config.luau +264 -0
- package/runtime/Chrono/Shared/Entity.luau +1016 -0
- package/runtime/Chrono/Shared/Events.luau +39 -0
- package/runtime/Chrono/Shared/Holder.luau +210 -0
- package/runtime/Chrono/Shared/InterpolationMath.luau +51 -0
- package/runtime/Chrono/Shared/ModelHelper.luau +122 -0
- package/runtime/Chrono/Shared/Remotes/ClientClockRelay.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/ClientHeartbeat.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/ClientLoaded.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/Death.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/Heartbeat.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/Replicate.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/ReplicateFull.model.json +3 -0
- package/runtime/Chrono/Shared/Remotes/SafeReplicate.model.json +3 -0
- package/runtime/Chrono/Shared/ReplicationRules.luau +122 -0
- package/runtime/Chrono/Shared/Signal.luau +219 -0
- package/runtime/Chrono/Shared/Snapshots.luau +218 -0
- package/runtime/Chrono/Shared/Stats.luau +204 -0
- package/runtime/Chrono/Shared/Ticker.luau +112 -0
- package/runtime/Chrono/Shared/Types.luau +247 -0
- package/runtime/Chrono/Shared/Warn.luau +33 -0
- package/runtime/Chrono/Shared/_CUSTOM_MODEL_REP/init.model.json +3 -0
- package/runtime/Chrono/_impl/Client/ClientClock.luau +202 -0
- package/runtime/Chrono/_impl/Client/InterpolationBuffer.luau +74 -0
- package/runtime/Chrono/_impl/Client/ModelResolver.luau +53 -0
- package/runtime/Chrono/_impl/Client/Player.luau +113 -0
- package/runtime/Chrono/_impl/Client/Receiver.luau +395 -0
- package/runtime/Chrono/_impl/Client/Replicate.luau +333 -0
- package/runtime/Chrono/_impl/Client/Sender.luau +205 -0
- package/runtime/Chrono/_impl/LICENSE +21 -0
- package/runtime/Chrono/_impl/Server/EntityGrid.luau +299 -0
- package/runtime/Chrono/_impl/Server/Player.luau +141 -0
- package/runtime/Chrono/_impl/Server/Receiver.luau +287 -0
- package/runtime/Chrono/_impl/Server/Replicate.luau +415 -0
- package/runtime/Chrono/_impl/Server/Sender.luau +306 -0
- package/runtime/Chrono/_impl/Server/ServerClock.luau +50 -0
- package/runtime/Chrono/_impl/Shared/ApplyMounts.luau +137 -0
- package/runtime/Chrono/_impl/Shared/Bin.luau +31 -0
- package/runtime/Chrono/_impl/Shared/ClockUnwrap.luau +70 -0
- package/runtime/Chrono/_impl/Shared/Config.luau +264 -0
- package/runtime/Chrono/_impl/Shared/Entity.luau +1016 -0
- package/runtime/Chrono/_impl/Shared/Events.luau +39 -0
- package/runtime/Chrono/_impl/Shared/Holder.luau +210 -0
- package/runtime/Chrono/_impl/Shared/InterpolationMath.luau +51 -0
- package/runtime/Chrono/_impl/Shared/ModelHelper.luau +122 -0
- package/runtime/Chrono/_impl/Shared/Remotes/ClientClockRelay.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/ClientHeartbeat.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/ClientLoaded.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/Death.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/Heartbeat.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/Replicate.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/ReplicateFull.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/Remotes/SafeReplicate.model.json +3 -0
- package/runtime/Chrono/_impl/Shared/ReplicationRules.luau +122 -0
- package/runtime/Chrono/_impl/Shared/Signal.luau +219 -0
- package/runtime/Chrono/_impl/Shared/Snapshots.luau +218 -0
- package/runtime/Chrono/_impl/Shared/Stats.luau +204 -0
- package/runtime/Chrono/_impl/Shared/Ticker.luau +112 -0
- package/runtime/Chrono/_impl/Shared/Types.luau +247 -0
- package/runtime/Chrono/_impl/Shared/Warn.luau +33 -0
- package/runtime/Chrono/_impl/Shared/_CUSTOM_MODEL_REP/init.model.json +3 -0
- package/runtime/Chrono/_impl/init.luau +96 -0
- package/runtime/Chrono/init.luau +14 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/announce.luau +21 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/announceServer.luau +17 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/ban.luau +59 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/banServer.luau +30 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/gotoPlace.luau +35 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/gotoPlaceServer.luau +17 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/kick.luau +19 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/kickServer.luau +27 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/kill.luau +13 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/killServer.luau +13 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/respawn.luau +15 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/respawnServer.luau +7 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/teleport.luau +30 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/teleportServer.luau +26 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/unban.luau +26 -0
- package/runtime/Cmdr/BuiltInCommands/Admin/unbanServer.luau +10 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/blink.luau +35 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/fetch.luau +12 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/fetchServer.luau +7 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/getPlayerPlaceInstance.luau +20 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/getPlayerPlaceInstanceServer.luau +28 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/position.luau +30 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/thru.luau +50 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/uptime.luau +6 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/uptimeServer.luau +12 -0
- package/runtime/Cmdr/BuiltInCommands/Debug/version.luau +12 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/alias.luau +22 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/bind.luau +104 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/clear.luau +20 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/convertTimestamp.luau +18 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/echo.luau +17 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/edit.luau +75 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/exit.luau +11 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/history.luau +27 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/hover.luau +21 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/jsonArrayDecode.luau +25 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/jsonArrayEncode.luau +18 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/len.luau +16 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/math.luau +36 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/pick.luau +21 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/rand.luau +27 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/replace.luau +32 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/resolve.luau +32 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/run.luau +20 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/runLines.luau +34 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/runif.luau +95 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/unbind.luau +27 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/var.luau +29 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/varServer.luau +37 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/varSet.luau +30 -0
- package/runtime/Cmdr/BuiltInCommands/Utility/varSetServer.luau +29 -0
- package/runtime/Cmdr/BuiltInCommands/help.luau +96 -0
- package/runtime/Cmdr/BuiltInTypes/BrickColor.luau +258 -0
- package/runtime/Cmdr/BuiltInTypes/Color3.luau +59 -0
- package/runtime/Cmdr/BuiltInTypes/Command.luau +23 -0
- package/runtime/Cmdr/BuiltInTypes/Duration.luau +111 -0
- package/runtime/Cmdr/BuiltInTypes/JSON.luau +13 -0
- package/runtime/Cmdr/BuiltInTypes/MathOperator.luau +43 -0
- package/runtime/Cmdr/BuiltInTypes/Player.luau +36 -0
- package/runtime/Cmdr/BuiltInTypes/PlayerId.luau +66 -0
- package/runtime/Cmdr/BuiltInTypes/Primitives.luau +145 -0
- package/runtime/Cmdr/BuiltInTypes/StoredKey.luau +33 -0
- package/runtime/Cmdr/BuiltInTypes/Team.luau +49 -0
- package/runtime/Cmdr/BuiltInTypes/Type.luau +23 -0
- package/runtime/Cmdr/BuiltInTypes/URL.luau +18 -0
- package/runtime/Cmdr/BuiltInTypes/UserInput.luau +32 -0
- package/runtime/Cmdr/BuiltInTypes/Vector.luau +58 -0
- package/runtime/Cmdr/CmdrClient/CmdrInterface/AutoComplete.luau +240 -0
- package/runtime/Cmdr/CmdrClient/CmdrInterface/CreateGui.luau +227 -0
- package/runtime/Cmdr/CmdrClient/CmdrInterface/Window.luau +713 -0
- package/runtime/Cmdr/CmdrClient/CmdrInterface/init.luau +18 -0
- package/runtime/Cmdr/CmdrClient/DefaultEventHandlers.luau +18 -0
- package/runtime/Cmdr/CmdrClient/Shared/Argument.luau +395 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/HasCharacter.luau +39 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/IsDataStoreAvailable.luau +36 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/MaxArrayLength.luau +10 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/MaxStringLength.luau +10 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/NonEmptyString.luau +10 -0
- package/runtime/Cmdr/CmdrClient/Shared/BuiltInGuards/NotEquals.luau +8 -0
- package/runtime/Cmdr/CmdrClient/Shared/Command.luau +415 -0
- package/runtime/Cmdr/CmdrClient/Shared/Dispatcher.luau +407 -0
- package/runtime/Cmdr/CmdrClient/Shared/Registry.luau +717 -0
- package/runtime/Cmdr/CmdrClient/Shared/Util.luau +879 -0
- package/runtime/Cmdr/CmdrClient/init.luau +377 -0
- package/runtime/Cmdr/LICENSE +21 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/announce.luau +21 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/announceServer.luau +17 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/ban.luau +59 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/banServer.luau +30 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/gotoPlace.luau +35 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/gotoPlaceServer.luau +17 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/kick.luau +19 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/kickServer.luau +27 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/kill.luau +13 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/killServer.luau +13 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/respawn.luau +15 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/respawnServer.luau +7 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/teleport.luau +30 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/teleportServer.luau +26 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/unban.luau +26 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Admin/unbanServer.luau +10 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/blink.luau +35 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/fetch.luau +12 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/fetchServer.luau +7 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/getPlayerPlaceInstance.luau +20 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/getPlayerPlaceInstanceServer.luau +28 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/position.luau +30 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/thru.luau +50 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/uptime.luau +6 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/uptimeServer.luau +12 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Debug/version.luau +12 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/alias.luau +22 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/bind.luau +104 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/clear.luau +20 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/convertTimestamp.luau +18 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/echo.luau +17 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/edit.luau +75 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/exit.luau +11 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/history.luau +27 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/hover.luau +21 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/jsonArrayDecode.luau +25 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/jsonArrayEncode.luau +18 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/len.luau +16 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/math.luau +36 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/pick.luau +21 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/rand.luau +27 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/replace.luau +32 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/resolve.luau +32 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/run.luau +20 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/runLines.luau +34 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/runif.luau +95 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/unbind.luau +27 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/var.luau +29 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/varServer.luau +37 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/varSet.luau +30 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/Utility/varSetServer.luau +29 -0
- package/runtime/Cmdr/_impl/BuiltInCommands/help.luau +96 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/BrickColor.luau +258 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Color3.luau +59 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Command.luau +23 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Duration.luau +111 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/JSON.luau +13 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/MathOperator.luau +43 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Player.luau +36 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/PlayerId.luau +66 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Primitives.luau +145 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/StoredKey.luau +33 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Team.luau +49 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Type.luau +23 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/URL.luau +18 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/UserInput.luau +32 -0
- package/runtime/Cmdr/_impl/BuiltInTypes/Vector.luau +58 -0
- package/runtime/Cmdr/_impl/CmdrClient/CmdrInterface/AutoComplete.luau +240 -0
- package/runtime/Cmdr/_impl/CmdrClient/CmdrInterface/CreateGui.luau +227 -0
- package/runtime/Cmdr/_impl/CmdrClient/CmdrInterface/Window.luau +713 -0
- package/runtime/Cmdr/_impl/CmdrClient/CmdrInterface/init.luau +18 -0
- package/runtime/Cmdr/_impl/CmdrClient/DefaultEventHandlers.luau +18 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/Argument.luau +395 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/HasCharacter.luau +39 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/IsDataStoreAvailable.luau +36 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/MaxArrayLength.luau +10 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/MaxStringLength.luau +10 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/NonEmptyString.luau +10 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/BuiltInGuards/NotEquals.luau +8 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/Command.luau +415 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/Dispatcher.luau +407 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/Registry.luau +717 -0
- package/runtime/Cmdr/_impl/CmdrClient/Shared/Util.luau +879 -0
- package/runtime/Cmdr/_impl/CmdrClient/init.luau +377 -0
- package/runtime/Cmdr/_impl/LICENSE +21 -0
- package/runtime/Cmdr/_impl/init.luau +178 -0
- package/runtime/Cmdr/init.luau +8 -0
- package/runtime/DataService/Client.luau +209 -0
- package/runtime/DataService/Data.luau +886 -0
- package/runtime/DataService/Enum.luau +6 -0
- package/runtime/DataService/Enums.luau +10 -0
- package/runtime/DataService/Packages/quicknet/DataTypes.luau +70 -0
- package/runtime/DataService/Packages/quicknet/Enums.luau +85 -0
- package/runtime/DataService/Packages/quicknet/EnumsToNativeTypes.luau +57 -0
- package/runtime/DataService/Packages/quicknet/Parser.luau +355 -0
- package/runtime/DataService/Packages/quicknet/QuickNet.luau +953 -0
- package/runtime/DataService/Packages/quicknet/Serialize.luau +2020 -0
- package/runtime/DataService/Packages/quicknet/Types.luau +72 -0
- package/runtime/DataService/Packages/quicknet/init.luau +1 -0
- package/runtime/DataService/Packages/signal/init.luau +433 -0
- package/runtime/DataService/Path.luau +236 -0
- package/runtime/DataService/ProfileStore.luau +2243 -0
- package/runtime/DataService/Replicator.luau +172 -0
- package/runtime/DataService/Server.luau +412 -0
- package/runtime/DataService/init.luau +204 -0
- package/runtime/Display/LICENSE +201 -0
- package/runtime/Display/_impl/LICENSE +201 -0
- package/runtime/Display/_impl/init.luau +269 -0
- package/runtime/Display/_impl/option.luau +237 -0
- package/runtime/Display/init.luau +10 -0
- package/runtime/Display/option.luau +237 -0
- package/runtime/EzVisualz/Dropshadow.luau +148 -0
- package/runtime/EzVisualz/Gradient.luau +452 -0
- package/runtime/EzVisualz/GradientTemplates/Bubblegum.luau +16 -0
- package/runtime/EzVisualz/GradientTemplates/Chrome.luau +16 -0
- package/runtime/EzVisualz/GradientTemplates/Death.luau +15 -0
- package/runtime/EzVisualz/GradientTemplates/Electric.luau +14 -0
- package/runtime/EzVisualz/GradientTemplates/Fire.luau +13 -0
- package/runtime/EzVisualz/GradientTemplates/Galaxy.luau +11 -0
- package/runtime/EzVisualz/GradientTemplates/Ghost.luau +16 -0
- package/runtime/EzVisualz/GradientTemplates/Gold.luau +14 -0
- package/runtime/EzVisualz/GradientTemplates/Green.luau +14 -0
- package/runtime/EzVisualz/GradientTemplates/Ice.luau +14 -0
- package/runtime/EzVisualz/GradientTemplates/Lava.luau +15 -0
- package/runtime/EzVisualz/GradientTemplates/Matrix.luau +19 -0
- package/runtime/EzVisualz/GradientTemplates/Neon.luau +12 -0
- package/runtime/EzVisualz/GradientTemplates/Oceanic.luau +15 -0
- package/runtime/EzVisualz/GradientTemplates/Rainbow.luau +13 -0
- package/runtime/EzVisualz/GradientTemplates/Silver.luau +12 -0
- package/runtime/EzVisualz/GradientTemplates/Sunset.luau +11 -0
- package/runtime/EzVisualz/GradientTemplates/Zebra.luau +18 -0
- package/runtime/EzVisualz/GradientTemplates/init.luau +9 -0
- package/runtime/EzVisualz/LICENSE.md +21 -0
- package/runtime/EzVisualz/Presets/Bubblegum.luau +36 -0
- package/runtime/EzVisualz/Presets/ChromeStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/DeathStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/ElectricStroke.luau +54 -0
- package/runtime/EzVisualz/Presets/FireStroke.luau +29 -0
- package/runtime/EzVisualz/Presets/GalaxyStroke.luau +31 -0
- package/runtime/EzVisualz/Presets/Ghost.luau +10 -0
- package/runtime/EzVisualz/Presets/GhostStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/Gold.luau +10 -0
- package/runtime/EzVisualz/Presets/GoldStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/GreenOutline.luau +23 -0
- package/runtime/EzVisualz/Presets/IceStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/Lava.luau +9 -0
- package/runtime/EzVisualz/Presets/LavaStroke.luau +13 -0
- package/runtime/EzVisualz/Presets/Matrix.luau +21 -0
- package/runtime/EzVisualz/Presets/NeonStroke.luau +30 -0
- package/runtime/EzVisualz/Presets/OceanicStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/Rainbow.luau +9 -0
- package/runtime/EzVisualz/Presets/RainbowOutline.luau +23 -0
- package/runtime/EzVisualz/Presets/RainbowStroke.luau +13 -0
- package/runtime/EzVisualz/Presets/Shine.luau +48 -0
- package/runtime/EzVisualz/Presets/ShineOutline.luau +66 -0
- package/runtime/EzVisualz/Presets/Silver.luau +10 -0
- package/runtime/EzVisualz/Presets/SilverStroke.luau +15 -0
- package/runtime/EzVisualz/Presets/SunsetStroke.luau +31 -0
- package/runtime/EzVisualz/Presets/WaveStroke.luau +33 -0
- package/runtime/EzVisualz/Presets/Zebra.luau +21 -0
- package/runtime/EzVisualz/Presets/init.luau +9 -0
- package/runtime/EzVisualz/Stroke.luau +167 -0
- package/runtime/EzVisualz/Util.luau +7 -0
- package/runtime/EzVisualz/_impl/Dropshadow.luau +148 -0
- package/runtime/EzVisualz/_impl/Gradient.luau +452 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Bubblegum.luau +16 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Chrome.luau +16 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Death.luau +15 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Electric.luau +14 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Fire.luau +13 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Galaxy.luau +11 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Ghost.luau +16 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Gold.luau +14 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Green.luau +14 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Ice.luau +14 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Lava.luau +15 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Matrix.luau +19 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Neon.luau +12 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Oceanic.luau +15 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Rainbow.luau +13 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Silver.luau +12 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Sunset.luau +11 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/Zebra.luau +18 -0
- package/runtime/EzVisualz/_impl/GradientTemplates/init.luau +9 -0
- package/runtime/EzVisualz/_impl/LICENSE.md +21 -0
- package/runtime/EzVisualz/_impl/Presets/Bubblegum.luau +36 -0
- package/runtime/EzVisualz/_impl/Presets/ChromeStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/DeathStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/ElectricStroke.luau +54 -0
- package/runtime/EzVisualz/_impl/Presets/FireStroke.luau +29 -0
- package/runtime/EzVisualz/_impl/Presets/GalaxyStroke.luau +31 -0
- package/runtime/EzVisualz/_impl/Presets/Ghost.luau +10 -0
- package/runtime/EzVisualz/_impl/Presets/GhostStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/Gold.luau +10 -0
- package/runtime/EzVisualz/_impl/Presets/GoldStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/GreenOutline.luau +23 -0
- package/runtime/EzVisualz/_impl/Presets/IceStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/Lava.luau +9 -0
- package/runtime/EzVisualz/_impl/Presets/LavaStroke.luau +13 -0
- package/runtime/EzVisualz/_impl/Presets/Matrix.luau +21 -0
- package/runtime/EzVisualz/_impl/Presets/NeonStroke.luau +30 -0
- package/runtime/EzVisualz/_impl/Presets/OceanicStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/Rainbow.luau +9 -0
- package/runtime/EzVisualz/_impl/Presets/RainbowOutline.luau +23 -0
- package/runtime/EzVisualz/_impl/Presets/RainbowStroke.luau +13 -0
- package/runtime/EzVisualz/_impl/Presets/Shine.luau +48 -0
- package/runtime/EzVisualz/_impl/Presets/ShineOutline.luau +66 -0
- package/runtime/EzVisualz/_impl/Presets/Silver.luau +10 -0
- package/runtime/EzVisualz/_impl/Presets/SilverStroke.luau +15 -0
- package/runtime/EzVisualz/_impl/Presets/SunsetStroke.luau +31 -0
- package/runtime/EzVisualz/_impl/Presets/WaveStroke.luau +33 -0
- package/runtime/EzVisualz/_impl/Presets/Zebra.luau +21 -0
- package/runtime/EzVisualz/_impl/Presets/init.luau +9 -0
- package/runtime/EzVisualz/_impl/Stroke.luau +167 -0
- package/runtime/EzVisualz/_impl/Util.luau +7 -0
- package/runtime/EzVisualz/_impl/init.luau +319 -0
- package/runtime/EzVisualz/_impl/wally.lock +8 -0
- package/runtime/EzVisualz/_impl/wally.toml +8 -0
- package/runtime/EzVisualz/init.luau +9 -0
- package/runtime/EzVisualz/wally.lock +8 -0
- package/runtime/EzVisualz/wally.toml +8 -0
- package/runtime/FormatNumber/LICENSE.md +25 -0
- package/runtime/FormatNumber/Main/DecimalFormatSymbols.lua +43 -0
- package/runtime/FormatNumber/Main/IntegerWidth.lua +41 -0
- package/runtime/FormatNumber/Main/Notation.lua +116 -0
- package/runtime/FormatNumber/Main/Precision.lua +179 -0
- package/runtime/FormatNumber/Main/init.lua +199 -0
- package/runtime/FormatNumber/Simple/init.lua +76 -0
- package/runtime/FormatNumber/Version.lua +82 -0
- package/runtime/FormatNumber/_impl/LICENSE.md +25 -0
- package/runtime/FormatNumber/_impl/Main/DecimalFormatSymbols.lua +43 -0
- package/runtime/FormatNumber/_impl/Main/IntegerWidth.lua +41 -0
- package/runtime/FormatNumber/_impl/Main/Notation.lua +116 -0
- package/runtime/FormatNumber/_impl/Main/Precision.lua +179 -0
- package/runtime/FormatNumber/_impl/Main/init.lua +199 -0
- package/runtime/FormatNumber/_impl/Simple/init.lua +76 -0
- package/runtime/FormatNumber/_impl/Version.lua +82 -0
- package/runtime/FormatNumber/_impl/_internal/class.lua +204 -0
- package/runtime/FormatNumber/_impl/_internal/decimal_conversion.lua +30 -0
- package/runtime/FormatNumber/_impl/_internal/enums.lua +55 -0
- package/runtime/FormatNumber/_impl/_internal/format.lua +342 -0
- package/runtime/FormatNumber/_impl/_internal/formatter_settings.lua +160 -0
- package/runtime/FormatNumber/_impl/_internal/init.lua +8 -0
- package/runtime/FormatNumber/_impl/_internal/skeleton.lua +541 -0
- package/runtime/FormatNumber/_impl/init.lua +20 -0
- package/runtime/FormatNumber/_internal/class.lua +204 -0
- package/runtime/FormatNumber/_internal/decimal_conversion.lua +30 -0
- package/runtime/FormatNumber/_internal/enums.lua +55 -0
- package/runtime/FormatNumber/_internal/format.lua +342 -0
- package/runtime/FormatNumber/_internal/formatter_settings.lua +160 -0
- package/runtime/FormatNumber/_internal/init.lua +8 -0
- package/runtime/FormatNumber/_internal/skeleton.lua +541 -0
- package/runtime/FormatNumber/init.lua +20 -0
- package/runtime/FormatNumber/init.luau +20 -0
- package/runtime/Fusion/Animation/ExternalTime.luau +84 -0
- package/runtime/Fusion/Animation/Spring.luau +313 -0
- package/runtime/Fusion/Animation/Stopwatch.luau +128 -0
- package/runtime/Fusion/Animation/Tween.luau +178 -0
- package/runtime/Fusion/Animation/getTweenDuration.luau +27 -0
- package/runtime/Fusion/Animation/getTweenRatio.luau +47 -0
- package/runtime/Fusion/Animation/lerpType.luau +164 -0
- package/runtime/Fusion/Animation/packType.luau +100 -0
- package/runtime/Fusion/Animation/springCoefficients.luau +80 -0
- package/runtime/Fusion/Animation/unpackType.luau +103 -0
- package/runtime/Fusion/Colour/Oklab.luau +70 -0
- package/runtime/Fusion/Colour/sRGB.luau +47 -0
- package/runtime/Fusion/External.luau +156 -0
- package/runtime/Fusion/ExternalDebug.luau +70 -0
- package/runtime/Fusion/Graph/Observer.luau +111 -0
- package/runtime/Fusion/Graph/castToGraph.luau +29 -0
- package/runtime/Fusion/Graph/change.luau +81 -0
- package/runtime/Fusion/Graph/depend.luau +33 -0
- package/runtime/Fusion/Graph/evaluate.luau +56 -0
- package/runtime/Fusion/Instances/Attribute.luau +58 -0
- package/runtime/Fusion/Instances/AttributeChange.luau +47 -0
- package/runtime/Fusion/Instances/AttributeOut.luau +63 -0
- package/runtime/Fusion/Instances/Child.luau +21 -0
- package/runtime/Fusion/Instances/Children.luau +148 -0
- package/runtime/Fusion/Instances/Hydrate.luau +29 -0
- package/runtime/Fusion/Instances/New.luau +48 -0
- package/runtime/Fusion/Instances/OnChange.luau +50 -0
- package/runtime/Fusion/Instances/OnEvent.luau +54 -0
- package/runtime/Fusion/Instances/Out.luau +69 -0
- package/runtime/Fusion/Instances/Tag.luau +61 -0
- package/runtime/Fusion/Instances/applyInstanceProps.luau +149 -0
- package/runtime/Fusion/Instances/defaultProps.luau +194 -0
- package/runtime/Fusion/LICENSE +21 -0
- package/runtime/Fusion/Logging/formatError.luau +49 -0
- package/runtime/Fusion/Logging/messages.luau +46 -0
- package/runtime/Fusion/Logging/parseError.luau +25 -0
- package/runtime/Fusion/Memory/checkLifetime.luau +134 -0
- package/runtime/Fusion/Memory/deriveScope.luau +24 -0
- package/runtime/Fusion/Memory/deriveScopeImpl.luau +40 -0
- package/runtime/Fusion/Memory/doCleanup.luau +91 -0
- package/runtime/Fusion/Memory/innerScope.luau +34 -0
- package/runtime/Fusion/Memory/insert.luau +22 -0
- package/runtime/Fusion/Memory/needsDestruction.luau +17 -0
- package/runtime/Fusion/Memory/scoped.luau +24 -0
- package/runtime/Fusion/RobloxExternal.luau +98 -0
- package/runtime/Fusion/State/Computed.luau +122 -0
- package/runtime/Fusion/State/For/Disassembly.luau +207 -0
- package/runtime/Fusion/State/For/ForTypes.luau +30 -0
- package/runtime/Fusion/State/For/init.luau +101 -0
- package/runtime/Fusion/State/ForKeys.luau +88 -0
- package/runtime/Fusion/State/ForPairs.luau +91 -0
- package/runtime/Fusion/State/ForValues.luau +88 -0
- package/runtime/Fusion/State/Value.luau +76 -0
- package/runtime/Fusion/State/castToState.luau +26 -0
- package/runtime/Fusion/State/peek.luau +31 -0
- package/runtime/Fusion/State/updateAll.luau +1 -0
- package/runtime/Fusion/Types.luau +318 -0
- package/runtime/Fusion/Utility/Contextual.luau +91 -0
- package/runtime/Fusion/Utility/Safe.luau +23 -0
- package/runtime/Fusion/Utility/isSimilar.luau +29 -0
- package/runtime/Fusion/Utility/merge.luau +35 -0
- package/runtime/Fusion/Utility/nameOf.luau +35 -0
- package/runtime/Fusion/Utility/never.luau +14 -0
- package/runtime/Fusion/Utility/nicknames.luau +11 -0
- package/runtime/Fusion/Utility/xtypeof.luau +27 -0
- package/runtime/Fusion/_impl/Animation/ExternalTime.luau +84 -0
- package/runtime/Fusion/_impl/Animation/Spring.luau +313 -0
- package/runtime/Fusion/_impl/Animation/Stopwatch.luau +128 -0
- package/runtime/Fusion/_impl/Animation/Tween.luau +178 -0
- package/runtime/Fusion/_impl/Animation/getTweenDuration.luau +27 -0
- package/runtime/Fusion/_impl/Animation/getTweenRatio.luau +47 -0
- package/runtime/Fusion/_impl/Animation/lerpType.luau +164 -0
- package/runtime/Fusion/_impl/Animation/packType.luau +100 -0
- package/runtime/Fusion/_impl/Animation/springCoefficients.luau +80 -0
- package/runtime/Fusion/_impl/Animation/unpackType.luau +103 -0
- package/runtime/Fusion/_impl/Colour/Oklab.luau +70 -0
- package/runtime/Fusion/_impl/Colour/sRGB.luau +47 -0
- package/runtime/Fusion/_impl/External.luau +156 -0
- package/runtime/Fusion/_impl/ExternalDebug.luau +70 -0
- package/runtime/Fusion/_impl/Graph/Observer.luau +111 -0
- package/runtime/Fusion/_impl/Graph/castToGraph.luau +29 -0
- package/runtime/Fusion/_impl/Graph/change.luau +81 -0
- package/runtime/Fusion/_impl/Graph/depend.luau +33 -0
- package/runtime/Fusion/_impl/Graph/evaluate.luau +56 -0
- package/runtime/Fusion/_impl/Instances/Attribute.luau +58 -0
- package/runtime/Fusion/_impl/Instances/AttributeChange.luau +47 -0
- package/runtime/Fusion/_impl/Instances/AttributeOut.luau +63 -0
- package/runtime/Fusion/_impl/Instances/Child.luau +21 -0
- package/runtime/Fusion/_impl/Instances/Children.luau +148 -0
- package/runtime/Fusion/_impl/Instances/Hydrate.luau +29 -0
- package/runtime/Fusion/_impl/Instances/New.luau +48 -0
- package/runtime/Fusion/_impl/Instances/OnChange.luau +50 -0
- package/runtime/Fusion/_impl/Instances/OnEvent.luau +54 -0
- package/runtime/Fusion/_impl/Instances/Out.luau +69 -0
- package/runtime/Fusion/_impl/Instances/Tag.luau +61 -0
- package/runtime/Fusion/_impl/Instances/applyInstanceProps.luau +149 -0
- package/runtime/Fusion/_impl/Instances/defaultProps.luau +194 -0
- package/runtime/Fusion/_impl/LICENSE +21 -0
- package/runtime/Fusion/_impl/Logging/formatError.luau +49 -0
- package/runtime/Fusion/_impl/Logging/messages.luau +46 -0
- package/runtime/Fusion/_impl/Logging/parseError.luau +25 -0
- package/runtime/Fusion/_impl/Memory/checkLifetime.luau +134 -0
- package/runtime/Fusion/_impl/Memory/deriveScope.luau +24 -0
- package/runtime/Fusion/_impl/Memory/deriveScopeImpl.luau +40 -0
- package/runtime/Fusion/_impl/Memory/doCleanup.luau +91 -0
- package/runtime/Fusion/_impl/Memory/innerScope.luau +34 -0
- package/runtime/Fusion/_impl/Memory/insert.luau +22 -0
- package/runtime/Fusion/_impl/Memory/needsDestruction.luau +17 -0
- package/runtime/Fusion/_impl/Memory/scoped.luau +24 -0
- package/runtime/Fusion/_impl/RobloxExternal.luau +98 -0
- package/runtime/Fusion/_impl/State/Computed.luau +122 -0
- package/runtime/Fusion/_impl/State/For/Disassembly.luau +207 -0
- package/runtime/Fusion/_impl/State/For/ForTypes.luau +30 -0
- package/runtime/Fusion/_impl/State/For/init.luau +101 -0
- package/runtime/Fusion/_impl/State/ForKeys.luau +88 -0
- package/runtime/Fusion/_impl/State/ForPairs.luau +91 -0
- package/runtime/Fusion/_impl/State/ForValues.luau +88 -0
- package/runtime/Fusion/_impl/State/Value.luau +76 -0
- package/runtime/Fusion/_impl/State/castToState.luau +26 -0
- package/runtime/Fusion/_impl/State/peek.luau +31 -0
- package/runtime/Fusion/_impl/State/updateAll.luau +1 -0
- package/runtime/Fusion/_impl/Types.luau +318 -0
- package/runtime/Fusion/_impl/Utility/Contextual.luau +91 -0
- package/runtime/Fusion/_impl/Utility/Safe.luau +23 -0
- package/runtime/Fusion/_impl/Utility/isSimilar.luau +29 -0
- package/runtime/Fusion/_impl/Utility/merge.luau +35 -0
- package/runtime/Fusion/_impl/Utility/nameOf.luau +35 -0
- package/runtime/Fusion/_impl/Utility/never.luau +14 -0
- package/runtime/Fusion/_impl/Utility/nicknames.luau +11 -0
- package/runtime/Fusion/_impl/Utility/xtypeof.luau +27 -0
- package/runtime/Fusion/_impl/init.luau +83 -0
- package/runtime/Fusion/init.luau +27 -0
- package/runtime/Iris/API.lua +2085 -0
- package/runtime/Iris/Internal.lua +895 -0
- package/runtime/Iris/LICENSE.txt +21 -0
- package/runtime/Iris/PubTypes.lua +43 -0
- package/runtime/Iris/Types.lua +660 -0
- package/runtime/Iris/WidgetTypes.lua +521 -0
- package/runtime/Iris/_impl/API.lua +2085 -0
- package/runtime/Iris/_impl/Internal.lua +895 -0
- package/runtime/Iris/_impl/LICENSE.txt +21 -0
- package/runtime/Iris/_impl/PubTypes.lua +43 -0
- package/runtime/Iris/_impl/Types.lua +660 -0
- package/runtime/Iris/_impl/WidgetTypes.lua +521 -0
- package/runtime/Iris/_impl/config.lua +305 -0
- package/runtime/Iris/_impl/init.lua +696 -0
- package/runtime/Iris/_impl/widgets/Button.lua +90 -0
- package/runtime/Iris/_impl/widgets/Checkbox.lua +115 -0
- package/runtime/Iris/_impl/widgets/Combo.lua +492 -0
- package/runtime/Iris/_impl/widgets/Format.lua +140 -0
- package/runtime/Iris/_impl/widgets/Image.lua +155 -0
- package/runtime/Iris/_impl/widgets/Input.lua +1232 -0
- package/runtime/Iris/_impl/widgets/Menu.lua +599 -0
- package/runtime/Iris/_impl/widgets/Plot.lua +639 -0
- package/runtime/Iris/_impl/widgets/RadioButton.lua +126 -0
- package/runtime/Iris/_impl/widgets/Root.lua +143 -0
- package/runtime/Iris/_impl/widgets/Tab.lua +333 -0
- package/runtime/Iris/_impl/widgets/Table.lua +635 -0
- package/runtime/Iris/_impl/widgets/Text.lua +132 -0
- package/runtime/Iris/_impl/widgets/Tree.lua +287 -0
- package/runtime/Iris/_impl/widgets/Window.lua +1075 -0
- package/runtime/Iris/_impl/widgets/init.lua +447 -0
- package/runtime/Iris/config.lua +305 -0
- package/runtime/Iris/init.lua +696 -0
- package/runtime/Iris/init.luau +12 -0
- package/runtime/Iris/widgets/Button.lua +90 -0
- package/runtime/Iris/widgets/Checkbox.lua +115 -0
- package/runtime/Iris/widgets/Combo.lua +492 -0
- package/runtime/Iris/widgets/Format.lua +140 -0
- package/runtime/Iris/widgets/Image.lua +155 -0
- package/runtime/Iris/widgets/Input.lua +1232 -0
- package/runtime/Iris/widgets/Menu.lua +599 -0
- package/runtime/Iris/widgets/Plot.lua +639 -0
- package/runtime/Iris/widgets/RadioButton.lua +126 -0
- package/runtime/Iris/widgets/Root.lua +143 -0
- package/runtime/Iris/widgets/Tab.lua +333 -0
- package/runtime/Iris/widgets/Table.lua +635 -0
- package/runtime/Iris/widgets/Text.lua +132 -0
- package/runtime/Iris/widgets/Tree.lua +287 -0
- package/runtime/Iris/widgets/Window.lua +1075 -0
- package/runtime/Iris/widgets/init.lua +447 -0
- package/runtime/Janitor/FastDefer.luau +33 -0
- package/runtime/Janitor/LICENSE +21 -0
- package/runtime/Janitor/_impl/FastDefer.luau +33 -0
- package/runtime/Janitor/_impl/LICENSE +21 -0
- package/runtime/Janitor/_impl/init.luau +999 -0
- package/runtime/Janitor/init.luau +45 -0
- package/runtime/MathUtils/init.luau +100 -0
- package/runtime/Module3D/LICENSE +21 -0
- package/runtime/Module3D/_impl/LICENSE +21 -0
- package/runtime/Module3D/_impl/init.luau +269 -0
- package/runtime/Module3D/init.luau +14 -0
- package/runtime/Net/init.luau +125 -0
- package/runtime/Net/src/codec.luau +153 -0
- package/runtime/Occlude/init.luau +54 -0
- package/runtime/Promise/LICENSE +21 -0
- package/runtime/Promise/_impl/LICENSE +21 -0
- package/runtime/Promise/_impl/init.lua +1991 -0
- package/runtime/Promise/init.lua +1990 -0
- package/runtime/Promise/init.luau +13 -0
- package/runtime/Promise/types.luau +46 -0
- package/runtime/SOURCES.md +22 -0
- package/runtime/Spring/LICENSE +201 -0
- package/runtime/Spring/_impl/LICENSE +201 -0
- package/runtime/Spring/_impl/init.luau +111 -0
- package/runtime/Spring/init.luau +24 -0
- package/runtime/StateMachine/Classes/State.lua +375 -0
- package/runtime/StateMachine/Classes/Transition.lua +336 -0
- package/runtime/StateMachine/Functions/deepCopy.lua +19 -0
- package/runtime/StateMachine/Functions/mergeTables.lua +22 -0
- package/runtime/StateMachine/LICENSE +19 -0
- package/runtime/StateMachine/Vendor/Signal.lua +386 -0
- package/runtime/StateMachine/Vendor/Trove.lua +188 -0
- package/runtime/StateMachine/_impl/Classes/State.lua +375 -0
- package/runtime/StateMachine/_impl/Classes/Transition.lua +336 -0
- package/runtime/StateMachine/_impl/Functions/deepCopy.lua +19 -0
- package/runtime/StateMachine/_impl/Functions/mergeTables.lua +22 -0
- package/runtime/StateMachine/_impl/LICENSE +19 -0
- package/runtime/StateMachine/_impl/Vendor/Signal.lua +386 -0
- package/runtime/StateMachine/_impl/Vendor/Trove.lua +188 -0
- package/runtime/StateMachine/_impl/init.lua +595 -0
- package/runtime/StateMachine/init.lua +595 -0
- package/runtime/StateMachine/init.luau +10 -0
- package/runtime/StickyBillboard/init.luau +167 -0
- package/runtime/TopbarPlus/Attribute.lua +35 -0
- package/runtime/TopbarPlus/Elements/Caption.lua +316 -0
- package/runtime/TopbarPlus/Elements/Container.lua +215 -0
- package/runtime/TopbarPlus/Elements/Dropdown.lua +315 -0
- package/runtime/TopbarPlus/Elements/Indicator.lua +91 -0
- package/runtime/TopbarPlus/Elements/Menu.lua +180 -0
- package/runtime/TopbarPlus/Elements/Notice.lua +113 -0
- package/runtime/TopbarPlus/Elements/Selection.lua +49 -0
- package/runtime/TopbarPlus/Elements/Widget.lua +437 -0
- package/runtime/TopbarPlus/Features/Gamepad.lua +201 -0
- package/runtime/TopbarPlus/Features/Overflow.lua +360 -0
- package/runtime/TopbarPlus/Features/Themes/Classic.lua +27 -0
- package/runtime/TopbarPlus/Features/Themes/Default.lua +75 -0
- package/runtime/TopbarPlus/Features/Themes/init.lua +353 -0
- package/runtime/TopbarPlus/LICENSE +381 -0
- package/runtime/TopbarPlus/Packages/GoodSignal.lua +182 -0
- package/runtime/TopbarPlus/Packages/Janitor.lua +322 -0
- package/runtime/TopbarPlus/Reference.lua +30 -0
- package/runtime/TopbarPlus/Types.lua +477 -0
- package/runtime/TopbarPlus/Utility.lua +462 -0
- package/runtime/TopbarPlus/VERSION.lua +51 -0
- package/runtime/TopbarPlus/_impl/Attribute.lua +35 -0
- package/runtime/TopbarPlus/_impl/Elements/Caption.lua +316 -0
- package/runtime/TopbarPlus/_impl/Elements/Container.lua +215 -0
- package/runtime/TopbarPlus/_impl/Elements/Dropdown.lua +315 -0
- package/runtime/TopbarPlus/_impl/Elements/Indicator.lua +91 -0
- package/runtime/TopbarPlus/_impl/Elements/Menu.lua +180 -0
- package/runtime/TopbarPlus/_impl/Elements/Notice.lua +113 -0
- package/runtime/TopbarPlus/_impl/Elements/Selection.lua +49 -0
- package/runtime/TopbarPlus/_impl/Elements/Widget.lua +437 -0
- package/runtime/TopbarPlus/_impl/Features/Gamepad.lua +201 -0
- package/runtime/TopbarPlus/_impl/Features/Overflow.lua +360 -0
- package/runtime/TopbarPlus/_impl/Features/Themes/Classic.lua +27 -0
- package/runtime/TopbarPlus/_impl/Features/Themes/Default.lua +75 -0
- package/runtime/TopbarPlus/_impl/Features/Themes/init.lua +353 -0
- package/runtime/TopbarPlus/_impl/LICENSE +381 -0
- package/runtime/TopbarPlus/_impl/Packages/GoodSignal.lua +182 -0
- package/runtime/TopbarPlus/_impl/Packages/Janitor.lua +322 -0
- package/runtime/TopbarPlus/_impl/Reference.lua +30 -0
- package/runtime/TopbarPlus/_impl/Types.lua +477 -0
- package/runtime/TopbarPlus/_impl/Utility.lua +462 -0
- package/runtime/TopbarPlus/_impl/VERSION.lua +51 -0
- package/runtime/TopbarPlus/_impl/init.lua +1249 -0
- package/runtime/TopbarPlus/init.lua +1249 -0
- package/runtime/TopbarPlus/init.luau +8 -0
- package/runtime/Twinkle/init.luau +157 -0
- package/runtime/VfxUtil/init.luau +164 -0
- package/src/api.generated.js +3675 -0
- package/src/api.js +57 -0
- package/src/architecture.js +393 -0
- package/src/cli.js +192 -0
- package/src/compile.js +40 -0
- package/src/emit.js +213 -0
- package/src/lex.js +149 -0
- package/src/libs.js +355 -0
- package/src/parse.js +421 -0
- package/src/preprocess.js +80 -0
- package/src/understand.js +453 -0
- package/templates/game/.clangd +5 -0
- package/templates/game/.vscode/c_cpp_properties.json +23 -0
- package/templates/game/.vscode/settings.json +12 -0
- package/templates/game/Packages/.gitkeep +0 -0
- package/templates/game/cluaupp.config.json +6 -0
- package/templates/game/compile_flags.txt +3 -0
- package/templates/game/default.project.json +39 -0
- package/templates/game/package.json +9 -0
- package/templates/game/src/client/init.client.cpp +5 -0
- package/templates/game/src/server/leaderstats.server.cpp +28 -0
- package/templates/game/src/shared/config.cpp +5 -0
- package/templates/game/src/shared/config.h +3 -0
- package/templates/game/wally.toml +11 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
local Transition = require(script.Parent.Transition)
|
|
2
|
+
local mergeTables = require(script.Parent.Parent.Functions.mergeTables)
|
|
3
|
+
|
|
4
|
+
--[=[
|
|
5
|
+
@class State
|
|
6
|
+
|
|
7
|
+
Describes one of the many states an object can have. It also declares
|
|
8
|
+
how it should behave when it enters, is and leaves the given state
|
|
9
|
+
]=]
|
|
10
|
+
local State = {}
|
|
11
|
+
State.__index = State
|
|
12
|
+
State.Type = "State"
|
|
13
|
+
--[=[
|
|
14
|
+
@prop Name string
|
|
15
|
+
@within State
|
|
16
|
+
|
|
17
|
+
The name of the state. This is used to identify the state. Usually set while creating the state
|
|
18
|
+
|
|
19
|
+
```lua
|
|
20
|
+
local Blue: State = State.new("Blue")
|
|
21
|
+
```
|
|
22
|
+
]=]
|
|
23
|
+
State.Name = "" :: string
|
|
24
|
+
--[=[
|
|
25
|
+
@prop Transitions string
|
|
26
|
+
@within State
|
|
27
|
+
|
|
28
|
+
A reference for the transitions of this state. This is usually set while creating the state
|
|
29
|
+
|
|
30
|
+
```lua
|
|
31
|
+
local GoToBlue = require(script.Parent.Parent.Transitions.GoToBlue)
|
|
32
|
+
|
|
33
|
+
local State = StateMachine.State
|
|
34
|
+
|
|
35
|
+
local Default = State.new("Default")
|
|
36
|
+
Default.Transitions = {GoToBlue}
|
|
37
|
+
```
|
|
38
|
+
]=]
|
|
39
|
+
State.Transitions = {} :: {Transition.Transition}
|
|
40
|
+
--[=[
|
|
41
|
+
@prop Data {[string]: any}
|
|
42
|
+
@within State
|
|
43
|
+
|
|
44
|
+
Contains the state machine data, it can be accessed from within the class
|
|
45
|
+
]=]
|
|
46
|
+
State.Data = {} :: {[string]: any}
|
|
47
|
+
--[=[
|
|
48
|
+
@prop _transitions {[string]: Transition.Transition}
|
|
49
|
+
@within State
|
|
50
|
+
@private
|
|
51
|
+
|
|
52
|
+
Used to cache the transitions objects
|
|
53
|
+
]=]
|
|
54
|
+
State._transitions = {} :: {[string]: Transition.Transition}
|
|
55
|
+
--[=[
|
|
56
|
+
@prop _changeState (newState: string)->()?
|
|
57
|
+
@within State
|
|
58
|
+
@private
|
|
59
|
+
|
|
60
|
+
This is used to change the state of the state machine. This is set by the state machine itself
|
|
61
|
+
]=]
|
|
62
|
+
State._changeState = nil :: (newState: string)->()?
|
|
63
|
+
--[=[
|
|
64
|
+
@prop _changeData (index: string, newValue: any)->()?
|
|
65
|
+
@within State
|
|
66
|
+
@private
|
|
67
|
+
|
|
68
|
+
This is used to change the data of the state machine. This is set by the state machine itself
|
|
69
|
+
]=]
|
|
70
|
+
State._changeData = nil :: (index: string, newValue: any)-> ()?
|
|
71
|
+
--[=[
|
|
72
|
+
@prop _getState (index: string, newValue: any)-> string
|
|
73
|
+
@within State
|
|
74
|
+
@private
|
|
75
|
+
|
|
76
|
+
Gets the current state of our state machine
|
|
77
|
+
]=]
|
|
78
|
+
State._getState = nil :: (index: string, newValue: any)-> string
|
|
79
|
+
--[=[
|
|
80
|
+
@prop _getPreviousState ()-> string?
|
|
81
|
+
@within State
|
|
82
|
+
@private
|
|
83
|
+
|
|
84
|
+
Gets the previous state of our state machine
|
|
85
|
+
]=]
|
|
86
|
+
State._getPreviousState = nil :: ()-> string?
|
|
87
|
+
--[=[
|
|
88
|
+
Used to create a new State. The state should manage how the object should behave during
|
|
89
|
+
that given state. I personally recommend having your states in their own files for organizational
|
|
90
|
+
purposes
|
|
91
|
+
|
|
92
|
+
```lua
|
|
93
|
+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
|
94
|
+
|
|
95
|
+
local StateMachine = require(ReplicatedStorage.RobloxStateMachine)
|
|
96
|
+
local State = StateMachine.State
|
|
97
|
+
|
|
98
|
+
local Default = State.new("Blue") -- The name of this state is "Blue"
|
|
99
|
+
Default.Transitions = { -- The transitions that will be listened to while in the blue state
|
|
100
|
+
transition1,
|
|
101
|
+
transition2
|
|
102
|
+
}
|
|
103
|
+
function Default:OnEnter(data)
|
|
104
|
+
data.part.Color = Color3.fromRGB(0, 166, 255) --This will turn the part Blue when it enters the state blue
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
return Default
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
@param stateName string?
|
|
111
|
+
|
|
112
|
+
@return State
|
|
113
|
+
]=]
|
|
114
|
+
function State.new(stateName: string?): State
|
|
115
|
+
local self = setmetatable({}, State)
|
|
116
|
+
|
|
117
|
+
self.Name = stateName or ""
|
|
118
|
+
self.Transitions = {}
|
|
119
|
+
|
|
120
|
+
return self
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
--[=[
|
|
124
|
+
Extends a state inheriting the behavior from the parent state
|
|
125
|
+
|
|
126
|
+
```lua
|
|
127
|
+
local state = State.new("Blue")
|
|
128
|
+
|
|
129
|
+
function state:Print()
|
|
130
|
+
print("Hello World!")
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
local extendedState = state:Extend("Red")
|
|
134
|
+
|
|
135
|
+
function extendedState:OnInit()
|
|
136
|
+
self:Print() -- Will print "Hello World!"
|
|
137
|
+
end
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
@param stateName string
|
|
141
|
+
|
|
142
|
+
@return State
|
|
143
|
+
]=]
|
|
144
|
+
function State:Extend(stateName: string): State
|
|
145
|
+
return mergeTables(State.new(stateName), self)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
--[=[
|
|
149
|
+
Forcelly changes the current state of our state machine to a new one
|
|
150
|
+
|
|
151
|
+
@param newState string -- The name of the new state
|
|
152
|
+
|
|
153
|
+
@return ()
|
|
154
|
+
]=]
|
|
155
|
+
function State:ChangeState(newState: string): ()
|
|
156
|
+
if not self._changeState then
|
|
157
|
+
return
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
self._changeState(newState)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
--[=[
|
|
164
|
+
Gets the current state of our state machine
|
|
165
|
+
|
|
166
|
+
@return string
|
|
167
|
+
]=]
|
|
168
|
+
function State:GetState(): string
|
|
169
|
+
if not self._getState then
|
|
170
|
+
return ""
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
return self._getState()
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
--[=[
|
|
177
|
+
Gets the previous state of our state machine
|
|
178
|
+
|
|
179
|
+
@return string
|
|
180
|
+
]=]
|
|
181
|
+
function State:GetPreviousState(): string
|
|
182
|
+
if not self._getPreviousState then
|
|
183
|
+
return ""
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
return self._getPreviousState()
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
--[=[
|
|
190
|
+
Changing data request. You can also just Get the data and change the data at run time.
|
|
191
|
+
|
|
192
|
+
```lua
|
|
193
|
+
local example: State = State.new("Blue")
|
|
194
|
+
|
|
195
|
+
function example:OnEnter(data)
|
|
196
|
+
self:ChangeData("color", Color3.fromRGB(255, 0, 0)) -- Change to red :D
|
|
197
|
+
|
|
198
|
+
data.part.Color = data.color
|
|
199
|
+
end
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
@param index string
|
|
203
|
+
@param newValue any
|
|
204
|
+
|
|
205
|
+
@return ()
|
|
206
|
+
]=]
|
|
207
|
+
function State:ChangeData(index: string, newValue: any): ()
|
|
208
|
+
if not self._changeData then
|
|
209
|
+
return
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
self._changeData(index, newValue)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
--[=[
|
|
216
|
+
:::info
|
|
217
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
218
|
+
:::
|
|
219
|
+
|
|
220
|
+
Called whenever a state machine is created with this state.
|
|
221
|
+
|
|
222
|
+
```lua
|
|
223
|
+
function State:OnInit(data)
|
|
224
|
+
print("I was init!")
|
|
225
|
+
self.SomeStartingData = tick()
|
|
226
|
+
end
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
230
|
+
|
|
231
|
+
@return ()
|
|
232
|
+
]=]
|
|
233
|
+
function State:OnInit(_data: {[string]: any}): ()
|
|
234
|
+
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
--[=[
|
|
238
|
+
:::info
|
|
239
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
240
|
+
:::
|
|
241
|
+
|
|
242
|
+
```lua
|
|
243
|
+
function State:CanChangeState(targetState: string)
|
|
244
|
+
return targetState == "Blue" -- If the target state is blue, we can change to it
|
|
245
|
+
end
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
@param _targetState string -- The state we are trying to change to
|
|
249
|
+
|
|
250
|
+
@return boolean -- Whether or not we can change to the given state
|
|
251
|
+
]=]
|
|
252
|
+
function State:CanChangeState(_targetState: string): boolean
|
|
253
|
+
return true
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
--[=[
|
|
257
|
+
:::info
|
|
258
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
259
|
+
:::
|
|
260
|
+
|
|
261
|
+
:::warning
|
|
262
|
+
**OnDataChanged** only gets called when the data is changed by a **ChangeData** call
|
|
263
|
+
:::
|
|
264
|
+
|
|
265
|
+
Called whenever the data of the state machine changes.
|
|
266
|
+
|
|
267
|
+
```lua
|
|
268
|
+
function State:OnDataChanged(data, index, newValue, oldValue)
|
|
269
|
+
if index == "SomeStartingData" then
|
|
270
|
+
self.SomeStartingData = value
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
276
|
+
@param _index any -- The index of the data that changed
|
|
277
|
+
@param _value any -- The new value of the data
|
|
278
|
+
@param _oldValue any -- The old value of the data
|
|
279
|
+
|
|
280
|
+
@return ()
|
|
281
|
+
]=]
|
|
282
|
+
function State:OnDataChanged(_data: {[string]: any}, _index: any, _value: any, _oldValue: any): ()
|
|
283
|
+
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
--[=[
|
|
287
|
+
:::info
|
|
288
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
289
|
+
:::
|
|
290
|
+
|
|
291
|
+
Called whenever you enter this state
|
|
292
|
+
|
|
293
|
+
```lua
|
|
294
|
+
function State:OnEnter(data)
|
|
295
|
+
data.part.Color = Color3.fromRGB(0, 166, 255)
|
|
296
|
+
end
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
300
|
+
|
|
301
|
+
@return ()
|
|
302
|
+
]=]
|
|
303
|
+
function State:OnEnter(_data: {[string]: any}): ()
|
|
304
|
+
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
--[=[
|
|
308
|
+
:::info
|
|
309
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
310
|
+
:::
|
|
311
|
+
|
|
312
|
+
Called every frame after the physics simulation while in this state
|
|
313
|
+
|
|
314
|
+
```lua
|
|
315
|
+
function Default:OnHeartbeat(data, deltaTime: number)
|
|
316
|
+
self.timePassed += deltaTime
|
|
317
|
+
end
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
321
|
+
@param _deltaTime number
|
|
322
|
+
|
|
323
|
+
@return ()
|
|
324
|
+
]=]
|
|
325
|
+
function State:OnHeartbeat(_data: {[string]: any}, _deltaTime: number): ()
|
|
326
|
+
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
--[=[
|
|
330
|
+
:::info
|
|
331
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
332
|
+
:::
|
|
333
|
+
|
|
334
|
+
Called whenever you leave this state
|
|
335
|
+
|
|
336
|
+
```lua
|
|
337
|
+
function State:OnLeave(data)
|
|
338
|
+
data.stuff:Clean()
|
|
339
|
+
end
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
343
|
+
|
|
344
|
+
@return ()
|
|
345
|
+
]=]
|
|
346
|
+
function State:OnLeave(_data: {[string]: any}): ()
|
|
347
|
+
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
--[=[
|
|
351
|
+
:::info
|
|
352
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
353
|
+
:::
|
|
354
|
+
|
|
355
|
+
Called whenever the state machine is destroyed
|
|
356
|
+
|
|
357
|
+
```lua
|
|
358
|
+
function State:OnDestroy()
|
|
359
|
+
print("I was destroyed!")
|
|
360
|
+
end
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
@return ()
|
|
364
|
+
]=]
|
|
365
|
+
function State:OnDestroy(): ()
|
|
366
|
+
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
export type State = typeof(State)
|
|
370
|
+
|
|
371
|
+
return setmetatable(State, {
|
|
372
|
+
__call = function(_, properties): State
|
|
373
|
+
return State.new(properties)
|
|
374
|
+
end
|
|
375
|
+
})
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
local mergeTables = require(script.Parent.Parent.Functions.mergeTables)
|
|
2
|
+
|
|
3
|
+
--[=[
|
|
4
|
+
@class Transition
|
|
5
|
+
|
|
6
|
+
Dictates how and when should you move between different states
|
|
7
|
+
]=]
|
|
8
|
+
local Transition = {}
|
|
9
|
+
Transition.__index = Transition
|
|
10
|
+
Transition.Type = "Transition"
|
|
11
|
+
--[=[
|
|
12
|
+
@prop Name string
|
|
13
|
+
@within Transition
|
|
14
|
+
|
|
15
|
+
The name of the state. This is used to identify the state. Usually set while creating the state
|
|
16
|
+
|
|
17
|
+
```lua
|
|
18
|
+
local Transition = StateMachine.Transition
|
|
19
|
+
|
|
20
|
+
local GoToBlue = Transition.new("Blue")
|
|
21
|
+
GoToBlue.Name = "GoToBlue"
|
|
22
|
+
```
|
|
23
|
+
]=]
|
|
24
|
+
Transition.Name = "" :: string
|
|
25
|
+
--[=[
|
|
26
|
+
@prop TargetState string
|
|
27
|
+
@within Transition
|
|
28
|
+
|
|
29
|
+
The name of the state. This is used to identify the state. Usually set while creating the state
|
|
30
|
+
|
|
31
|
+
```lua
|
|
32
|
+
local Transition = StateMachine.Transition
|
|
33
|
+
|
|
34
|
+
local GoToBlue = Transition.new("Blue") -- The target state is now "Blue"
|
|
35
|
+
print(GoToBlue.TargetState) -- "Blue"
|
|
36
|
+
```
|
|
37
|
+
]=]
|
|
38
|
+
Transition.TargetState = "" :: string
|
|
39
|
+
--[=[
|
|
40
|
+
@prop Data {[string]: any}
|
|
41
|
+
@within Transition
|
|
42
|
+
|
|
43
|
+
Contains the state machine data, it can be accessed from within the class
|
|
44
|
+
|
|
45
|
+
```lua
|
|
46
|
+
local Default: State = State.new("Blue")
|
|
47
|
+
|
|
48
|
+
function Default:OnInit(data)
|
|
49
|
+
print(self.Data)
|
|
50
|
+
end
|
|
51
|
+
```
|
|
52
|
+
]=]
|
|
53
|
+
Transition.Data = {} :: {[string]: any}
|
|
54
|
+
--[=[
|
|
55
|
+
@prop _changeState (newState: string)->()?
|
|
56
|
+
@within Transition
|
|
57
|
+
@private
|
|
58
|
+
|
|
59
|
+
This is used to change the state of the state machine. This is set by the state machine itself
|
|
60
|
+
]=]
|
|
61
|
+
Transition._changeState = nil :: (newState: string)->()?
|
|
62
|
+
--[=[
|
|
63
|
+
@prop _changeData (index: string, newValue: any)->()?
|
|
64
|
+
@within Transition
|
|
65
|
+
@private
|
|
66
|
+
|
|
67
|
+
This is used to change the data of the state machine. This is set by the state machine itself
|
|
68
|
+
]=]
|
|
69
|
+
Transition._changeData = nil :: (index: string, newValue: any)-> ()?
|
|
70
|
+
--[=[
|
|
71
|
+
@prop _getState (index: string, newValue: any)-> string
|
|
72
|
+
@within Transition
|
|
73
|
+
@private
|
|
74
|
+
|
|
75
|
+
Gets the current state of our state machine
|
|
76
|
+
]=]
|
|
77
|
+
Transition._getState = nil :: (index: string, newValue: any)-> string
|
|
78
|
+
--[=[
|
|
79
|
+
@prop _getPreviousState ()-> string?
|
|
80
|
+
@within Transition
|
|
81
|
+
@private
|
|
82
|
+
|
|
83
|
+
Gets the previous state of our state machine
|
|
84
|
+
]=]
|
|
85
|
+
Transition._getPreviousState = nil :: ()-> string?
|
|
86
|
+
|
|
87
|
+
--[=[
|
|
88
|
+
Creates a new transition. Transitions are used to tell our state
|
|
89
|
+
when and how should it move from the current state to a different one.
|
|
90
|
+
They are meant to be reusable and allow us to easily add and reuse transitions
|
|
91
|
+
between states and objects
|
|
92
|
+
|
|
93
|
+
```lua
|
|
94
|
+
local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
|
95
|
+
|
|
96
|
+
local StateMachine = require(ReplicatedStorage.RobloxStateMachine)
|
|
97
|
+
local Transition = StateMachine.Transition
|
|
98
|
+
|
|
99
|
+
local GoToBlue = Transition.new("Blue")
|
|
100
|
+
GoToBlue.OnHearbeat = false
|
|
101
|
+
|
|
102
|
+
function GoToBlue:OnDataChanged(data)
|
|
103
|
+
return tick() - data.time > 10 -- Will change to blue after 10 seconds
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return GoToBlue
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
@param targetState string? -- The state the transition will change to when it meets the requirements
|
|
110
|
+
|
|
111
|
+
@return Transition
|
|
112
|
+
]=]
|
|
113
|
+
function Transition.new(targetState: string?): Transition
|
|
114
|
+
local self = setmetatable({}, Transition)
|
|
115
|
+
self.TargetState = targetState or ""
|
|
116
|
+
|
|
117
|
+
return self
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
--[=[
|
|
121
|
+
Extends a state inheriting the behavior from the parent state
|
|
122
|
+
|
|
123
|
+
```lua
|
|
124
|
+
local transition = Transition.new("Blue")
|
|
125
|
+
|
|
126
|
+
function transition:Print()
|
|
127
|
+
print("Hello World!")
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
local extendedTransition = transition:Extend("Red")
|
|
131
|
+
|
|
132
|
+
function extendedTransition:OnInit()
|
|
133
|
+
self:Print() -- Will print "Hello World!"
|
|
134
|
+
end
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
@param targetState string
|
|
138
|
+
|
|
139
|
+
@return Transition
|
|
140
|
+
]=]
|
|
141
|
+
function Transition:Extend(targetState: string): Transition
|
|
142
|
+
return mergeTables(Transition.new(targetState), self)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
--[=[
|
|
146
|
+
:::info
|
|
147
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
148
|
+
:::
|
|
149
|
+
|
|
150
|
+
Called whenever the state machine is created
|
|
151
|
+
|
|
152
|
+
```lua
|
|
153
|
+
function Transition:OnInit()
|
|
154
|
+
print("Hello World")
|
|
155
|
+
end
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
159
|
+
|
|
160
|
+
@return ()
|
|
161
|
+
]=]
|
|
162
|
+
function Transition:OnInit(_data: {[string]: any}): ()
|
|
163
|
+
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
--[=[
|
|
167
|
+
:::info
|
|
168
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
169
|
+
:::
|
|
170
|
+
|
|
171
|
+
Called whenever you enter this transition object
|
|
172
|
+
|
|
173
|
+
```lua
|
|
174
|
+
function State:OnEnter(data)
|
|
175
|
+
data.part.Color = Color3.fromRGB(0, 166, 255)
|
|
176
|
+
end
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
180
|
+
|
|
181
|
+
@return ()
|
|
182
|
+
]=]
|
|
183
|
+
function Transition:OnEnter(_data: {[string]: any}): ()
|
|
184
|
+
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
--[=[
|
|
188
|
+
:::info
|
|
189
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
190
|
+
:::
|
|
191
|
+
|
|
192
|
+
Called whenever you leave this transition object
|
|
193
|
+
|
|
194
|
+
```lua
|
|
195
|
+
function State:OnLeave(data)
|
|
196
|
+
data.stuff:Clean()
|
|
197
|
+
end
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
@param _data {[string]: any} -- This is the data from the StateMachine itself!
|
|
201
|
+
|
|
202
|
+
@return ()
|
|
203
|
+
]=]
|
|
204
|
+
function Transition:OnLeave(_data: {[string]: any}): ()
|
|
205
|
+
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
--[=[
|
|
210
|
+
:::info
|
|
211
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
212
|
+
:::
|
|
213
|
+
|
|
214
|
+
@deprecated v1.1.7 -- This function is redundant since it essencially just works as a blocker for OnDataChanged
|
|
215
|
+
|
|
216
|
+
Whether it can change to this state or not. It's a good way to lock the current state
|
|
217
|
+
|
|
218
|
+
@param data {[string]: any}
|
|
219
|
+
|
|
220
|
+
@return boolean -- By default it returns true
|
|
221
|
+
]=]
|
|
222
|
+
function Transition:CanChangeState(data: {[string]: any}): boolean
|
|
223
|
+
assert(data, "")
|
|
224
|
+
return true
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
--[=[
|
|
228
|
+
Forcelly changes the current state of our state machine to a new one
|
|
229
|
+
|
|
230
|
+
@param newState string -- The name of the new state
|
|
231
|
+
|
|
232
|
+
@return ()
|
|
233
|
+
]=]
|
|
234
|
+
function Transition:ChangeState(newState: string): ()
|
|
235
|
+
if not self._changeState then
|
|
236
|
+
return
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
self._changeState(newState)
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
--[=[
|
|
243
|
+
:::info
|
|
244
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
245
|
+
:::
|
|
246
|
+
|
|
247
|
+
Should return true if it should change to the target state
|
|
248
|
+
and false if it shouldn't
|
|
249
|
+
|
|
250
|
+
@param data {[string]: any}
|
|
251
|
+
|
|
252
|
+
@return boolean -- By default it returns false
|
|
253
|
+
]=]
|
|
254
|
+
function Transition:OnDataChanged(data: {[string]: any}): boolean
|
|
255
|
+
assert(data, "")
|
|
256
|
+
return false
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
--[=[
|
|
260
|
+
Gets the current state of our state machine
|
|
261
|
+
|
|
262
|
+
@return string
|
|
263
|
+
]=]
|
|
264
|
+
function Transition:GetState(): string
|
|
265
|
+
if not self._getState then
|
|
266
|
+
return ""
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
return self._getState()
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
--[=[
|
|
273
|
+
Gets the previous state of our state machine
|
|
274
|
+
|
|
275
|
+
@return string
|
|
276
|
+
]=]
|
|
277
|
+
function Transition:GetPreviousState(): string
|
|
278
|
+
if not self._getPreviousState then
|
|
279
|
+
return ""
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
return self._getPreviousState()
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
--[=[
|
|
286
|
+
Changing data request. You can also just Get the data and change the data at run time.
|
|
287
|
+
|
|
288
|
+
```lua
|
|
289
|
+
local example: State = State.new("Blue")
|
|
290
|
+
|
|
291
|
+
function example:OnEnter(data)
|
|
292
|
+
self:ChangeData("color", Color3.fromRGB(255, 0, 0)) -- Change to red :D
|
|
293
|
+
|
|
294
|
+
data.part.Color = data.color
|
|
295
|
+
end
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
@param index string
|
|
299
|
+
@param newValue any
|
|
300
|
+
|
|
301
|
+
@return ()
|
|
302
|
+
]=]
|
|
303
|
+
function Transition:ChangeData(index: string, newValue: any): ()
|
|
304
|
+
if not self._changeData then
|
|
305
|
+
return
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
self._changeData(index, newValue)
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
--[=[
|
|
312
|
+
:::info
|
|
313
|
+
This is a **Virtual Method**. Virtual Methods are meant to be overwritten
|
|
314
|
+
:::
|
|
315
|
+
|
|
316
|
+
Called whenever the state machine is destroyed
|
|
317
|
+
|
|
318
|
+
```lua
|
|
319
|
+
function Transition:OnDestroy()
|
|
320
|
+
print("I was destroyed!")
|
|
321
|
+
end
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
@return ()
|
|
325
|
+
]=]
|
|
326
|
+
function Transition:OnDestroy(): ()
|
|
327
|
+
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
export type Transition = typeof(Transition)
|
|
331
|
+
|
|
332
|
+
return setmetatable(Transition, {
|
|
333
|
+
__call = function(_, properties): Transition
|
|
334
|
+
return Transition.new(properties)
|
|
335
|
+
end
|
|
336
|
+
})
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
Deep copy of the object
|
|
3
|
+
]]
|
|
4
|
+
local function deepCopy<T>(object)
|
|
5
|
+
local newObject = setmetatable({}, getmetatable(object)) -- Clone metaData
|
|
6
|
+
|
|
7
|
+
for index: string, value: any in object do
|
|
8
|
+
if typeof(value) == "table" then
|
|
9
|
+
newObject[index] = deepCopy(value)
|
|
10
|
+
continue
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
newObject[index] = value
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
return newObject
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
return deepCopy
|