├── .gitignore
├── ColyseusTechDemo-MMO
├── Assets
│ ├── Art.meta
│ ├── Art
│ │ ├── Animations.meta
│ │ ├── Animations
│ │ │ ├── CoinOpBounce.anim
│ │ │ ├── CoinOpBounce.anim.meta
│ │ │ ├── Entity.meta
│ │ │ ├── Entity
│ │ │ │ ├── Entity.controller
│ │ │ │ ├── Entity.controller.meta
│ │ │ │ ├── Idle.anim
│ │ │ │ ├── Idle.anim.meta
│ │ │ │ ├── WalkCycle.anim
│ │ │ │ └── WalkCycle.anim.meta
│ │ │ ├── Entry Door.controller
│ │ │ ├── Entry Door.controller.meta
│ │ │ ├── Exit Door.controller
│ │ │ ├── Exit Door.controller.meta
│ │ │ ├── transition-room-door-Close-Static.anim
│ │ │ ├── transition-room-door-Close-Static.anim.meta
│ │ │ ├── transition-room-door-Open-Static.anim
│ │ │ └── transition-room-door-Open-Static.anim.meta
│ │ ├── Fonts.meta
│ │ ├── Fonts
│ │ │ ├── big_noodle_titling.ttf
│ │ │ └── big_noodle_titling.ttf.meta
│ │ ├── Materials.meta
│ │ ├── Materials
│ │ │ ├── CoinOp.meta
│ │ │ ├── CoinOp
│ │ │ │ ├── Base.mat
│ │ │ │ ├── Base.mat.meta
│ │ │ │ ├── PlayerPos.mat
│ │ │ │ ├── PlayerPos.mat.meta
│ │ │ │ ├── Spring.mat
│ │ │ │ └── Spring.mat.meta
│ │ │ ├── Compass.meta
│ │ │ ├── Compass
│ │ │ │ ├── Dial.mat
│ │ │ │ ├── Dial.mat.meta
│ │ │ │ ├── Pointer.mat
│ │ │ │ └── Pointer.mat.meta
│ │ │ ├── ElevatorDoor.mat
│ │ │ ├── ElevatorDoor.mat.meta
│ │ │ ├── GreenCarpet.mat
│ │ │ ├── GreenCarpet.mat.meta
│ │ │ ├── Interactables.meta
│ │ │ ├── Interactables
│ │ │ │ ├── Button.mat
│ │ │ │ ├── Button.mat.meta
│ │ │ │ ├── Podium.mat
│ │ │ │ ├── Podium.mat.meta
│ │ │ │ ├── PressedButton.mat
│ │ │ │ ├── PressedButton.mat.meta
│ │ │ │ ├── TeleporterLight.mat
│ │ │ │ └── TeleporterLight.mat.meta
│ │ │ ├── KhakiWall.mat
│ │ │ ├── KhakiWall.mat.meta
│ │ │ ├── Players.meta
│ │ │ ├── Players
│ │ │ │ ├── Hat.mat
│ │ │ │ ├── Hat.mat.meta
│ │ │ │ ├── Pants.mat
│ │ │ │ ├── Pants.mat.meta
│ │ │ │ ├── Shirt.mat
│ │ │ │ ├── Shirt.mat.meta
│ │ │ │ ├── Skin.mat
│ │ │ │ └── Skin.mat.meta
│ │ │ ├── PurpleCarpet.mat
│ │ │ ├── PurpleCarpet.mat.meta
│ │ │ ├── PurpleWall.mat
│ │ │ ├── PurpleWall.mat.meta
│ │ │ ├── Void.mat
│ │ │ └── Void.mat.meta
│ │ ├── Textures.meta
│ │ └── Textures
│ │ │ ├── AvatarPreviewTexture.asset
│ │ │ ├── AvatarPreviewTexture.asset.meta
│ │ │ ├── Back Arrow.png
│ │ │ ├── Back Arrow.png.meta
│ │ │ ├── Compass Render Texture.renderTexture
│ │ │ ├── Compass Render Texture.renderTexture.meta
│ │ │ ├── DarkBlueGradient_BG.png
│ │ │ ├── DarkBlueGradient_BG.png.meta
│ │ │ ├── DarkgreyHalftone_BG.png
│ │ │ ├── DarkgreyHalftone_BG.png.meta
│ │ │ ├── Spinner.png
│ │ │ └── Spinner.png.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── EntityView.prefab
│ │ ├── EntityView.prefab.meta
│ │ ├── Environment.meta
│ │ ├── Environment
│ │ │ ├── Exit.prefab
│ │ │ ├── Exit.prefab.meta
│ │ │ ├── Room_DoubleEntrance.prefab
│ │ │ ├── Room_DoubleEntrance.prefab.meta
│ │ │ ├── Room_SingleEntrance.prefab
│ │ │ ├── Room_SingleEntrance.prefab.meta
│ │ │ ├── Transition Room.prefab
│ │ │ └── Transition Room.prefab.meta
│ │ ├── Interactables.meta
│ │ ├── Interactables
│ │ │ ├── CoinOp.prefab
│ │ │ ├── CoinOp.prefab.meta
│ │ │ ├── FX Swirl.prefab
│ │ │ ├── FX Swirl.prefab.meta
│ │ │ ├── InstructionsText.prefab
│ │ │ ├── InstructionsText.prefab.meta
│ │ │ ├── InteractableButton.prefab
│ │ │ ├── InteractableButton.prefab.meta
│ │ │ ├── Teleporter.prefab
│ │ │ └── Teleporter.prefab.meta
│ │ ├── Model.meta
│ │ ├── Model
│ │ │ ├── Model.prefab
│ │ │ └── Model.prefab.meta
│ │ ├── UI.meta
│ │ └── UI
│ │ │ ├── AvatarCustomization.prefab
│ │ │ ├── AvatarCustomization.prefab.meta
│ │ │ ├── ChatInput.prefab
│ │ │ ├── ChatInput.prefab.meta
│ │ │ ├── ChatMessageDisplay.prefab
│ │ │ ├── ChatMessageDisplay.prefab.meta
│ │ │ ├── ColorSelector.prefab
│ │ │ ├── ColorSelector.prefab.meta
│ │ │ ├── Compass.prefab
│ │ │ ├── Compass.prefab.meta
│ │ │ ├── Controls.prefab
│ │ │ ├── Controls.prefab.meta
│ │ │ ├── GameUI.prefab
│ │ │ ├── GameUI.prefab.meta
│ │ │ ├── Player Tag.prefab
│ │ │ └── Player Tag.prefab.meta
│ ├── Resources.meta
│ ├── Resources
│ │ ├── GridPositions.meta
│ │ └── GridPositions
│ │ │ ├── -1x-1.prefab
│ │ │ ├── -1x-1.prefab.meta
│ │ │ ├── -1x-3.prefab
│ │ │ ├── -1x-3.prefab.meta
│ │ │ ├── -1x0.prefab
│ │ │ ├── -1x0.prefab.meta
│ │ │ ├── -1x1.prefab
│ │ │ ├── -1x1.prefab.meta
│ │ │ ├── -1x3.prefab
│ │ │ ├── -1x3.prefab.meta
│ │ │ ├── -2x-2.prefab
│ │ │ ├── -2x-2.prefab.meta
│ │ │ ├── -2x2.prefab
│ │ │ ├── -2x2.prefab.meta
│ │ │ ├── -3x-1.prefab
│ │ │ ├── -3x-1.prefab.meta
│ │ │ ├── -3x-3.prefab
│ │ │ ├── -3x-3.prefab.meta
│ │ │ ├── -3x0.prefab
│ │ │ ├── -3x0.prefab.meta
│ │ │ ├── -3x1.prefab
│ │ │ ├── -3x1.prefab.meta
│ │ │ ├── -3x3.prefab
│ │ │ ├── -3x3.prefab.meta
│ │ │ ├── 0x-1.prefab
│ │ │ ├── 0x-1.prefab.meta
│ │ │ ├── 0x-3.prefab
│ │ │ ├── 0x-3.prefab.meta
│ │ │ ├── 0x0.prefab
│ │ │ ├── 0x0.prefab.meta
│ │ │ ├── 0x1.prefab
│ │ │ ├── 0x1.prefab.meta
│ │ │ ├── 0x3.prefab
│ │ │ ├── 0x3.prefab.meta
│ │ │ ├── 1x-1.prefab
│ │ │ ├── 1x-1.prefab.meta
│ │ │ ├── 1x-3.prefab
│ │ │ ├── 1x-3.prefab.meta
│ │ │ ├── 1x0.prefab
│ │ │ ├── 1x0.prefab.meta
│ │ │ ├── 1x1.prefab
│ │ │ ├── 1x1.prefab.meta
│ │ │ ├── 1x3.prefab
│ │ │ ├── 1x3.prefab.meta
│ │ │ ├── 2x-2.prefab
│ │ │ ├── 2x-2.prefab.meta
│ │ │ ├── 2x2.prefab
│ │ │ ├── 2x2.prefab.meta
│ │ │ ├── 3x-1.prefab
│ │ │ ├── 3x-1.prefab.meta
│ │ │ ├── 3x-3.prefab
│ │ │ ├── 3x-3.prefab.meta
│ │ │ ├── 3x0.prefab
│ │ │ ├── 3x0.prefab.meta
│ │ │ ├── 3x1.prefab
│ │ │ ├── 3x1.prefab.meta
│ │ │ ├── 3x3.prefab
│ │ │ └── 3x3.prefab.meta
│ ├── Scenes.meta
│ ├── Scenes
│ │ ├── MMOLoginScene.unity
│ │ ├── MMOLoginScene.unity.meta
│ │ ├── TowerScene.unity
│ │ └── TowerScene.unity.meta
│ ├── Scripts.meta
│ ├── Scripts
│ │ ├── CameraController.cs
│ │ ├── CameraController.cs.meta
│ │ ├── Editor.meta
│ │ ├── Editor
│ │ │ ├── TransitionRoomEditor.cs
│ │ │ └── TransitionRoomEditor.cs.meta
│ │ ├── Environment.meta
│ │ ├── Environment
│ │ │ ├── Area.cs
│ │ │ ├── Area.cs.meta
│ │ │ ├── AreaExit.cs
│ │ │ ├── AreaExit.cs.meta
│ │ │ ├── EntryDoorTrigger.cs
│ │ │ ├── EntryDoorTrigger.cs.meta
│ │ │ ├── EnvironmentController.cs
│ │ │ ├── EnvironmentController.cs.meta
│ │ │ ├── Interactables.meta
│ │ │ └── Interactables
│ │ │ │ ├── ButtonPodium.cs
│ │ │ │ ├── ButtonPodium.cs.meta
│ │ │ │ ├── CoinOp.cs
│ │ │ │ ├── CoinOp.cs.meta
│ │ │ │ ├── FXSwirl.cs
│ │ │ │ ├── FXSwirl.cs.meta
│ │ │ │ ├── Interactable.cs
│ │ │ │ ├── Interactable.cs.meta
│ │ │ │ ├── InteractableTrigger.cs
│ │ │ │ ├── InteractableTrigger.cs.meta
│ │ │ │ ├── Teleporter.cs
│ │ │ │ └── Teleporter.cs.meta
│ │ ├── Managers.meta
│ │ ├── Managers
│ │ │ ├── ChatManager.cs
│ │ │ ├── ChatManager.cs.meta
│ │ │ ├── MMOManager.cs
│ │ │ ├── MMOManager.cs.meta
│ │ │ ├── NetworkedEntityFactory.cs
│ │ │ ├── NetworkedEntityFactory.cs.meta
│ │ │ ├── UIManager.cs
│ │ │ └── UIManager.cs.meta
│ │ ├── MessageTypes.cs
│ │ ├── MessageTypes.cs.meta
│ │ ├── Models.meta
│ │ ├── Models
│ │ │ ├── AuthSeatReservationData.cs
│ │ │ ├── AuthSeatReservationData.cs.meta
│ │ │ ├── RequestResponse.cs
│ │ │ ├── RequestResponse.cs.meta
│ │ │ ├── UserAuthData.cs
│ │ │ ├── UserAuthData.cs.meta
│ │ │ ├── UserData.cs
│ │ │ ├── UserData.cs.meta
│ │ │ ├── Vectors.cs
│ │ │ └── Vectors.cs.meta
│ │ ├── Player.meta
│ │ ├── Player
│ │ │ ├── AvatarDisplay.cs
│ │ │ ├── AvatarDisplay.cs.meta
│ │ │ ├── ChatDisplay.cs
│ │ │ ├── ChatDisplay.cs.meta
│ │ │ ├── EntityMovement.cs
│ │ │ ├── EntityMovement.cs.meta
│ │ │ ├── NetworkedEntity.cs
│ │ │ └── NetworkedEntity.cs.meta
│ │ ├── PlayerPrefKeys.cs
│ │ ├── PlayerPrefKeys.cs.meta
│ │ ├── States.meta
│ │ ├── States
│ │ │ ├── AvatarState.Clone.cs
│ │ │ ├── AvatarState.Clone.cs.meta
│ │ │ ├── AvatarState.cs
│ │ │ ├── AvatarState.cs.meta
│ │ │ ├── ChatMessage.cs
│ │ │ ├── ChatMessage.cs.meta
│ │ │ ├── ChatQueue.cs
│ │ │ ├── ChatQueue.cs.meta
│ │ │ ├── ChatRoomState.cs
│ │ │ ├── ChatRoomState.cs.meta
│ │ │ ├── InteractableState.cs
│ │ │ ├── InteractableState.cs.meta
│ │ │ ├── NetworkedEntityState.Clone.cs
│ │ │ ├── NetworkedEntityState.Clone.cs.meta
│ │ │ ├── NetworkedEntityState.cs
│ │ │ ├── NetworkedEntityState.cs.meta
│ │ │ ├── RoomState.cs
│ │ │ └── RoomState.cs.meta
│ │ ├── TransitionRoom.cs
│ │ ├── TransitionRoom.cs.meta
│ │ ├── UI.meta
│ │ ├── UI
│ │ │ ├── AvatarCustomization.cs
│ │ │ ├── AvatarCustomization.cs.meta
│ │ │ ├── ChatInput.cs
│ │ │ ├── ChatInput.cs.meta
│ │ │ ├── ChatMessageView.cs
│ │ │ ├── ChatMessageView.cs.meta
│ │ │ ├── ColorSelector.cs
│ │ │ ├── ColorSelector.cs.meta
│ │ │ ├── Compass.cs
│ │ │ ├── Compass.cs.meta
│ │ │ ├── CreateUserMenu.cs
│ │ │ ├── CreateUserMenu.cs.meta
│ │ │ ├── FaceCamera.cs
│ │ │ ├── FaceCamera.cs.meta
│ │ │ ├── InGameMenu.cs
│ │ │ ├── InGameMenu.cs.meta
│ │ │ ├── LobbyController.cs
│ │ │ ├── LobbyController.cs.meta
│ │ │ ├── PlayerNameTagController.cs
│ │ │ ├── PlayerNameTagController.cs.meta
│ │ │ ├── PlayerTag.cs
│ │ │ ├── PlayerTag.cs.meta
│ │ │ ├── ServerSetupMenu.cs
│ │ │ ├── ServerSetupMenu.cs.meta
│ │ │ ├── UISpinner.cs
│ │ │ └── UISpinner.cs.meta
│ │ ├── Utils.meta
│ │ └── Utils
│ │ │ ├── DontDestroyTag.cs
│ │ │ ├── DontDestroyTag.cs.meta
│ │ │ ├── Easings.cs
│ │ │ └── Easings.cs.meta
│ ├── Settings.meta
│ ├── Settings
│ │ ├── ColyseusSettings.asset
│ │ └── ColyseusSettings.asset.meta
│ ├── TextMesh Pro.meta
│ └── TextMesh Pro
│ │ ├── Documentation.meta
│ │ ├── Documentation
│ │ ├── TextMesh Pro User Guide 2016.pdf
│ │ └── TextMesh Pro User Guide 2016.pdf.meta
│ │ ├── Fonts.meta
│ │ ├── Fonts
│ │ ├── LiberationSans - OFL.txt
│ │ ├── LiberationSans - OFL.txt.meta
│ │ ├── LiberationSans.ttf
│ │ └── LiberationSans.ttf.meta
│ │ ├── Resources.meta
│ │ ├── Resources
│ │ ├── Fonts & Materials.meta
│ │ ├── Fonts & Materials
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta
│ │ │ ├── LiberationSans SDF - Fallback.asset
│ │ │ ├── LiberationSans SDF - Fallback.asset.meta
│ │ │ ├── LiberationSans SDF - Outline.mat
│ │ │ ├── LiberationSans SDF - Outline.mat.meta
│ │ │ ├── LiberationSans SDF.asset
│ │ │ └── LiberationSans SDF.asset.meta
│ │ ├── LineBreaking Following Characters.txt
│ │ ├── LineBreaking Following Characters.txt.meta
│ │ ├── LineBreaking Leading Characters.txt
│ │ ├── LineBreaking Leading Characters.txt.meta
│ │ ├── Sprite Assets.meta
│ │ ├── Sprite Assets
│ │ │ ├── EmojiOne.asset
│ │ │ └── EmojiOne.asset.meta
│ │ ├── Style Sheets.meta
│ │ ├── Style Sheets
│ │ │ ├── Default Style Sheet.asset
│ │ │ └── Default Style Sheet.asset.meta
│ │ ├── TMP Settings.asset
│ │ └── TMP Settings.asset.meta
│ │ ├── Shaders.meta
│ │ ├── Shaders
│ │ ├── TMP_Bitmap-Custom-Atlas.shader
│ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta
│ │ ├── TMP_Bitmap-Mobile.shader
│ │ ├── TMP_Bitmap-Mobile.shader.meta
│ │ ├── TMP_Bitmap.shader
│ │ ├── TMP_Bitmap.shader.meta
│ │ ├── TMP_SDF Overlay.shader
│ │ ├── TMP_SDF Overlay.shader.meta
│ │ ├── TMP_SDF SSD.shader
│ │ ├── TMP_SDF SSD.shader.meta
│ │ ├── TMP_SDF-Mobile Masking.shader
│ │ ├── TMP_SDF-Mobile Masking.shader.meta
│ │ ├── TMP_SDF-Mobile Overlay.shader
│ │ ├── TMP_SDF-Mobile Overlay.shader.meta
│ │ ├── TMP_SDF-Mobile SSD.shader
│ │ ├── TMP_SDF-Mobile SSD.shader.meta
│ │ ├── TMP_SDF-Mobile.shader
│ │ ├── TMP_SDF-Mobile.shader.meta
│ │ ├── TMP_SDF-Surface-Mobile.shader
│ │ ├── TMP_SDF-Surface-Mobile.shader.meta
│ │ ├── TMP_SDF-Surface.shader
│ │ ├── TMP_SDF-Surface.shader.meta
│ │ ├── TMP_SDF.shader
│ │ ├── TMP_SDF.shader.meta
│ │ ├── TMP_Sprite.shader
│ │ ├── TMP_Sprite.shader.meta
│ │ ├── TMPro.cginc
│ │ ├── TMPro.cginc.meta
│ │ ├── TMPro_Mobile.cginc
│ │ ├── TMPro_Mobile.cginc.meta
│ │ ├── TMPro_Properties.cginc
│ │ ├── TMPro_Properties.cginc.meta
│ │ ├── TMPro_Surface.cginc
│ │ └── TMPro_Surface.cginc.meta
│ │ ├── Sprites.meta
│ │ └── Sprites
│ │ ├── EmojiOne Attribution.txt
│ │ ├── EmojiOne Attribution.txt.meta
│ │ ├── EmojiOne.json
│ │ ├── EmojiOne.json.meta
│ │ ├── EmojiOne.png
│ │ └── EmojiOne.png.meta
├── Packages
│ ├── manifest.json
│ └── packages-lock.json
└── ProjectSettings
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── PackageManagerSettings.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ ├── VersionControlSettings.asset
│ └── XRSettings.asset
├── README.md
├── Server
├── .gitignore
├── .vscode
│ └── launch.json
├── README.md
├── arena.env
├── development.env
├── lib
│ ├── arena.config.js
│ ├── arena.env
│ ├── config
│ │ ├── database.config.js
│ │ └── mikro-orm.config.js
│ ├── controllers
│ │ └── authController.js
│ ├── entities
│ │ ├── BaseEntity.js
│ │ ├── TestEntity.js
│ │ └── UserEntity.js
│ ├── helpers
│ │ ├── Vectors.js
│ │ ├── interactableObjectFactory.js
│ │ ├── logger.js
│ │ └── matchmakerHelper.js
│ ├── index.js
│ ├── package.json
│ ├── rooms
│ │ ├── ChatRoom.js
│ │ ├── MMORoom.js
│ │ └── schema
│ │ │ ├── AvatarState.js
│ │ │ ├── Position.js
│ │ │ ├── RoomState.js
│ │ │ └── Rotation.js
│ └── routes
│ │ └── userRoutes.js
├── loadtest
│ └── example.ts
├── package-lock.json
├── package.json
├── src
│ ├── arena.config.ts
│ ├── config
│ │ ├── database.config.ts
│ │ └── mikro-orm.config.ts
│ ├── controllers
│ │ └── authController.ts
│ ├── entities
│ │ ├── BaseEntity.ts
│ │ └── UserEntity.ts
│ ├── helpers
│ │ ├── Vectors.ts
│ │ ├── interactableObjectFactory.ts
│ │ ├── logger.js
│ │ └── matchmakerHelper.ts
│ ├── index.ts
│ ├── rooms
│ │ ├── ChatRoom.ts
│ │ ├── MMORoom.ts
│ │ └── schema
│ │ │ ├── AvatarState.ts
│ │ │ └── RoomState.ts
│ └── routes
│ │ └── userRoutes.ts
└── tsconfig.json
└── screenshot.PNG
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 |
13 | # Asset meta data should only be ignored when the corresponding asset is also ignored
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # Autogenerated Jetbrains Rider plugin
20 | [Aa]ssets/Plugins/Editor/JetBrains*
21 |
22 | # Visual Studio cache directory
23 | .vs/
24 |
25 | # Gradle cache directory
26 | .gradle/
27 |
28 | # Autogenerated VS/MD/Consulo solution and project files
29 | ExportedObj/
30 | .consulo/
31 | *.csproj
32 | *.unityproj
33 | *.sln
34 | *.suo
35 | *.tmp
36 | *.user
37 | *.userprefs
38 | *.pidb
39 | *.booproj
40 | *.svd
41 | *.pdb
42 | *.mdb
43 | *.opendb
44 | *.VC.db
45 |
46 | # Unity3D generated meta files
47 | *.pidb.meta
48 | *.pdb.meta
49 | *.mdb.meta
50 |
51 | # Unity3D generated file on crash reports
52 | sysinfo.txt
53 |
54 | # Builds
55 | *.apk
56 | *.unitypackage
57 |
58 | # Crashlytics generated file
59 | crashlytics-build.properties
60 |
61 | *.vsconfig
62 | ColyseusTechDemo-MMO/Library/
63 | ColyseusTechDemo-MMO/Logs/
64 | ColyseusTechDemo-MMO/Temp/
65 | ColyseusTechDemo-MMO/UserSettings/
66 | ColyseusTechDemo-MMO/obj/
67 | ColyseusTechDemo-MMO/Builds/
68 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5db4690c75e7cb5468212f8e4fedaa69
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21b144b42f7bbc545bef371938163ac5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/CoinOpBounce.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd86f4bc53dc57444adf0f48ded8c944
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 7400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Entity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a446776331b5d94ca821949fd287fcb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Entity/Entity.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e3d7d5dd74bc3c48ae27e5dc8ee52ba
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 9100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Entity/Idle.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34cf99ea26edd7d41a4f7bf5a6078c3b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 7400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Entity/WalkCycle.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 564baf7d160f58b48836ac5603236b57
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 7400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Entry Door.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e943175ea850408499a86a7b3b4f6a64
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 9100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/Exit Door.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c4517d242260e2342b6b7e8d82058130
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 9100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/transition-room-door-Close-Static.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f3ddf074f276b5458442f2f698fc273
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 7400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Animations/transition-room-door-Open-Static.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 449d31f07574a80469c4c93fc6b52cb5
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 7400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Fonts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55f34f764f45de246b7fe264731e0d0e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Fonts/big_noodle_titling.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/Art/Fonts/big_noodle_titling.ttf
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Fonts/big_noodle_titling.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9ddc73d6d11d424591d5f2fce4dda98
3 | TrueTypeFontImporter:
4 | externalObjects: {}
5 | serializedVersion: 4
6 | fontSize: 16
7 | forceTextureCase: -2
8 | characterSpacing: 0
9 | characterPadding: 1
10 | includeFontData: 1
11 | fontNames:
12 | - BigNoodleTitling
13 | fallbackFontReferences: []
14 | customCharacters:
15 | fontRenderingMode: 0
16 | ascentCalculationMode: 1
17 | useLegacyBoundsCalculation: 0
18 | shouldRoundAdvanceValue: 1
19 | userData:
20 | assetBundleName:
21 | assetBundleVariant:
22 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d47f7dd111d23b4a88224ed2344e535
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e0c0cc48297de541800a9f8c0e94d01
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/Base.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Base
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.9528302, g: 0.9269928, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/Base.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b68b203d5b673c469a0964eba41b8ee
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/PlayerPos.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: PlayerPos
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0, g: 0.07429494, b: 0.9529412, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/PlayerPos.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb0897ddf3c74124d977ad042d4cc684
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/Spring.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Spring
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0, g: 0, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/CoinOp/Spring.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 53d9e3636dd199b4ca189e6019447627
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Compass.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b8e6f5202bc8f348843b529bd81d6b5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Compass/Dial.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 582f92daf673eb04eb78c507112be5a7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Compass/Pointer.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f2944078244a8346989c2854e5d35c4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/ElevatorDoor.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: ElevatorDoor
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.698
65 | - _GlossyReflections: 1
66 | - _Metallic: 0.199
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.3301887, g: 0.3301887, b: 0.3301887, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/ElevatorDoor.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57ca63ca23490fb419a71660ecaeae60
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/GreenCarpet.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: GreenCarpet
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.2575666, g: 0.5943396, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/GreenCarpet.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b9f8b6065c7f1ab4cb584f4560479d31
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dcf3eccd70ef938498b4cd05c80e4013
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/Button.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Button
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0.5
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.08186395, g: 0.6784314, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/Button.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4f9d3dd1cf4b0c40a62e9dbddc6db42
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/Podium.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e02e9cd4d80279e4e811de380894f94e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/PressedButton.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: PressedButton
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0.5
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.6792453, g: 0, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/PressedButton.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23d1046299a82b74692a994e67fd6bc5
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Interactables/TeleporterLight.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61d7fc116abf3ed44909c61f50863cf4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/KhakiWall.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: KhakiWall
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 1, g: 0.9555529, b: 0.7122642, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/KhakiWall.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4347fe77e349cff4586f2ab6bbb2bb9a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8dafc52d3f59f164f934d20cc9dd6374
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Hat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Hat
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 1, g: 0.8697396, b: 0.48584908, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Hat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f67991c9f80ef954caafe24d6125fffa
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Pants.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Pants
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.19379672, g: 0.2736469, b: 0.6320754, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Pants.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: acfa2cab345bb3748921b6e21148ce68
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Shirt.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Shirt
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0, g: 0, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Shirt.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ad11f9fa19f20943b80fabe4baa6675
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Skin.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Skin
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.5377358, g: 0.3488018, b: 0.18516374, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Players/Skin.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e15232dcebd396c44ad49b783258798d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/PurpleCarpet.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: PurpleCarpet
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.254717, g: 0, b: 0.1236834, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/PurpleCarpet.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: edd0f7d054c153b4983cc5666995377d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/PurpleWall.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: PurpleWall
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0.79824364, g: 0.4575472, b: 1, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/PurpleWall.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 877fe1697257d1940a87edea1042a5d6
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Void.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: Void
11 | m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 0
64 | - _Glossiness: 0
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 1
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 0, g: 0, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 | m_BuildTextureStacks: []
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Materials/Void.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: db4bd3e7c36fc0a429bf9c7ff439bded
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6af6e07244214b241ae0709ff0dfc97f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/AvatarPreviewTexture.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!86 &8600000
4 | CustomRenderTexture:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: AvatarPreviewTexture
10 | m_ImageContentsHash:
11 | serializedVersion: 2
12 | Hash: 00000000000000000000000000000000
13 | m_ForcedFallbackFormat: 4
14 | m_DownscaleFallback: 0
15 | m_IsAlphaChannelOptional: 0
16 | serializedVersion: 3
17 | m_Width: 256
18 | m_Height: 512
19 | m_AntiAliasing: 1
20 | m_MipCount: -1
21 | m_DepthFormat: 2
22 | m_ColorFormat: 8
23 | m_MipMap: 0
24 | m_GenerateMips: 1
25 | m_SRGB: 0
26 | m_UseDynamicScale: 0
27 | m_BindMS: 0
28 | m_EnableCompatibleFormat: 1
29 | m_TextureSettings:
30 | serializedVersion: 2
31 | m_FilterMode: 1
32 | m_Aniso: 0
33 | m_MipBias: 0
34 | m_WrapU: 1
35 | m_WrapV: 1
36 | m_WrapW: 1
37 | m_Dimension: 2
38 | m_VolumeDepth: 1
39 | m_Material: {fileID: 0}
40 | m_InitSource: 0
41 | m_InitMaterial: {fileID: 0}
42 | m_InitColor: {r: 1, g: 1, b: 1, a: 1}
43 | m_InitTexture: {fileID: 0}
44 | m_UpdateMode: 0
45 | m_InitializationMode: 2
46 | m_UpdateZoneSpace: 0
47 | m_CurrentUpdateZoneSpace: 0
48 | m_UpdateZones: []
49 | m_UpdatePeriod: 0
50 | m_ShaderPass: 0
51 | m_CubemapFaceMask: 4294967295
52 | m_DoubleBuffered: 0
53 | m_WrapUpdateZones: 0
54 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/AvatarPreviewTexture.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6f3015f8e16c7804dadb5fde3fe32ca4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 8600000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/Back Arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/Art/Textures/Back Arrow.png
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/Compass Render Texture.renderTexture:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!84 &8400000
4 | RenderTexture:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Compass Render Texture
10 | m_ImageContentsHash:
11 | serializedVersion: 2
12 | Hash: 00000000000000000000000000000000
13 | m_ForcedFallbackFormat: 4
14 | m_DownscaleFallback: 0
15 | m_IsAlphaChannelOptional: 0
16 | serializedVersion: 3
17 | m_Width: 512
18 | m_Height: 512
19 | m_AntiAliasing: 4
20 | m_MipCount: -1
21 | m_DepthFormat: 2
22 | m_ColorFormat: 8
23 | m_MipMap: 0
24 | m_GenerateMips: 1
25 | m_SRGB: 0
26 | m_UseDynamicScale: 0
27 | m_BindMS: 0
28 | m_EnableCompatibleFormat: 0
29 | m_TextureSettings:
30 | serializedVersion: 2
31 | m_FilterMode: 1
32 | m_Aniso: 0
33 | m_MipBias: 0
34 | m_WrapU: 1
35 | m_WrapV: 1
36 | m_WrapW: 1
37 | m_Dimension: 2
38 | m_VolumeDepth: 1
39 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/Compass Render Texture.renderTexture.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 520a299eb68302f40b699c5cd61b4060
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 8400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/DarkBlueGradient_BG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/Art/Textures/DarkBlueGradient_BG.png
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/DarkgreyHalftone_BG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/Art/Textures/DarkgreyHalftone_BG.png
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Art/Textures/Spinner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/Art/Textures/Spinner.png
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f2897455f3a54444f9b03f27e1be175c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/EntityView.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e54bb44d9b5a7df4cb6911496f541456
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Environment.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e4a68e751766dfa44bced7b4bd768525
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Environment/Exit.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6f53391c74c108468ec10dc3cca9c0e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Environment/Room_DoubleEntrance.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 078597191653d9e4fbc410397d25c79d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Environment/Room_SingleEntrance.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c2af9cef11dca134885ca35207cc5bc5
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Environment/Transition Room.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7854d6545f4ec849bf0d0179d2c61ea
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5bf19a15fe3124e49ac1aca0d3e9165a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables/CoinOp.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e5fad9f2a16f5614bba21ce2a94e124b
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables/FX Swirl.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f522a3ce5e4f9d4689cb17a529025a4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables/InstructionsText.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7fb5090768247dd49bdbbb68be0730e8
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables/InteractableButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7a20870d3c63634e85b8f431803f9b6
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Interactables/Teleporter.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70ab6249e57dedc4887e299a52753ae2
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Model.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0cd0d0c981e509444b6fa2799be86f27
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/Model/Model.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 80659f36473cea34299a77b932c68a56
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: edc648e600dad2a4a8c3e23b9c908807
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/AvatarCustomization.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 08304efa988892145b725b569728c5a2
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/ChatInput.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5c20fdcd403786d4b875366d463fae1b
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/ChatMessageDisplay.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5aa656455bcb56442922e5e1ba9bd14e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/ColorSelector.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40957eca007d9854887ead43a1ee84d1
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/Compass.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c4058823d266804fb47ee5672266be7
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/Controls.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0be901b99faa12845a4c7a7fb05831f1
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/GameUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 832ba922d724bf943b042e894fcc85b8
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Prefabs/UI/Player Tag.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d455e9be534400c45ab250b3d9831a40
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e8e9cbd53c830b84384bfd26206143c5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a99b6c306c3aa14593c76b0f9f2a36a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-1x-1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e68c5c67f8dd9b439689a24e5df66f9
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-1x-3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11ce8fc5b5ef3e045be8147117ac5a21
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-1x0.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7e046bf35680a584987f7bfcf72737cf
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-1x1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a4599f61487f324684c89eeea16e374
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-1x3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f60a0f9f31e345846a34593b3e92452e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-2x-2.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1701426fcf9376943a19866715860240
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-2x2.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d81670696fe2524479675f5ecb9e5503
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-3x-1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48f39f6b85363184eaa46ec4f7ec8a14
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-3x-3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 06d6cf30275ccc24cb48f7da529de2f4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-3x0.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2966c055aefa4a945b17f5f53c348dd3
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-3x1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ad7e3a55fa4c3748883e01f0007e151
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/-3x3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e06b6be4bc86ff48b6fd0116a0fefa5
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/0x-1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2291ec24413891e49b698541c0fe2d76
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/0x-3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e42d86f15ffebdd4d9a43f03d8c671f4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/0x0.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 550f3096c5f89fc46af807de053de151
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/0x1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b5a2998027e9d749a861bf8c53be748
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/0x3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ab3b4aa00ee09c44b9735b582fe5a3ae
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/1x-1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f15a6f6a72e616c41a32474a9a8985e7
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/1x-3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2d8b47bd97b7c84db75cb51169bcf33
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/1x0.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2b3f86a5e41c8f048b4cf89c4701b014
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/1x1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 31a8ae603055bcc49b7916a44df3cd55
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/1x3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e34208f1a1e78d34799bfcee7f89310c
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/2x-2.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7b6ab300406b3f44863302a84b17d8b
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/2x2.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8741f0f07a7c7d846ab40b45a1254f17
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/3x-1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a447f7ca96922eb41acc4492a11c827e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/3x-3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef586fee7a77ee642acbd6b489f0e4d6
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/3x0.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d3be23fc8f00b594dbdad3ecc3a284ae
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/3x1.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f1368cc653a41464e8d190ecc9424e94
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Resources/GridPositions/3x3.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18178a4d0a667044fb68cf0278a8c192
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 443fa9f71e78ebf4690778d0d1784a0e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scenes/MMOLoginScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 289aa79521b652d4a9163d8803b209ef
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scenes/TowerScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9fc0d4010bbf28b4594072e72b8655ab
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c7b16ef5542d3cd47a81b3afae4df986
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/CameraController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f044b3926bbce964fb2de65a0c81030d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 87668bc2c46312c46831c3b6c1ea37ce
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Editor/TransitionRoomEditor.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEditor;
4 | using UnityEngine;
5 |
6 | [CustomEditor(typeof(TransitionRoom))]
7 | public class TransitionRoomEditor : Editor
8 | {
9 | public override void OnInspectorGUI()
10 | {
11 | base.OnInspectorGUI();
12 |
13 | if (Application.isPlaying == false)
14 | {
15 | return;
16 | }
17 |
18 | GUILayout.Space(40);
19 |
20 | TransitionRoom tR = target as TransitionRoom;
21 |
22 | if (GUILayout.Button("Open Entry Door"))
23 | {
24 | tR.OpenDoor(true, null);
25 | }
26 | else if (GUILayout.Button("Close Entry Door"))
27 | {
28 | tR.CloseDoor(true, null);
29 | }
30 |
31 | GUILayout.Space(10);
32 |
33 | if (GUILayout.Button("Open Exit Door"))
34 | {
35 | tR.OpenDoor(false, null);
36 | }
37 | else if (GUILayout.Button("Close Exit Door"))
38 | {
39 | tR.CloseDoor(false, null);
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Editor/TransitionRoomEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30775ab6e95d3da4fbc7f20e57f77c9a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f45d4cbac38e084483d41bb55de4d55
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Area.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4e492b4f46338c4a9677172db038542
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/AreaExit.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b5b9bb69b2fc6c429fabece781477c3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/EntryDoorTrigger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b053761d70f73d45bfd33584fd0e2e6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/EnvironmentController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ee7e149688449f4ba92f4140c3c8b8c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d5d4186a0d9b7d5429d2abb84bf95931
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/ButtonPodium.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class ButtonPodium : Interactable
6 | {
7 | [SerializeField]
8 | private ParticleSystem[] interactionEffects = null;
9 |
10 | [SerializeField]
11 | private Material inUseMat;
12 | [SerializeField]
13 | private Material availableMat;
14 |
15 | [SerializeField]
16 | private Renderer buttonRenderer;
17 |
18 | public override void PlayerInRange(NetworkedEntity entity)
19 | {
20 | //Only display in range stuff if the local user is the one in range!
21 | if (entity.isMine)
22 | base.PlayerInRange(entity);
23 | }
24 |
25 | public override void PlayerLeftRange(NetworkedEntity entity)
26 | {
27 | //Only display in range stuff if the local user is the one in range!
28 | if (entity.isMine)
29 | base.PlayerLeftRange(entity);
30 | }
31 |
32 | public override void OnSuccessfulUse(NetworkedEntity entity)
33 | {
34 | base.OnSuccessfulUse(entity);
35 | //Button podium also has interaction effects, so play them!
36 | for (int i = 0; i < interactionEffects.Length; ++i)
37 | {
38 | interactionEffects[i].Play();
39 | }
40 | }
41 |
42 | public override void SetInUse(bool inUse)
43 | {
44 | base.SetInUse(inUse);
45 | //Set the button material to the appropriate one
46 | buttonRenderer.material = isInUse ? inUseMat : availableMat;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/ButtonPodium.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb8cbed430ac90c4d95e17306a2b4e35
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/CoinOp.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e52d167367cf9564f808df93e513fdc8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/FXSwirl.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 54ede65d886717947a0bdeb40ef84ab8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/Interactable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 49ff7cbe868c00f47b62c90e812a8f8f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/InteractableTrigger.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | ///
6 | /// Collider that tells an if/when a enters/exits
7 | ///
8 | public class InteractableTrigger : MonoBehaviour
9 | {
10 | public Interactable owner;
11 |
12 | void OnTriggerEnter(Collider other)
13 | {
14 | NetworkedEntity entity = other.GetComponent();
15 | if (entity != null)
16 | {
17 | owner.PlayerInRange(entity);
18 | }
19 | }
20 |
21 | void OnTriggerExit(Collider other)
22 | {
23 | NetworkedEntity entity = other.GetComponent();
24 | if (entity != null)
25 | {
26 | owner.PlayerLeftRange(entity);
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/InteractableTrigger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34f13245633bfbd48bfe1e2d985f322c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Environment/Interactables/Teleporter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dfd47bbfd365e664cb65ef6f306f0d1d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Managers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5832f5c4cc6ef1a459f1fc55a8923f1d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Managers/ChatManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fbd2b6134ec7df04a9203a82aac7346b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Managers/MMOManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7c9455ce385cadc48ab96d452f1560c1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Managers/NetworkedEntityFactory.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dfccb86689564a04bb40c69e88a52347
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Managers/UIManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b9d8c8d2be162a9459380d72cbbcb986
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/MessageTypes.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using Colyseus;
5 |
6 | [System.Serializable]
7 | public class EntityMessage
8 | {
9 | public string entityID;
10 | }
11 |
12 | public class ObjectUseMessage
13 | {
14 | public string interactedObjectID;
15 | public string interactingStateID;
16 | }
17 |
18 | [System.Serializable]
19 | public class MovedToGridMessage
20 | {
21 | public Vector2 newGridPosition;
22 | public Vector2 prevGridPosition;
23 | public SeatReservationData seatReservation;
24 | }
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/MessageTypes.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d130a428fe818e34e9a4333726b475f8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc59132b1a04ae04895f354b2ecfd09a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/AuthSeatReservationData.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using Colyseus;
4 | using UnityEngine;
5 |
6 | [System.Serializable]
7 | public class SeatReservationData
8 | {
9 | ///
10 | /// The room belonging to the seat reservation
11 | ///
12 | public ColyseusRoomAvailable room;
13 | ///
14 | /// The session Id of the seat reservation
15 | ///
16 | public string sessionId;
17 | }
18 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/AuthSeatReservationData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05dfe3883e5b58d40a80c490f9457682
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/RequestResponse.cs:
--------------------------------------------------------------------------------
1 | ///
2 | /// Base server response object.
3 | ///
4 | [System.Serializable]
5 | public class RequestResponse
6 | {
7 | public string rawResponse;
8 | ///
9 | /// Did the request result with an error?
10 | ///
11 | public bool error;
12 | ///
13 | /// Server response data. Will be an error message when is true.
14 | ///
15 | public string output = "Some error occurred :(";
16 | }
17 |
18 | ///
19 | /// Server response object when creating a new account or signing into an existing account.
20 | ///
21 | [System.Serializable]
22 | public class UserAuthResponse : RequestResponse
23 | {
24 | ///
25 | /// Response data that contains user data as well room seat reservation data.
26 | ///
27 | public new UserAuthData output;
28 | }
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/RequestResponse.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f45515ccefdf5d54d9ca8f173bed339d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/UserAuthData.cs:
--------------------------------------------------------------------------------
1 | using Colyseus;
2 |
3 | ///
4 | /// Server response data when a user has created a new account or logged in
5 | ///
6 | [System.Serializable]
7 | public class UserAuthData
8 | {
9 | public SeatReservationData seatReservation;
10 |
11 | ///
12 | /// User account data
13 | ///
14 | public UserData user;
15 | }
16 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/UserAuthData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c8bea0a31a10cba49ac12963bdd1e298
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/UserData.cs:
--------------------------------------------------------------------------------
1 |
2 | using LucidSightTools;
3 | using UnityEngine;
4 |
5 | ///
6 | /// Data model to represent the client-side user
7 | ///
8 | [System.Serializable]
9 | public class UserData
10 | {
11 | ///
12 | /// Id of the user
13 | ///
14 | public string id;
15 | ///
16 | /// Username from account creation
17 | ///
18 | public string username;
19 | ///
20 | /// Email from account creation
21 | ///
22 | public string email;
23 |
24 | public string progress = "0,0";
25 | public string prevGrid = "0,0";
26 | public Vector3 position;
27 |
28 | public Vector2 GridAsVector2(bool getCurrentGrid = true)
29 | {
30 | string[] coords = getCurrentGrid ? progress.Split(',') : prevGrid.Split(',');
31 |
32 | if (coords != null && coords.Length > 1)
33 | {
34 | if (float.TryParse(coords[0], out float xVal) == false)
35 | {
36 | LSLog.LogError($"Error parsing x value for grid from {coords[0]}");
37 | }
38 |
39 | if (float.TryParse(coords[1], out float yVal) == false)
40 | {
41 | LSLog.LogError($"Error parsing y value for grid from {coords[1]}");
42 | }
43 |
44 | return new Vector2(xVal, yVal);
45 | }
46 |
47 | return Vector2.zero;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/UserData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0fdc4bef742994a45814f6ff62b9f1f0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/Vectors.cs:
--------------------------------------------------------------------------------
1 | ///
2 | /// Object to represent across messages sent to the room on the server/>
3 | ///
4 | public class Vector3Obj
5 | {
6 | public float x;
7 | public float y;
8 | public float z;
9 |
10 | public Vector3Obj(float x = 0, float y = 0, float z = 0)
11 | {
12 | this.x = x;
13 | this.y = y;
14 | this.z = z;
15 | }
16 | }
17 |
18 | ///
19 | /// Object to represent across messages sent to the room on the server/>
20 | ///
21 | public class Vector2Obj
22 | {
23 | public float x;
24 | public float y;
25 |
26 | public Vector2Obj(float x = 0, float y = 0)
27 | {
28 | this.x = x;
29 | this.y = y;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Models/Vectors.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fba4e1ee06891ad4ca28dd1b51e5485f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9171c16cdf219f345a5894e4905efbb5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player/AvatarDisplay.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class AvatarDisplay : MonoBehaviour
6 | {
7 | [SerializeField]
8 | private Renderer[] shirtRenderers = null;
9 |
10 | [SerializeField]
11 | private Renderer[] legRenderers = null;
12 |
13 | [SerializeField]
14 | private Renderer[] skinRenderers = null;
15 |
16 | [SerializeField]
17 | private Renderer[] hatRenderers = null;
18 |
19 | [SerializeField]
20 | private GameObject hatRoot = null;
21 |
22 | public void SetHatEnabled(bool val)
23 | {
24 | hatRoot.SetActive(val);
25 | }
26 |
27 | public void SetHat(bool enabled, string color)
28 | {
29 | SetHatEnabled(enabled);
30 | if (enabled)
31 | {
32 | ColorRenderers(hatRenderers, color);
33 | }
34 | }
35 |
36 | public void SetSkinTone(string color)
37 | {
38 | ColorRenderers(skinRenderers, color);
39 | }
40 |
41 | public void SetShirtColor(string color)
42 | {
43 | ColorRenderers(shirtRenderers, color);
44 | }
45 |
46 | public void SetPantsColor(string color)
47 | {
48 | ColorRenderers(legRenderers, color);
49 | }
50 |
51 | public void DisplayFromState(AvatarState state)
52 | {
53 | SetHat(state.hatChoice != 0, state.hatColor);
54 | SetSkinTone(state.skinColor);
55 | SetShirtColor(state.shirtColor);
56 | SetPantsColor(state.pantsColor);
57 | }
58 |
59 | private void ColorRenderers(Renderer[] renderers, string colorHex)
60 | {
61 | Color color = renderers[0].material.color; //Default in case we cant parse
62 | if (ColorUtility.TryParseHtmlString(colorHex, out color))
63 | {
64 | for (int i = 0; i < renderers.Length; ++i)
65 | {
66 | renderers[i].material.SetColor("_Color",color);
67 | }
68 | }
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player/AvatarDisplay.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05873f21bed466542b3919acfb3cc8ba
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player/ChatDisplay.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ffdf19c929fd7c9479ed45fc1cc8d2f7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player/EntityMovement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d5876508d7c6024b87db3af66cee6ea
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Player/NetworkedEntity.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e78cd1403bb2054ba1714a6cba098e4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/PlayerPrefKeys.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | ///
4 | /// Class to simplify interaction with Unity's PlayerPrefs system for saving/retrieving log in credentials
5 | ///
6 | public class MMOPlayerPrefs
7 | {
8 | static string RememberMeKey = "TD4-MMO-RememberMe";
9 | static string EmailKey = "TD4-MMO-RememberEmail";
10 | static string PasswordKey = "TD4-MMO-RememberPassword";
11 |
12 | public static string Email
13 | {
14 | get
15 | {
16 | return PlayerPrefs.GetString(EmailKey, "");
17 | }
18 |
19 | set
20 | {
21 | PlayerPrefs.SetString(EmailKey, value);
22 | }
23 | }
24 |
25 | public static string Password
26 | {
27 | get
28 | {
29 | return PlayerPrefs.GetString(PasswordKey, "");
30 | }
31 |
32 | set
33 | {
34 | PlayerPrefs.SetString(PasswordKey, value);
35 | }
36 | }
37 |
38 | public static bool RememberMe
39 | {
40 | get
41 | {
42 | return PlayerPrefs.GetInt(RememberMeKey, 0) == 1;
43 | }
44 |
45 | set
46 | {
47 | PlayerPrefs.SetInt(RememberMeKey, value ? 1 : 0);
48 | }
49 | }
50 |
51 | public static bool AccountExists
52 | {
53 | get
54 | {
55 | return string.IsNullOrEmpty(Email) == false && string.IsNullOrEmpty(Password) == false;
56 | }
57 | }
58 |
59 | public static void Clear()
60 | {
61 | RememberMe = false;
62 | Email = "";
63 | Password = "";
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/PlayerPrefKeys.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 28ab1f0f4df3fe245b067e415521ad86
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e55797336b4e33346a9f32362ee3cf3d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/AvatarState.Clone.cs:
--------------------------------------------------------------------------------
1 | using Colyseus.Schema;
2 | using UnityEngine.Networking;
3 |
4 | public partial class AvatarState : Schema {
5 | public AvatarState Clone()
6 | {
7 | return new AvatarState()
8 | {
9 | skinColor = skinColor, shirtColor = shirtColor, pantsColor = pantsColor, hatChoice = hatChoice,
10 | hatColor = hatColor
11 | };
12 | }
13 |
14 | public object[] ToNetSendObjects()
15 | {
16 | return new object[] { skinColor, shirtColor, pantsColor, hatColor, hatChoice};
17 | }
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/AvatarState.Clone.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4e5c20bb439d2384ebc8f9b1a3dcadd8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/AvatarState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class AvatarState : Schema {
11 | [Type(0, "string")]
12 | public string skinColor = default(string);
13 |
14 | [Type(1, "string")]
15 | public string shirtColor = default(string);
16 |
17 | [Type(2, "string")]
18 | public string pantsColor = default(string);
19 |
20 | [Type(3, "string")]
21 | public string hatColor = default(string);
22 |
23 | [Type(4, "number")]
24 | public float hatChoice = default(float);
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/AvatarState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86ce606945828ef42960f454c214a248
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatMessage.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class ChatMessage : Schema {
11 | [Type(0, "string")]
12 | public string senderID = default(string);
13 |
14 | [Type(1, "string")]
15 | public string message = default(string);
16 |
17 | [Type(2, "number")]
18 | public float timestamp = default(float);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatMessage.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7f0a3022f64c78e4191af78930cefe62
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatQueue.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class ChatQueue : Schema {
11 | [Type(0, "array", typeof(ArraySchema))]
12 | public ArraySchema chatMessages = new ArraySchema();
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatQueue.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7ae2b72c2209a964a99d01db9b17367f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatRoomState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class ChatRoomState : Schema {
11 | [Type(0, "map", typeof(MapSchema))]
12 | public MapSchema chatQueue = new MapSchema();
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/ChatRoomState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a35c29f59636c742940c8460ff5b579
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/InteractableState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class InteractableState : Schema {
11 | [Type(0, "string")]
12 | public string id = default(string);
13 |
14 | [Type(1, "boolean")]
15 | public bool inUse = default(bool);
16 |
17 | [Type(2, "string")]
18 | public string interactableType = default(string);
19 |
20 | [Type(3, "number")]
21 | public float availableTimestamp = default(float);
22 |
23 | [Type(4, "number")]
24 | public float coinChange = default(float);
25 |
26 | [Type(5, "number")]
27 | public float useDuration = default(float);
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/InteractableState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 773b37d1f2beb4d4e82bd41043fd141d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/NetworkedEntityState.Clone.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using System.Reflection;
4 | using Colyseus.Schema;
5 | using UnityEngine;
6 |
7 | public partial class NetworkedEntityState : Schema
8 | {
9 | //Must be updated if new attributes are added!
10 | public NetworkedEntityState Clone()
11 | {
12 | return new NetworkedEntityState()
13 | {
14 | id = id, chatID = chatID, xPos = xPos, yPos = yPos, zPos = zPos, xRot = xRot, yRot = yRot, zRot = zRot, wRot = wRot, timestamp = timestamp, coins = coins, avatar = avatar
15 | };
16 | }
17 | }
18 |
19 | // Compare a property to determine changes of state
20 | public class NetworkedEntityChanges
21 | {
22 | // Name of property we're comparing
23 | public string Name { get; private set; }
24 |
25 | // The old value of the property
26 | public object OldValue { get; private set; }
27 |
28 | // The new value of the property
29 | public object NewValue { get; private set; }
30 |
31 | public NetworkedEntityChanges(string name, object oldValue, object newValue)
32 | {
33 | Name = name;
34 | OldValue = oldValue;
35 | NewValue = newValue;
36 | }
37 |
38 | public static List Compare(T oldObject, T newObject)
39 | {
40 | FieldInfo[] properties = typeof(T).GetFields();
41 | List result = new List();
42 |
43 | foreach (FieldInfo pi in properties)
44 | {
45 |
46 | object oldValue = pi.GetValue(oldObject), newValue = pi.GetValue(newObject);
47 |
48 | if (!object.Equals(oldValue, newValue))
49 | {
50 | result.Add(new NetworkedEntityChanges(pi.Name, oldValue, newValue));
51 | }
52 | }
53 |
54 | return result;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/NetworkedEntityState.Clone.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d5d01d5925b14374783a848bd297b726
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/NetworkedEntityState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class NetworkedEntityState : Schema {
11 | [Type(0, "string")]
12 | public string id = default(string);
13 |
14 | [Type(1, "string")]
15 | public string chatID = default(string);
16 |
17 | [Type(2, "number")]
18 | public float xPos = default(float);
19 |
20 | [Type(3, "number")]
21 | public float yPos = default(float);
22 |
23 | [Type(4, "number")]
24 | public float zPos = default(float);
25 |
26 | [Type(5, "number")]
27 | public float xRot = default(float);
28 |
29 | [Type(6, "number")]
30 | public float yRot = default(float);
31 |
32 | [Type(7, "number")]
33 | public float zRot = default(float);
34 |
35 | [Type(8, "number")]
36 | public float wRot = default(float);
37 |
38 | [Type(9, "ref", typeof(AvatarState))]
39 | public AvatarState avatar = new AvatarState();
40 |
41 | [Type(10, "number")]
42 | public float coins = default(float);
43 |
44 | [Type(11, "number")]
45 | public float timestamp = default(float);
46 |
47 | [Type(12, "string")]
48 | public string username = default(string);
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/NetworkedEntityState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c30c1bd77189db54f8701f06e2f52646
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/RoomState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // THIS FILE HAS BEEN GENERATED AUTOMATICALLY
3 | // DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING
4 | //
5 | // GENERATED USING @colyseus/schema 1.0.23
6 | //
7 |
8 | using Colyseus.Schema;
9 |
10 | public partial class RoomState : Schema {
11 | [Type(0, "map", typeof(MapSchema))]
12 | public MapSchema networkedUsers = new MapSchema();
13 |
14 | [Type(1, "map", typeof(MapSchema))]
15 | public MapSchema interactableItems = new MapSchema();
16 |
17 | [Type(2, "number")]
18 | public float serverTime = default(float);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/States/RoomState.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2611dd6367f53d741846adf9a0233970
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/TransitionRoom.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8cb7b107cefd9004c9948d54b8bb1f15
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b9c5a77909a7d946b67aa2f68cf3b2f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/AvatarCustomization.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 601f90440732fac4e88dec2c998a6959
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ChatInput.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using TMPro;
4 | using UnityEngine;
5 | using UnityEngine.UI;
6 |
7 | public class ChatInput : MonoBehaviour
8 | {
9 | [SerializeField]
10 | private TMP_InputField chatInput;
11 |
12 | [SerializeField]
13 | private Button sendButton;
14 |
15 | public void ToggleChat()
16 | {
17 | gameObject.SetActive(!gameObject.activeSelf);
18 | if (gameObject.activeSelf)
19 | {
20 | chatInput.Select();
21 | }
22 | else
23 | {
24 | ClearText();
25 | }
26 | }
27 |
28 | public void InputFieldChanged()
29 | {
30 | sendButton.interactable = chatInput.text.Length > 0;
31 | }
32 |
33 | public void OnSend()
34 | {
35 | if (chatInput.text.Length > 0)
36 | {
37 | ChatManager.Instance.SendChat(chatInput.text);
38 | ClearText();
39 | ToggleChat(); //Maybe dont want to close by default
40 | }
41 | }
42 |
43 | private void ClearText()
44 | {
45 | chatInput.text = "";
46 | }
47 |
48 | public bool HasFocus()
49 | {
50 | return chatInput.isFocused;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ChatInput.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 016260f257235544191bdaa1526948d1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ChatMessageView.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using TMPro;
4 | using UnityEngine;
5 | using UnityEngine.UI;
6 |
7 | public class ChatMessageView : MonoBehaviour
8 | {
9 | [SerializeField]
10 | private TextMeshProUGUI messageContents;
11 |
12 | private ChatMessage currentMessage = null;
13 |
14 | public bool IsMessage(ChatMessage proposedMessage)
15 | {
16 | if (currentMessage != null)
17 | {
18 | return proposedMessage.timestamp.Equals(currentMessage.timestamp);
19 | }
20 | else
21 | {
22 | return false;
23 | }
24 | }
25 |
26 | public void SetMessage(ChatMessage message)
27 | {
28 | currentMessage = message;
29 | messageContents.text = currentMessage.message;
30 | gameObject.SetActive(true);
31 | StartCoroutine(TriggerDirty());
32 | }
33 |
34 | IEnumerator TriggerDirty()
35 | {
36 | messageContents.gameObject.SetActive(false);
37 | yield return new WaitForEndOfFrame();
38 | messageContents.gameObject.SetActive(true);
39 | }
40 |
41 | public void UnsetMessage()
42 | {
43 | currentMessage = null;
44 | gameObject.SetActive(false);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ChatMessageView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f37861d42931df64b9540d237166f1bb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ColorSelector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 | using UnityEngine.Events;
6 | using UnityEngine.UI;
7 |
8 | public class ColorSelector : MonoBehaviour
9 | {
10 | [SerializeField]
11 | private UnityEvent onColorChanged = null;
12 |
13 | [SerializeField]
14 | private Slider rSlider = null;
15 | [SerializeField]
16 | private Slider gSlider = null;
17 | [SerializeField]
18 | private Slider bSlider = null;
19 | [SerializeField]
20 | private Slider aSlider = null;
21 |
22 | [SerializeField]
23 | private Image referenceImage = null;
24 |
25 | public void Display(Color color)
26 | {
27 | rSlider.value = color.r;
28 | gSlider.value = color.g;
29 | bSlider.value = color.b;
30 |
31 | if (aSlider != null)
32 | {
33 | aSlider.value = color.a;
34 | }
35 |
36 | OnSliderUpdated();
37 | }
38 |
39 | public void OnSliderUpdated()
40 | {
41 | Color color = GetColor();
42 | UpdateReferenceImage(color);
43 | onColorChanged?.Invoke(color);
44 | }
45 |
46 | private float[] GetValues()
47 | {
48 | if (aSlider == null)
49 | {
50 | return new float[] { rSlider.value, gSlider.value, bSlider.value, 1};
51 | }
52 | else
53 | {
54 | return new float[] { rSlider.value, gSlider.value, bSlider.value, aSlider.value };
55 | }
56 | }
57 |
58 | private void UpdateReferenceImage(Color color)
59 | {
60 | referenceImage.color = color;
61 | }
62 |
63 | public Color GetColor()
64 | {
65 | float[] color = GetValues();
66 | return new Color(color[0], color[1], color[2], color[3]);
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ColorSelector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57569fa97b2a03341be28f60a1c21b36
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/Compass.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | ///
4 | /// The compass always points to the "North" or Z-forward on the world axis
5 | ///
6 | public class Compass : MonoBehaviour
7 | {
8 | [SerializeField]
9 | private Transform targetCameraRoot = null;
10 |
11 | [SerializeField]
12 | private Transform compassCameraRoot = null;
13 |
14 | [SerializeField]
15 | private Transform compassTransform = null;
16 |
17 | [SerializeField]
18 | private float rotateSpeed = 5.0f;
19 |
20 | private void Start()
21 | {
22 | // Ensure the compass transform's forward rotation is pointing in the Z-forward on the world axis
23 | compassTransform.rotation = Quaternion.identity;
24 | }
25 |
26 | private void Update()
27 | {
28 | // Update the camera root rotation to match the rotation of the target camera
29 | compassCameraRoot.rotation = Quaternion.Lerp(compassCameraRoot.rotation, targetCameraRoot.rotation, Time.deltaTime * rotateSpeed);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/Compass.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63eddc1b7e4cc1841b67557ba035f1cf
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/CreateUserMenu.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 010cee042acbf4a4c946c9c288dbdd1c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/FaceCamera.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class FaceCamera : MonoBehaviour
6 | {
7 | void Update()
8 | {
9 | transform.LookAt(Camera.main.transform);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/FaceCamera.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 51c16aac21726ce4fbacc7934a4f8dab
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/InGameMenu.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class InGameMenu : MonoBehaviour
6 | {
7 | [SerializeField]
8 | private AvatarCustomization avatarCustomization = null;
9 |
10 | public void OnBtnClose()
11 | {
12 | UIManager.Instance.ToggleInGameMenu();
13 | }
14 |
15 | public void OnBtnMainMenu()
16 | {
17 | MMOManager.Instance.ExitToMainMenu();
18 | }
19 |
20 | public void OnBtnCustomize()
21 | {
22 | NetworkedEntity entity = NetworkedEntityFactory.Instance.GetMine();
23 | if (entity && entity.Avatar != null)
24 | {
25 | avatarCustomization.DisplayView(entity.Avatar.Clone(), OnCustomizationSave);
26 | }
27 | }
28 |
29 | private void OnCustomizationSave(AvatarState avatarState)
30 | {
31 | MMOManager.NetSend("avatarUpdate", avatarState.ToNetSendObjects());
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/InGameMenu.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3165e4bd1ca369a419b45595269b7717
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/LobbyController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2aca67152b9cb934dbea32cf2ae8d6ee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/PlayerNameTagController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3cfe1eea6f90bc54eba7dd63c364af3d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/PlayerTag.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 |
4 | public class PlayerTag : MonoBehaviour
5 | {
6 | [SerializeField]
7 | private TextMeshProUGUI playerTag;
8 |
9 | [SerializeField]
10 | private CanvasGroup canvasGroup;
11 |
12 | [SerializeField]
13 | private RectTransform rectTransform;
14 |
15 | public void SetPlayerTag(string tag)
16 | {
17 | playerTag.text = tag;
18 | }
19 |
20 | public void UpdateTag(Vector2 position, float alpha)
21 | {
22 | rectTransform.anchoredPosition = position;
23 | canvasGroup.alpha = alpha;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/PlayerTag.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c68e3b4c6672a704c8f9f7c611fb7739
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ServerSetupMenu.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | public class ServerSetupMenu : MonoBehaviour
7 | {
8 | #pragma warning disable 0649
9 | [SerializeField]
10 | private InputField serverURLInput = null;
11 | [SerializeField]
12 | private InputField serverPortInput = null;
13 | [SerializeField]
14 | private Toggle secureToggle;
15 |
16 | [SerializeField]
17 | private Text logOutText = null;
18 | #pragma warning restore 0649
19 |
20 | public string ServerURL
21 | {
22 | get
23 | {
24 | if (string.IsNullOrEmpty(serverURLInput.text) == false)
25 | {
26 | return serverURLInput.text;
27 | }
28 |
29 | return MMOManager.Instance.ColyseusServerAddress;
30 | }
31 | }
32 |
33 | public string ServerPort
34 | {
35 | get
36 | {
37 | if (string.IsNullOrEmpty(serverPortInput.text) == false)
38 | {
39 | return serverPortInput.text;
40 | }
41 |
42 | return MMOManager.Instance.ColyseusServerPort;
43 | }
44 | }
45 |
46 | public bool UseSecure
47 | {
48 | get
49 | {
50 | return secureToggle.isOn;
51 | }
52 | }
53 |
54 | private void Start()
55 | {
56 | serverURLInput.text = MMOManager.Instance.ColyseusServerAddress;
57 | serverPortInput.text = MMOManager.Instance.ColyseusServerPort;
58 | secureToggle.isOn = MMOManager.Instance.ColyseusUseSecure;
59 |
60 | SetUpLogOut();
61 | }
62 |
63 | ///
64 | /// Clears the saved log in credentials
65 | ///
66 | public void OnButtonEvent_LogOutExisting()
67 | {
68 | MMOPlayerPrefs.Clear();
69 |
70 | SetUpLogOut();
71 | }
72 |
73 | private void SetUpLogOut()
74 | {
75 | logOutText.gameObject.SetActive(string.IsNullOrEmpty(MMOPlayerPrefs.Email) == false && string.IsNullOrEmpty(MMOPlayerPrefs.Password) == false);
76 | logOutText.text = $"Log Out {MMOPlayerPrefs.Email}";
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/ServerSetupMenu.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: efdd1e438ce27c44e9aaebd8ff8a0698
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/UISpinner.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class UISpinner : MonoBehaviour
6 | {
7 | [SerializeField]
8 | private float spinSpeed = 5.0f;
9 |
10 | [SerializeField]
11 | private Transform spinTransform;
12 |
13 | // Update is called once per frame
14 | void Update()
15 | {
16 | spinTransform.Rotate(Vector3.forward, Time.deltaTime * spinSpeed);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/UI/UISpinner.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5ab14748002ba284d84b847efe71f549
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Utils.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e8b549d298275d42b2ed6ca469a97e4
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Utils/DontDestroyTag.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | public class DontDestroyTag : MonoBehaviour
4 | {
5 | private void Awake()
6 | {
7 | DontDestroyOnLoad(gameObject);
8 | }
9 | }
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Utils/DontDestroyTag.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0334c84a6aadcc149a2401942503c891
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Scripts/Utils/Easings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 919eefd412e8a0848acd0e6ff071c290
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 596f832e093668a47a49bd03389ce7b6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Settings/ColyseusSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: abda5a440b0b5634b8654ff3a0129b80, type: 3}
13 | m_Name: ColyseusSettings
14 | m_EditorClassIdentifier:
15 | colyseusServerAddress: rhhbag.us-west-1.colyseus.dev
16 | colyseusServerPort: 443
17 | useSecureProtocol: 1
18 | _requestHeaders:
19 | - name: Content-Type
20 | value: application/json
21 | - name: Accept
22 | value: application/json
23 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/Settings/ColyseusSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fbf227f540d0384993aafa75df60613
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f54d1bd14bd3ca042bd867b519fee8cc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Documentation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Fonts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ab70aee4d56447429c680537fbf93ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c
3 | timeCreated: 1484171296
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Fonts/LiberationSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Fonts/LiberationSans.ttf
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e3265ab4bf004d28a9537516768c1c75
3 | timeCreated: 1484171297
4 | licenseType: Pro
5 | TrueTypeFontImporter:
6 | serializedVersion: 2
7 | fontSize: 16
8 | forceTextureCase: -2
9 | characterSpacing: 1
10 | characterPadding: 0
11 | includeFontData: 1
12 | use2xBehaviour: 0
13 | fontNames: []
14 | fallbackFontReferences: []
15 | customCharacters:
16 | fontRenderingMode: 0
17 | userData:
18 | assetBundleName:
19 | assetBundleVariant:
20 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 243e06394e614e5d99fab26083b707fa
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Fonts & Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 731f1baa9d144a9897cb1d341c2092b8
3 | folderAsset: yes
4 | timeCreated: 1442040525
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0
3 | timeCreated: 1484172806
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e498d1c8094910479dc3e1b768306a4
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79459efec17a4d00a321bdcc27bbc385
3 | timeCreated: 1484172856
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f586378b4e144a9851e7b34d9b748ee
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt:
--------------------------------------------------------------------------------
1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,.
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fade42e8bc714b018fac513c043d323b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt:
--------------------------------------------------------------------------------
1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ #
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d82c1b31c7e74239bff1220585707d2b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Sprite Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 512a49d95c0c4332bdd98131869c23c9
3 | folderAsset: yes
4 | timeCreated: 1441876896
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c41005c129ba4d66911b75229fd70b45
3 | timeCreated: 1480316912
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Style Sheets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4aecb92fff08436c8303b10eab8da368
3 | folderAsset: yes
4 | timeCreated: 1441876950
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f952c082cb03451daed3ee968ac6c63e
3 | timeCreated: 1432805430
4 | licenseType: Store
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/TMP Settings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3}
13 | m_Name: TMP Settings
14 | m_EditorClassIdentifier:
15 | m_enableWordWrapping: 1
16 | m_enableKerning: 1
17 | m_enableExtraPadding: 0
18 | m_enableTintAllSprites: 0
19 | m_enableParseEscapeCharacters: 1
20 | m_EnableRaycastTarget: 1
21 | m_GetFontFeaturesAtRuntime: 1
22 | m_missingGlyphCharacter: 0
23 | m_warningsDisabled: 1
24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
25 | m_defaultFontAssetPath: Fonts & Materials/
26 | m_defaultFontSize: 36
27 | m_defaultAutoSizeMinRatio: 0.5
28 | m_defaultAutoSizeMaxRatio: 2
29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5}
30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50}
31 | m_autoSizeTextContainer: 0
32 | m_fallbackFontAssets: []
33 | m_matchMaterialPreset: 1
34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45,
35 | type: 2}
36 | m_defaultSpriteAssetPath: Sprite Assets/
37 | m_enableEmojiSupport: 1
38 | m_MissingCharacterSpriteUnicode: 0
39 | m_defaultColorGradientPresetsPath: Color Gradient Presets/
40 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e,
41 | type: 2}
42 | m_StyleSheetsResourcePath:
43 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3}
44 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b,
45 | type: 3}
46 | m_UseModernHangulLineBreakingRules: 0
47 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f5b5dff67a942289a9defa416b206f3
3 | timeCreated: 1436653997
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9f693669af91aa45ad615fc681ed29f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48bb5f55d8670e349b6e614913f9d910
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e3b057af24249748ff873be7fafee47
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 128e987d567d4e2c824d754223b3f3b0
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd89cf5b9246416f84610a006f916af7
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc1ede39bf3643ee8e493720e4259791
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a02a7d8c237544f1962732b55a9aebf1
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c8d12adcee749c344b8117cf7c7eb912
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe393ace9b354375a9cb14cdbbc28be4
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85187c2149c549c5b33f0cdb02836b17
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7ada0af4f174f0694ca6a487b8f543d
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68e6db2ebdc24f95958faec2be5558d6
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf81c85f95fe47e1a27f6ae460cf182c
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 407bc68d299748449bbf7f48ee690f8d
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c334973cef89a9840b0b0c507e0377ab
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3997e2241185407d80309a82f9148466
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d930090c0cd643c7b55f19a38538c162
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0603b6d5186471b96c778c3949c7ce2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt:
--------------------------------------------------------------------------------
1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/
2 |
3 | Please visit their website to view the complete set of their emojis and review their licensing terms.
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 381dcb09d5029d14897e55f98031fca5
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f05276190cf498a8153f6cbe761d4e6
3 | timeCreated: 1480316860
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites/EmojiOne.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/ColyseusTechDemo-MMO/Assets/TextMesh Pro/Sprites/EmojiOne.png
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.collab-proxy": "1.3.9",
4 | "com.unity.ide.rider": "2.0.7",
5 | "com.unity.ide.visualstudio": "2.0.7",
6 | "com.unity.ide.vscode": "1.2.3",
7 | "com.unity.test-framework": "1.1.22",
8 | "com.unity.textmeshpro": "3.0.1",
9 | "com.unity.timeline": "1.4.6",
10 | "com.unity.ugui": "1.0.0",
11 | "io.colyseus.sdk": "https://github.com/colyseus/colyseus-unity3d.git#upm",
12 | "com.unity.modules.ai": "1.0.0",
13 | "com.unity.modules.androidjni": "1.0.0",
14 | "com.unity.modules.animation": "1.0.0",
15 | "com.unity.modules.assetbundle": "1.0.0",
16 | "com.unity.modules.audio": "1.0.0",
17 | "com.unity.modules.cloth": "1.0.0",
18 | "com.unity.modules.director": "1.0.0",
19 | "com.unity.modules.imageconversion": "1.0.0",
20 | "com.unity.modules.imgui": "1.0.0",
21 | "com.unity.modules.jsonserialize": "1.0.0",
22 | "com.unity.modules.particlesystem": "1.0.0",
23 | "com.unity.modules.physics": "1.0.0",
24 | "com.unity.modules.physics2d": "1.0.0",
25 | "com.unity.modules.screencapture": "1.0.0",
26 | "com.unity.modules.terrain": "1.0.0",
27 | "com.unity.modules.terrainphysics": "1.0.0",
28 | "com.unity.modules.tilemap": "1.0.0",
29 | "com.unity.modules.ui": "1.0.0",
30 | "com.unity.modules.uielements": "1.0.0",
31 | "com.unity.modules.umbra": "1.0.0",
32 | "com.unity.modules.unityanalytics": "1.0.0",
33 | "com.unity.modules.unitywebrequest": "1.0.0",
34 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
35 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
36 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
37 | "com.unity.modules.unitywebrequestwww": "1.0.0",
38 | "com.unity.modules.vehicles": "1.0.0",
39 | "com.unity.modules.video": "1.0.0",
40 | "com.unity.modules.vr": "1.0.0",
41 | "com.unity.modules.wind": "1.0.0",
42 | "com.unity.modules.xr": "1.0.0"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/MMOLoginScene.unity
10 | guid: 289aa79521b652d4a9163d8803b209ef
11 | - enabled: 1
12 | path: Assets/Scenes/TowerScene.unity
13 | guid: 9fc0d4010bbf28b4594072e72b8655ab
14 | m_configObjects: {}
15 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 0
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 0
30 | m_SerializeInlineMappingsOnOneLine: 1
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreviewPackages: 0
16 | m_EnablePackageDependencies: 0
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | oneTimeWarningShown: 0
20 | m_Registries:
21 | - m_Id: main
22 | m_Name:
23 | m_Url: https://packages.unity.com
24 | m_Scopes: []
25 | m_IsDefault: 1
26 | m_Capabilities: 7
27 | m_UserSelectedRegistryName:
28 | m_UserAddingNewScopedRegistry: 0
29 | m_RegistryInfoDraft:
30 | m_ErrorMessage:
31 | m_Original:
32 | m_Id:
33 | m_Name:
34 | m_Url:
35 | m_Scopes: []
36 | m_IsDefault: 0
37 | m_Capabilities: 0
38 | m_Modified: 0
39 | m_Name:
40 | m_Url:
41 | m_Scopes:
42 | -
43 | m_SelectedScopeIndex: 0
44 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2020.3.1f1
2 | m_EditorVersionWithRevision: 2020.3.1f1 (77a89f25062f)
3 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | - Compass
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_StripUpdateShader: {fileID: 0}
10 | m_RenderPipeSettingsPath:
11 | m_FixedTimeStep: 0.016666668
12 | m_MaxDeltaTime: 0.05
13 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/ColyseusTechDemo-MMO/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | The purpose of this technical demo is to show one method of how to make a **basic** MMO. Including a chat system, player persistence, multiple flowing ColyseusRooms and networked interactable objects. It is important to note that this demo **does not** include sharding or any other methods of load balancing that one would need for a production scale MMO. This demo is designed to work with Colyseus version 0.14.7 and [Unity version 2020.3.1f1](https://unity3d.com/unity/qa/lts-releases).
2 |
3 | Please check our [documentation](https://docs.colyseus.io/demo/mmo/) for more information about utilizing this demo
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/Server/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/Server/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "name": "Debug",
6 | "type": "pwa-node",
7 | "request": "launch",
8 | "runtimeExecutable": "node",
9 | "runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"],
10 | "args": ["src/index.ts"],
11 | "cwd": "${workspaceRoot}",
12 | "internalConsoleOptions": "openOnSessionStart",
13 | "resolveSourceMapLocations": [
14 | "${workspaceFolder}/**",
15 | "!**/node_modules/**"
16 | ],
17 | "skipFiles": ["/**", "node_modules/**"]
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/Server/README.md:
--------------------------------------------------------------------------------
1 | # Welcome to Colyseus!
2 |
3 | This project has been created using [⚔️ `create-colyseus-app`](https://github.com/colyseus/create-colyseus-app/) - an npm init template for kick starting a Colyseus project in TypeScript.
4 |
5 | [Documentation](http://docs.colyseus.io/)
6 |
7 | ## :crossed_swords: Usage
8 |
9 | ```
10 | npm start
11 | ```
12 |
13 | ## Structure
14 |
15 | - `index.ts`: main entry point, register an empty room handler and attach [`@colyseus/monitor`](https://github.com/colyseus/colyseus-monitor)
16 | - `src/rooms/MyRoom.ts`: an empty room handler for you to implement your logic
17 | - `src/rooms/schema/MyRoomState.ts`: an empty schema used on your room's state.
18 | - `loadtest/example.ts`: scriptable client for the loadtest tool (see `npm run loadtest`)
19 | - `package.json`:
20 | - `scripts`:
21 | - `npm start`: runs `ts-node-dev index.ts`
22 | - `npm run loadtest`: runs the [`@colyseus/loadtest`](https://github.com/colyseus/colyseus-loadtest/) tool for testing the connection, using the `loadtest/example.ts` script.
23 | - `tsconfig.json`: TypeScript configuration file
24 |
25 |
26 | ## License
27 |
28 | MIT
29 |
--------------------------------------------------------------------------------
/Server/arena.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 | DEMO_DATABASE=mongodb://localhost:27017/demo?retryWrites=true&w=majority
--------------------------------------------------------------------------------
/Server/development.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=development
--------------------------------------------------------------------------------
/Server/lib/arena.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 | DEMO_DATABASE=mongodb+srv://fazri:lucid!!S1914@lsdevcluster0.a2pcc.gcp.mongodb.net/TechDemo4?retryWrites=true&w=majority
--------------------------------------------------------------------------------
/Server/lib/config/database.config.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 | return new (P || (P = Promise))(function (resolve, reject) {
5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 | step((generator = generator.apply(thisArg, _arguments || [])).next());
9 | });
10 | };
11 | var __importDefault = (this && this.__importDefault) || function (mod) {
12 | return (mod && mod.__esModule) ? mod : { "default": mod };
13 | };
14 | Object.defineProperty(exports, "__esModule", { value: true });
15 | exports.connect = exports.DI = void 0;
16 | const core_1 = require("@mikro-orm/core");
17 | const mikro_orm_config_1 = __importDefault(require("./mikro-orm.config"));
18 | const UserEntity_1 = require("../entities/UserEntity");
19 | exports.DI = {};
20 | function connect() {
21 | return __awaiter(this, void 0, void 0, function* () {
22 | mikro_orm_config_1.default.clientUrl = process.env.DEMO_DATABASE;
23 | exports.DI.orm = yield core_1.MikroORM.init(mikro_orm_config_1.default);
24 | exports.DI.em = exports.DI.orm.em;
25 | exports.DI.userRepository = exports.DI.orm.em.getRepository(UserEntity_1.User);
26 | });
27 | }
28 | exports.connect = connect;
29 |
--------------------------------------------------------------------------------
/Server/lib/config/mikro-orm.config.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | const UserEntity_1 = require("../entities/UserEntity");
4 | const options = {
5 | type: 'mongo',
6 | entities: [UserEntity_1.User],
7 | dbName: 'TechDemo4'
8 | };
9 | exports.default = options;
10 |
--------------------------------------------------------------------------------
/Server/lib/entities/BaseEntity.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
7 | };
8 | var __metadata = (this && this.__metadata) || function (k, v) {
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.BaseEntity = void 0;
13 | const core_1 = require("@mikro-orm/core");
14 | const mongodb_1 = require("@mikro-orm/mongodb");
15 | class BaseEntity {
16 | constructor() {
17 | this.createdAt = new Date();
18 | this.updatedAt = new Date();
19 | }
20 | }
21 | __decorate([
22 | core_1.PrimaryKey(),
23 | __metadata("design:type", mongodb_1.ObjectId)
24 | ], BaseEntity.prototype, "_id", void 0);
25 | __decorate([
26 | core_1.SerializedPrimaryKey(),
27 | __metadata("design:type", String)
28 | ], BaseEntity.prototype, "id", void 0);
29 | __decorate([
30 | core_1.Property(),
31 | __metadata("design:type", Object)
32 | ], BaseEntity.prototype, "createdAt", void 0);
33 | __decorate([
34 | core_1.Property({ onUpdate: () => new Date() }),
35 | __metadata("design:type", Object)
36 | ], BaseEntity.prototype, "updatedAt", void 0);
37 | exports.BaseEntity = BaseEntity;
38 |
--------------------------------------------------------------------------------
/Server/lib/entities/TestEntity.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
7 | };
8 | var __metadata = (this && this.__metadata) || function (k, v) {
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.TestEntity = void 0;
13 | const core_1 = require("@mikro-orm/core");
14 | const BaseEntity_1 = require("./BaseEntity");
15 | let TestEntity = class TestEntity extends BaseEntity_1.BaseEntity {
16 | };
17 | __decorate([
18 | core_1.Property(),
19 | __metadata("design:type", String)
20 | ], TestEntity.prototype, "email", void 0);
21 | __decorate([
22 | core_1.Property(),
23 | __metadata("design:type", String)
24 | ], TestEntity.prototype, "username", void 0);
25 | TestEntity = __decorate([
26 | core_1.Entity()
27 | ], TestEntity);
28 | exports.TestEntity = TestEntity;
29 |
--------------------------------------------------------------------------------
/Server/lib/helpers/Vectors.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | exports.Vector2 = exports.Vector3 = exports.Vector = void 0;
4 | class Vector {
5 | }
6 | exports.Vector = Vector;
7 | class Vector3 extends Vector {
8 | constructor(x = 0, y = 0, z = 0) {
9 | super();
10 | this.x = x;
11 | this.y = y;
12 | this.z = z;
13 | }
14 | }
15 | exports.Vector3 = Vector3;
16 | class Vector2 extends Vector {
17 | constructor(x = 0, y = 0) {
18 | super();
19 | this.x = x;
20 | this.y = y;
21 | }
22 | }
23 | exports.Vector2 = Vector2;
24 |
--------------------------------------------------------------------------------
/Server/lib/helpers/interactableObjectFactory.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | exports.getStateForType = void 0;
4 | const RoomState_1 = require("../rooms/schema/RoomState");
5 | /**
6 | * Begin the process to matchmake into a room.
7 | * @param room The room name for the user to matchmake into.
8 | * @param progress The room filter representing the grid the user is currently in.
9 | * @returns The seat reservation for the room.
10 | */
11 | // export async function matchMakeToRoom(room: string = "lobby_room", progress: string = "0,0"): Promise {
12 | // return await matchMaker.joinOrCreate(room, { progress });
13 | // }
14 | function getStateForType(type) {
15 | let state = new RoomState_1.InteractableState();
16 | //Any new types need an appropriate constructor in here or they will return empty
17 | switch (type) {
18 | case ("DEFAULT"):
19 | {
20 | state.assign({
21 | coinChange: 0,
22 | interactableType: type,
23 | useDuration: 5100.0
24 | });
25 | break;
26 | }
27 | case ("BUTTON_PODIUM"):
28 | {
29 | state.assign({
30 | coinChange: 1,
31 | interactableType: type,
32 | useDuration: 10000.0
33 | });
34 | break;
35 | }
36 | case ("COIN_OP"):
37 | {
38 | state.assign({
39 | coinChange: -1,
40 | interactableType: type,
41 | useDuration: 5100.0
42 | });
43 | break;
44 | }
45 | case ("TELEPORTER"):
46 | {
47 | state.assign({
48 | coinChange: -2,
49 | interactableType: type,
50 | useDuration: 5100.0
51 | });
52 | break;
53 | }
54 | }
55 | return state;
56 | }
57 | exports.getStateForType = getStateForType;
58 |
--------------------------------------------------------------------------------
/Server/lib/helpers/logger.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | const winston = require('winston');
3 | var logLevel = 'info';
4 | if (process.env.NODE_ENV !== 'production') {
5 | logLevel = 'silly'; //silly
6 | }
7 | else {
8 | logLevel = 'info';
9 | }
10 | const logger = winston.createLogger({
11 | level: logLevel,
12 | format: winston.format.combine(winston.format.timestamp({
13 | format: 'YYYY-MM-DD HH:mm:ss'
14 | }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
15 | timestamp: true,
16 | defaultMeta: { service: 'api' },
17 | transports: [
18 | // Adds extra line of json logs before human logs
19 | // new winston.transports.Console({
20 | // colorize: true,
21 | // name: 'ERRORS',
22 | // timestamp: () => new Date(),
23 | // level: 'error'}),
24 | // new winston.transports.Console({
25 | // colorize: true,
26 | // name: 'LOGS',
27 | // timestamp: () => new Date()})
28 | ]
29 | });
30 | logger.setLevels({
31 | debug: 0,
32 | info: 1,
33 | silly: 2,
34 | warn: 3,
35 | error: 4,
36 | });
37 | if (process.env.NODE_ENV !== 'production') {
38 | logger.add(new winston.transports.Console({
39 | level: logLevel || 'silly',
40 | format: winston.format.combine(winston.format.colorize(), winston.format.prettyPrint(), winston.format.splat(), winston.format.printf((info) => {
41 | if (info instanceof Error) {
42 | return `[${info.level}] : ${info.timestamp} : ${info.message} ${info.stack}`;
43 | }
44 | return `[${info.level}] : ${info.timestamp} : ${info.message}`;
45 | })),
46 | handleExceptions: true,
47 | humanReadableUnhandledException: true,
48 | exitOnError: false,
49 | timestamp: true
50 | }));
51 | }
52 | else {
53 | logger.add(new winston.transports.Console({
54 | format: winston.format.combine(
55 | //winston.format.colorize(),
56 | winston.format.cli())
57 | }));
58 | }
59 | logger.stream = {
60 | write: function (message, encoding) {
61 | logger.info(message);
62 | }
63 | };
64 | module.exports = logger;
65 |
--------------------------------------------------------------------------------
/Server/lib/helpers/matchmakerHelper.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 | return new (P || (P = Promise))(function (resolve, reject) {
5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 | step((generator = generator.apply(thisArg, _arguments || [])).next());
9 | });
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.matchMakeToRoom = void 0;
13 | const colyseus_1 = require("colyseus");
14 | /**
15 | * Begin the process to matchmake into a room.
16 | * @param room The room name for the user to matchmake into.
17 | * @param progress The room filter representing the grid the user is currently in.
18 | * @returns The seat reservation for the room.
19 | */
20 | function matchMakeToRoom(room = "lobby_room", progress = "0,0") {
21 | return __awaiter(this, void 0, void 0, function* () {
22 | return yield colyseus_1.matchMaker.joinOrCreate(room, { progress });
23 | });
24 | }
25 | exports.matchMakeToRoom = matchMakeToRoom;
26 |
--------------------------------------------------------------------------------
/Server/lib/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
4 | };
5 | Object.defineProperty(exports, "__esModule", { value: true });
6 | /**
7 | * IMPORTANT:
8 | * ---------
9 | * Do not manually edit this file if you'd like to use Colyseus Arena
10 | *
11 | * If you're self-hosting (without Arena), you can manually instantiate a
12 | * Colyseus Server as documented here: 👉 https://docs.colyseus.io/server/api/#constructor-options
13 | */
14 | const arena_1 = require("@colyseus/arena");
15 | // Import arena config
16 | const arena_config_1 = __importDefault(require("./arena.config"));
17 | const path_1 = __importDefault(require("path"));
18 | const dotenv_1 = require("dotenv");
19 | dotenv_1.config({ path: path_1.default.join(__dirname, "../arena.env") });
20 | // Create and listen on 2567 (or PORT environment variable.)
21 | arena_1.listen(arena_config_1.default);
22 |
--------------------------------------------------------------------------------
/Server/lib/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "name": "my-app",
4 | "version": "1.0.0",
5 | "description": "npm init template for bootstrapping an empty Colyseus project",
6 | "main": "lib/index.js",
7 | "scripts": {
8 | "start": "ts-node-dev --respawn --transpile-only src/index.ts",
9 | "loadtest": "colyseus-loadtest loadtest/example.ts --room my_room --numClients 2",
10 | "build": "npm run clean && tsc && node node_modules/copyfiles/copyfiles package.json ./lib && node node_modules/copyfiles/copyfiles arena.env ./lib",
11 | "clean": "node node_modules/rimraf/bin lib",
12 | "schema-codegen": "schema-codegen src/rooms/schema/RoomState.ts --csharp --output ../ColyseusTechDemo-MMO/Assets/Scripts/States/",
13 | "test": "echo \"Error: no test specified\" && exit 1"
14 | },
15 | "author": "",
16 | "license": "UNLICENSED",
17 | "bugs": {
18 | "url": "https://github.com/colyseus/create-colyseus/issues"
19 | },
20 | "homepage": "https://github.com/colyseus/create-colyseus#readme",
21 | "devDependencies": {
22 | "@colyseus/loadtest": "^0.14.3",
23 | "@types/cors": "^2.8.6",
24 | "@types/express": "^4.17.1",
25 | "copyfiles": "^2.4.1",
26 | "rimraf": "^2.7.1",
27 | "ts-node": "^8.1.0",
28 | "ts-node-dev": "^1.0.0-pre.63",
29 | "typescript": "^3.4.5"
30 | },
31 | "dependencies": {
32 | "@colyseus/arena": "^0.14.9",
33 | "@colyseus/monitor": "^0.14.0",
34 | "@colyseus/social": "^0.10.9",
35 | "@mikro-orm/core": "^4.5.5",
36 | "@mikro-orm/mongodb": "^4.5.5",
37 | "colyseus": "^0.14.0",
38 | "cors": "^2.8.5",
39 | "dotenv": "^10.0.0",
40 | "express": "^4.16.4",
41 | "winston": "^3.3.3"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Server/lib/rooms/schema/AvatarState.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
7 | };
8 | var __metadata = (this && this.__metadata) || function (k, v) {
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.AvatarState = void 0;
13 | const schema_1 = require("@colyseus/schema");
14 | class AvatarState extends schema_1.Schema {
15 | constructor() {
16 | super(...arguments);
17 | this.skinColor = "default";
18 | this.shirtColor = "default";
19 | this.pantsColor = "default";
20 | this.hatColor = "default";
21 | this.hatChoice = 1;
22 | }
23 | }
24 | __decorate([
25 | schema_1.type("string"),
26 | __metadata("design:type", String)
27 | ], AvatarState.prototype, "skinColor", void 0);
28 | __decorate([
29 | schema_1.type("string"),
30 | __metadata("design:type", String)
31 | ], AvatarState.prototype, "shirtColor", void 0);
32 | __decorate([
33 | schema_1.type("string"),
34 | __metadata("design:type", String)
35 | ], AvatarState.prototype, "pantsColor", void 0);
36 | __decorate([
37 | schema_1.type("string"),
38 | __metadata("design:type", String)
39 | ], AvatarState.prototype, "hatColor", void 0);
40 | __decorate([
41 | schema_1.type("number"),
42 | __metadata("design:type", Number)
43 | ], AvatarState.prototype, "hatChoice", void 0);
44 | exports.AvatarState = AvatarState;
45 |
--------------------------------------------------------------------------------
/Server/lib/rooms/schema/Position.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
7 | };
8 | var __metadata = (this && this.__metadata) || function (k, v) {
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.Position = void 0;
13 | const schema_1 = require("@colyseus/schema");
14 | class Position extends schema_1.Schema {
15 | }
16 | __decorate([
17 | schema_1.type("number"),
18 | __metadata("design:type", Number)
19 | ], Position.prototype, "x", void 0);
20 | __decorate([
21 | schema_1.type("number"),
22 | __metadata("design:type", Number)
23 | ], Position.prototype, "y", void 0);
24 | __decorate([
25 | schema_1.type("number"),
26 | __metadata("design:type", Number)
27 | ], Position.prototype, "z", void 0);
28 | exports.Position = Position;
29 |
--------------------------------------------------------------------------------
/Server/lib/rooms/schema/Rotation.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
7 | };
8 | var __metadata = (this && this.__metadata) || function (k, v) {
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10 | };
11 | Object.defineProperty(exports, "__esModule", { value: true });
12 | exports.Rotation = void 0;
13 | const schema_1 = require("@colyseus/schema");
14 | class Rotation extends schema_1.Schema {
15 | }
16 | __decorate([
17 | schema_1.type("number"),
18 | __metadata("design:type", Number)
19 | ], Rotation.prototype, "x", void 0);
20 | __decorate([
21 | schema_1.type("number"),
22 | __metadata("design:type", Number)
23 | ], Rotation.prototype, "y", void 0);
24 | __decorate([
25 | schema_1.type("number"),
26 | __metadata("design:type", Number)
27 | ], Rotation.prototype, "z", void 0);
28 | exports.Rotation = Rotation;
29 |
--------------------------------------------------------------------------------
/Server/lib/routes/userRoutes.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3 | if (k2 === undefined) k2 = k;
4 | Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5 | }) : (function(o, m, k, k2) {
6 | if (k2 === undefined) k2 = k;
7 | o[k2] = m[k];
8 | }));
9 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10 | Object.defineProperty(o, "default", { enumerable: true, value: v });
11 | }) : function(o, v) {
12 | o["default"] = v;
13 | });
14 | var __importStar = (this && this.__importStar) || function (mod) {
15 | if (mod && mod.__esModule) return mod;
16 | var result = {};
17 | if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18 | __setModuleDefault(result, mod);
19 | return result;
20 | };
21 | var __importDefault = (this && this.__importDefault) || function (mod) {
22 | return (mod && mod.__esModule) ? mod : { "default": mod };
23 | };
24 | Object.defineProperty(exports, "__esModule", { value: true });
25 | const express_1 = __importDefault(require("express"));
26 | const authController = __importStar(require("../controllers/authController"));
27 | const router = express_1.default.Router();
28 | // Register our sign up and login routes
29 | router.post("/signup", authController.prepEmail, authController.signUp);
30 | router.post("/login", authController.prepEmail, authController.logIn);
31 | exports.default = router;
32 |
--------------------------------------------------------------------------------
/Server/loadtest/example.ts:
--------------------------------------------------------------------------------
1 | import { Room, Client } from "colyseus.js";
2 |
3 | export function requestJoinOptions (this: Client, i: number) {
4 | return { requestNumber: i };
5 | }
6 |
7 | export function onJoin(this: Room) {
8 | console.log(this.sessionId, "joined.");
9 |
10 | this.onMessage("*", (type, message) => {
11 | console.log(this.sessionId, "received:", type, message);
12 | });
13 | }
14 |
15 | export function onLeave(this: Room) {
16 | console.log(this.sessionId, "left.");
17 | }
18 |
19 | export function onError(this: Room, err: any) {
20 | console.log(this.sessionId, "!! ERROR !!", err.message);
21 | }
22 |
23 | export function onStateChange(this: Room, state: any) {
24 | console.log(this.sessionId, "new state:", state);
25 | }
26 |
--------------------------------------------------------------------------------
/Server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "name": "my-app",
4 | "version": "1.0.0",
5 | "description": "npm init template for bootstrapping an empty Colyseus project",
6 | "main": "lib/index.js",
7 | "scripts": {
8 | "start": "ts-node-dev --respawn --transpile-only src/index.ts",
9 | "loadtest": "colyseus-loadtest loadtest/example.ts --room my_room --numClients 2",
10 | "build": "npm run clean && tsc && node node_modules/copyfiles/copyfiles package.json ./lib && node node_modules/copyfiles/copyfiles arena.env ./lib",
11 | "clean": "node node_modules/rimraf/bin lib",
12 | "schema-codegen": "schema-codegen src/rooms/schema/RoomState.ts --csharp --output ../ColyseusTechDemo-MMO/Assets/Scripts/States/",
13 | "test": "echo \"Error: no test specified\" && exit 1"
14 | },
15 | "author": "",
16 | "license": "UNLICENSED",
17 | "bugs": {
18 | "url": "https://github.com/colyseus/create-colyseus/issues"
19 | },
20 | "homepage": "https://github.com/colyseus/create-colyseus#readme",
21 | "devDependencies": {
22 | "@colyseus/loadtest": "^0.14.3",
23 | "@types/cors": "^2.8.6",
24 | "@types/express": "^4.17.1",
25 | "copyfiles": "^2.4.1",
26 | "rimraf": "^2.7.1",
27 | "ts-node": "^8.1.0",
28 | "ts-node-dev": "^1.0.0-pre.63",
29 | "typescript": "^3.4.5"
30 | },
31 | "dependencies": {
32 | "@colyseus/arena": "^0.14.9",
33 | "@colyseus/monitor": "^0.14.0",
34 | "@colyseus/social": "^0.10.9",
35 | "@mikro-orm/core": "^4.5.5",
36 | "@mikro-orm/mongodb": "^4.5.5",
37 | "bcrypt": "^5.0.1",
38 | "colyseus": "^0.14.0",
39 | "cors": "^2.8.5",
40 | "dotenv": "^10.0.0",
41 | "express": "^4.16.4",
42 | "winston": "^3.3.3"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Server/src/arena.config.ts:
--------------------------------------------------------------------------------
1 | import Arena from "@colyseus/arena";
2 | import { monitor } from "@colyseus/monitor";
3 | import { MikroORM } from "@mikro-orm/core";
4 | import { RequestContext } from "@mikro-orm/core";
5 | import express from "express";
6 |
7 | const logger = require("./helpers/logger");
8 | import { connect, DI } from "./config/database.config";
9 | import userRoutes from "./routes/userRoutes";
10 |
11 | /**
12 | * Import your Room files
13 | */
14 | import { MMORoom } from "./rooms/MMORoom";
15 | import { ChatRoom } from "./rooms/ChatRoom";
16 |
17 | export default Arena({
18 | getId: () => "Your Colyseus App",
19 |
20 | initializeGameServer: (gameServer) => {
21 |
22 | /**
23 | * Define your room handlers:
24 | */
25 | gameServer.define('chat_room', ChatRoom).filterBy(["roomID"]);
26 | gameServer.define('lobby_room', MMORoom).filterBy(["progress"]); // Filter room by "progress" (which grid we're wanting to join EX: -1x2)
27 |
28 | },
29 |
30 | initializeExpress: (app) => {
31 | /**
32 | * Bind your custom express routes here:
33 | */
34 | // Body parser - reads data from request body into json object
35 | app.use(express.json());
36 | app.use(express.urlencoded({ extended: true, limit: "10kb" }));
37 |
38 | //
39 | // MikroORM: it is important to create a RequestContext before registering routes that access the database.
40 | // See => https://mikro-orm.io/docs/identity-map/
41 | //
42 | app.use((req, res, next) => RequestContext.create(DI.orm.em, next));
43 |
44 | // Register routes for our simple user auth
45 | app.use("/users", userRoutes);
46 |
47 | // Connect to our database
48 | connect().then(async () => {
49 | logger.silly(`*** Connected to Database! ***`);
50 | });
51 |
52 | app.get("/", (req, res) => {
53 | res.send("It's time to kick ass and chew bubblegum!");
54 | });
55 |
56 | /**
57 | * Bind @colyseus/monitor
58 | * It is recommended to protect this route with a password.
59 | * Read more: https://docs.colyseus.io/tools/monitor/
60 | */
61 | app.use("/colyseus", monitor());
62 | },
63 |
64 |
65 | beforeListen: () => {
66 | /**
67 | * Before before gameServer.listen() is called.
68 | */
69 | }
70 | });
--------------------------------------------------------------------------------
/Server/src/config/database.config.ts:
--------------------------------------------------------------------------------
1 | import { EntityManager, EntityRepository, MikroORM } from '@mikro-orm/core';
2 | import options from './mikro-orm.config';
3 |
4 | import { User } from "../entities/UserEntity";
5 |
6 | /**
7 | * This demo makes use of Mikro ORM to manage the database connection and CRUD operations of our User entity (https://mikro-orm.io/)
8 | */
9 |
10 | export const DI = {} as {
11 | orm: MikroORM,
12 | em: EntityManager,
13 | userRepository: EntityRepository
14 | };
15 |
16 | /**
17 | * Initiate connection to the database
18 | */
19 | export async function connect() {
20 |
21 | options.clientUrl = process.env.DEMO_DATABASE
22 |
23 | DI.orm = await MikroORM.init(options);
24 |
25 | DI.em = DI.orm.em;
26 | }
--------------------------------------------------------------------------------
/Server/src/config/mikro-orm.config.ts:
--------------------------------------------------------------------------------
1 | import { Options } from '@mikro-orm/core';
2 |
3 | import { User } from "../entities/UserEntity";
4 |
5 | /**
6 | * Mikro ORM Connection options object
7 | * If using a different database other than Mongo DB change
8 | * the "type" as necessary following the guidelines here: https://mikro-orm.io/docs/usage-with-sql
9 | * */
10 | const options: Options = {
11 | type: 'mongo',
12 | entities: [User],
13 | dbName: 'Colyseus_MMO_Demo'
14 | };
15 |
16 | export default options;
--------------------------------------------------------------------------------
/Server/src/entities/BaseEntity.ts:
--------------------------------------------------------------------------------
1 | import { PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';
2 | import { ObjectId } from '@mikro-orm/mongodb';
3 |
4 | export abstract class BaseEntity {
5 |
6 | @PrimaryKey()
7 | _id!: ObjectId;
8 |
9 | @SerializedPrimaryKey()
10 | id!: string;
11 |
12 | @Property()
13 | createdAt = new Date();
14 |
15 | @Property({ onUpdate: () => new Date() })
16 | updatedAt = new Date();
17 |
18 | }
--------------------------------------------------------------------------------
/Server/src/entities/UserEntity.ts:
--------------------------------------------------------------------------------
1 | import { Entity, Property } from "@mikro-orm/core";
2 | import { Vector3 } from "../helpers/Vectors";
3 | import { AvatarState } from "../rooms/schema/AvatarState";
4 | import { BaseEntity } from './BaseEntity';
5 |
6 | /**
7 | * Entity to represent the user in the database and throughout the server
8 | */
9 | @Entity()
10 | export class User extends BaseEntity {
11 |
12 | @Property() username!: string;
13 | @Property() email!: string;
14 | @Property() password!: string;
15 | @Property() pendingSessionId: string;
16 | @Property() pendingSessionTimestamp: number;
17 | @Property() activeSessionId: string;
18 | @Property() progress: string = "0,0";
19 | @Property() prevGrid: string = "0,0";
20 | @Property() position: Vector3;
21 | @Property() rotation: Vector3;
22 | @Property() avatar: AvatarState
23 | @Property() coins: number;
24 | }
--------------------------------------------------------------------------------
/Server/src/helpers/Vectors.ts:
--------------------------------------------------------------------------------
1 |
2 | export class Vector{
3 |
4 | }
5 |
6 | export class Vector3 extends Vector {
7 | x: number;
8 | y: number;
9 | z: number;
10 |
11 | constructor(x: number = 0, y: number = 0, z: number = 0) {
12 | super();
13 |
14 | this.x = x;
15 | this.y = y;
16 | this.z = z;
17 | }
18 | }
19 |
20 | export class Vector2 extends Vector {
21 | x: number;
22 | y: number;
23 |
24 | constructor(x: number = 0, y: number = 0){
25 | super();
26 |
27 | this.x = x;
28 | this.y = y;
29 | }
30 | }
--------------------------------------------------------------------------------
/Server/src/helpers/interactableObjectFactory.ts:
--------------------------------------------------------------------------------
1 | import { InteractableState } from "../rooms/schema/RoomState"
2 |
3 | /**
4 | * Begin the process to matchmake into a room.
5 | * @param room The room name for the user to matchmake into.
6 | * @param progress The room filter representing the grid the user is currently in.
7 | * @returns The seat reservation for the room.
8 | */
9 | // export async function matchMakeToRoom(room: string = "lobby_room", progress: string = "0,0"): Promise {
10 | // return await matchMaker.joinOrCreate(room, { progress });
11 | // }
12 |
13 | export function getStateForType(type: string) : InteractableState {
14 | let state : InteractableState = new InteractableState();
15 |
16 | //Any new types need an appropriate constructor in here or they will return empty
17 | switch(type){
18 | case("DEFAULT"):
19 | {
20 | state.assign({
21 | coinChange : 0,
22 | interactableType : type,
23 | useDuration : 5100.0
24 | });
25 | break;
26 | }
27 | case("BUTTON_PODIUM"):
28 | {
29 | state.assign({
30 | coinChange : 1,
31 | interactableType : type,
32 | useDuration : 10000.0
33 | });
34 | break;
35 | }
36 | case("COIN_OP"):
37 | {
38 | state.assign({
39 | coinChange : -1,
40 | interactableType : type,
41 | useDuration : 5100.0
42 | });
43 | break;
44 | }
45 | case("TELEPORTER"):
46 | {
47 | state.assign({
48 | coinChange : -2,
49 | interactableType : type,
50 | useDuration : 5100.0
51 | });
52 | break;
53 | }
54 | }
55 |
56 | return state;
57 | }
--------------------------------------------------------------------------------
/Server/src/helpers/logger.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const winston = require('winston');
3 |
4 | var logLevel = 'info';
5 | if (process.env.NODE_ENV !== 'production') {
6 | logLevel = 'silly';//silly
7 | } else {
8 | logLevel = 'info';
9 | }
10 |
11 | const logger = winston.createLogger({
12 | level: logLevel,
13 | format: winston.format.combine(
14 | winston.format.timestamp({
15 | format: 'YYYY-MM-DD HH:mm:ss'
16 | }),
17 | winston.format.errors({ stack: true }),
18 | winston.format.splat(),
19 | winston.format.json(),
20 | ),
21 | timestamp: true,
22 | defaultMeta: { service: 'api' },
23 | transports: [
24 | // Adds extra line of json logs before human logs
25 | // new winston.transports.Console({
26 | // colorize: true,
27 | // name: 'ERRORS',
28 | // timestamp: () => new Date(),
29 | // level: 'error'}),
30 | // new winston.transports.Console({
31 | // colorize: true,
32 | // name: 'LOGS',
33 | // timestamp: () => new Date()})
34 | ]
35 | });
36 |
37 | logger.setLevels({
38 | debug:0,
39 | info: 1,
40 | silly:2,
41 | warn: 3,
42 | error:4,
43 | });
44 |
45 |
46 | if (process.env.NODE_ENV !== 'production') {
47 | logger.add(new winston.transports.Console({
48 | level: logLevel || 'silly',
49 |
50 | format: winston.format.combine(
51 | winston.format.colorize(),
52 | winston.format.prettyPrint(),
53 | winston.format.splat(),
54 | winston.format.printf((info) => {
55 | if(info instanceof Error) {
56 | return `[${info.level}] : ${info.timestamp} : ${info.message} ${info.stack}`;
57 | }
58 | return `[${info.level}] : ${info.timestamp} : ${info.message}`;
59 | })
60 | ),
61 | handleExceptions: true,
62 | humanReadableUnhandledException: true,
63 | exitOnError: false,
64 | timestamp:true
65 | }));
66 | } else {
67 | logger.add(new winston.transports.Console({
68 | format: winston.format.combine(
69 | //winston.format.colorize(),
70 | winston.format.cli(),
71 | )
72 | }));
73 | }
74 |
75 | logger.stream = {
76 | write: function(message, encoding){
77 | logger.info(message);
78 | }
79 | };
80 |
81 | module.exports = logger;
82 |
--------------------------------------------------------------------------------
/Server/src/helpers/matchmakerHelper.ts:
--------------------------------------------------------------------------------
1 | import { matchMaker } from "colyseus";
2 |
3 | /**
4 | * Begin the process to matchmake into a room.
5 | * @param room The room name for the user to matchmake into.
6 | * @param progress The room filter representing the grid the user is currently in.
7 | * @returns The seat reservation for the room.
8 | */
9 | export async function matchMakeToRoom(room: string = "lobby_room", progress: string = "0,0"): Promise {
10 | return await matchMaker.joinOrCreate(room, { progress });
11 | }
--------------------------------------------------------------------------------
/Server/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * IMPORTANT:
3 | * ---------
4 | * Do not manually edit this file if you'd like to use Colyseus Arena
5 | *
6 | * If you're self-hosting (without Arena), you can manually instantiate a
7 | * Colyseus Server as documented here: 👉 https://docs.colyseus.io/server/api/#constructor-options
8 | */
9 | import { listen } from "@colyseus/arena";
10 |
11 | // Import arena config
12 | import arenaConfig from "./arena.config";
13 |
14 | import path from "path";
15 | import { config } from "dotenv";
16 |
17 | config({ path: path.join(__dirname, "../arena.env") });
18 |
19 | // Create and listen on 2567 (or PORT environment variable.)
20 | listen(arenaConfig);
--------------------------------------------------------------------------------
/Server/src/rooms/schema/AvatarState.ts:
--------------------------------------------------------------------------------
1 | import { Schema, type } from "@colyseus/schema";
2 |
3 | export class AvatarState extends Schema {
4 | @type("string") skinColor: string = "default";
5 | @type("string") shirtColor: string = "default";
6 | @type("string") pantsColor: string = "default";
7 | @type("string") hatColor: string = "default";
8 | @type("number") hatChoice: number = 1;
9 | }
--------------------------------------------------------------------------------
/Server/src/routes/userRoutes.ts:
--------------------------------------------------------------------------------
1 | import express from "express";
2 | import * as authController from "../controllers/authController";
3 |
4 | const router = express.Router();
5 |
6 | // Register our sign up and login routes
7 | router.post("/signup", authController.prepEmail, authController.signUp);
8 | router.post("/login", authController.prepEmail, authController.logIn);
9 |
10 | export default router;
--------------------------------------------------------------------------------
/Server/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "lib",
4 | "target": "es6",
5 | "module": "commonjs",
6 | "strict": true,
7 | "allowJs": true,
8 | "strictNullChecks": false,
9 | "esModuleInterop": true,
10 | "experimentalDecorators": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "emitDecoratorMetadata": true
13 | },
14 | "include": [
15 | "src"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/screenshot.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colyseus/unity-demo-mmo/b0e2d04bb287b47646d0afb87c4e46b0181d27c6/screenshot.PNG
--------------------------------------------------------------------------------