├── .gitignore
├── .idea
└── .idea.AuthoritativeMovementExample
│ ├── .idea
│ ├── contentModel.xml
│ ├── indexLayout.xml
│ ├── modules.xml
│ ├── vcs.xml
│ └── workspace.xml
│ └── riderModule.iml
├── Assets
├── AuthoritativeMovementExample.meta
├── AuthoritativeMovementExample
│ ├── material.meta
│ ├── material
│ │ ├── physics.physicsMaterial2D
│ │ └── physics.physicsMaterial2D.meta
│ ├── prefab.meta
│ ├── prefab
│ │ ├── GameManager.prefab
│ │ ├── GameManager.prefab.meta
│ │ ├── InputListener.prefab
│ │ ├── InputListener.prefab.meta
│ │ ├── Player.prefab
│ │ └── Player.prefab.meta
│ ├── scene.meta
│ ├── scene
│ │ ├── AuthoritativeMovementExample.unity
│ │ └── AuthoritativeMovementExample.unity.meta
│ ├── script.meta
│ ├── script
│ │ ├── ByteArray.cs
│ │ ├── ByteArray.cs.meta
│ │ ├── GameManager.cs
│ │ ├── GameManager.cs.meta
│ │ ├── InputFrame.cs
│ │ ├── InputFrame.cs.meta
│ │ ├── InputListener.cs
│ │ ├── InputListener.cs.meta
│ │ ├── ListExtensions.cs
│ │ ├── ListExtensions.cs.meta
│ │ ├── Player.cs
│ │ └── Player.cs.meta
│ ├── textures.meta
│ └── textures
│ │ ├── Square.png
│ │ └── Square.png.meta
├── Bearded Man Studios Inc.meta
├── Bearded Man Studios Inc
│ ├── Api Documentation HTML.zip
│ ├── Api Documentation HTML.zip.meta
│ ├── Editor.meta
│ ├── Editor
│ │ ├── ForgeNetworkingUnityEditor.dll.mdb
│ │ ├── ForgeNetworkingUnityEditor.dll.mdb.meta
│ │ ├── ForgeNetworkingUnityEditor.dll.meta
│ │ ├── ForgeNetworkingUnityEditor.pdb.meta
│ │ ├── Resources.meta
│ │ └── Resources
│ │ │ ├── Add.png
│ │ │ ├── Add.png.meta
│ │ │ ├── Arrow.png
│ │ │ ├── Arrow.png.meta
│ │ │ ├── BMS_Forge_Editor.meta
│ │ │ ├── BMS_Forge_Editor
│ │ │ ├── NetworkBehaviorTemplate.txt
│ │ │ ├── NetworkBehaviorTemplate.txt.meta
│ │ │ ├── NetworkManagerTemplate.txt
│ │ │ ├── NetworkManagerTemplate.txt.meta
│ │ │ ├── NetworkObjectFactoryTemplate.txt
│ │ │ ├── NetworkObjectFactoryTemplate.txt.meta
│ │ │ ├── NetworkObjectTemplate.txt
│ │ │ ├── NetworkObjectTemplate.txt.meta
│ │ │ ├── StandAloneNetworkBehaviorTemplate.txt
│ │ │ ├── StandAloneNetworkBehaviorTemplate.txt.meta
│ │ │ ├── version.txt
│ │ │ └── version.txt.meta
│ │ │ ├── Icon.png
│ │ │ ├── Icon.png.meta
│ │ │ ├── Lightbulb.png
│ │ │ ├── Lightbulb.png.meta
│ │ │ ├── Save.png
│ │ │ ├── Save.png.meta
│ │ │ ├── SideArrow.png
│ │ │ ├── SideArrow.png.meta
│ │ │ ├── Star.png
│ │ │ ├── Star.png.meta
│ │ │ ├── Subtract.png
│ │ │ ├── Subtract.png.meta
│ │ │ ├── Trash.png
│ │ │ ├── Trash.png.meta
│ │ │ ├── logoDark.png
│ │ │ ├── logoDark.png.meta
│ │ │ ├── logoLight.png
│ │ │ └── logoLight.png.meta
│ ├── Examples.meta
│ ├── Examples
│ │ ├── Cube Forge.meta
│ │ ├── Cube Forge
│ │ │ ├── CubeForgeGame.unity
│ │ │ ├── CubeForgeGame.unity.meta
│ │ │ ├── Materials.meta
│ │ │ ├── Materials
│ │ │ │ ├── Camera.mat
│ │ │ │ └── Camera.mat.meta
│ │ │ ├── Prefabs.meta
│ │ │ ├── Prefabs
│ │ │ │ ├── Cube.prefab
│ │ │ │ ├── Cube.prefab.meta
│ │ │ │ ├── Network Camera.prefab
│ │ │ │ └── Network Camera.prefab.meta
│ │ │ ├── Scripts.meta
│ │ │ ├── Scripts
│ │ │ │ ├── CubeForgeGame.cs
│ │ │ │ ├── CubeForgeGame.cs.meta
│ │ │ │ ├── NetCam.cs
│ │ │ │ ├── NetCam.cs.meta
│ │ │ │ ├── Primitive.cs
│ │ │ │ └── Primitive.cs.meta
│ │ │ ├── Textures.meta
│ │ │ └── Textures
│ │ │ │ ├── Camera.png
│ │ │ │ └── Camera.png.meta
│ │ ├── Proximity.meta
│ │ └── Proximity
│ │ │ ├── ExampleProximity.unity
│ │ │ ├── ExampleProximity.unity.meta
│ │ │ ├── ExampleProximityPlayer.cs
│ │ │ ├── ExampleProximityPlayer.cs.meta
│ │ │ ├── ExampleProximitySpawn.cs
│ │ │ ├── ExampleProximitySpawn.cs.meta
│ │ │ ├── ProximityPlayer.prefab
│ │ │ └── ProximityPlayer.prefab.meta
│ ├── Generated.meta
│ ├── Generated
│ │ ├── NetworkManager.cs
│ │ ├── NetworkManager.cs.meta
│ │ ├── NetworkObjectFactory.cs
│ │ ├── NetworkObjectFactory.cs.meta
│ │ ├── UserGenerated.meta
│ │ └── UserGenerated
│ │ │ ├── ChatManagerBehavior.cs
│ │ │ ├── ChatManagerBehavior.cs.meta
│ │ │ ├── ChatManagerNetworkObject.cs
│ │ │ ├── ChatManagerNetworkObject.cs.meta
│ │ │ ├── CubeForgeGameBehavior.cs
│ │ │ ├── CubeForgeGameBehavior.cs.meta
│ │ │ ├── CubeForgeGameNetworkObject.cs
│ │ │ ├── CubeForgeGameNetworkObject.cs.meta
│ │ │ ├── ExampleProximityPlayerBehavior.cs
│ │ │ ├── ExampleProximityPlayerBehavior.cs.meta
│ │ │ ├── ExampleProximityPlayerNetworkObject.cs
│ │ │ ├── ExampleProximityPlayerNetworkObject.cs.meta
│ │ │ ├── GameManagerBehavior.cs
│ │ │ ├── GameManagerBehavior.cs.meta
│ │ │ ├── GameManagerNetworkObject.cs
│ │ │ ├── GameManagerNetworkObject.cs.meta
│ │ │ ├── InputListenerBehavior.cs
│ │ │ ├── InputListenerBehavior.cs.meta
│ │ │ ├── InputListenerNetworkObject.cs
│ │ │ ├── InputListenerNetworkObject.cs.meta
│ │ │ ├── NetworkCameraBehavior.cs
│ │ │ ├── NetworkCameraBehavior.cs.meta
│ │ │ ├── NetworkCameraNetworkObject.cs
│ │ │ ├── NetworkCameraNetworkObject.cs.meta
│ │ │ ├── PlayerBehavior.cs
│ │ │ ├── PlayerBehavior.cs.meta
│ │ │ ├── PlayerNetworkObject.cs
│ │ │ ├── PlayerNetworkObject.cs.meta
│ │ │ ├── TestBehavior.cs
│ │ │ ├── TestBehavior.cs.meta
│ │ │ ├── TestNetworkObject.cs
│ │ │ └── TestNetworkObject.cs.meta
│ ├── Modules.meta
│ ├── Modules
│ │ ├── Chat.meta
│ │ ├── Chat
│ │ │ ├── Chat Maker.prefab
│ │ │ ├── Chat Maker.prefab.meta
│ │ │ ├── ChatMaker.cs
│ │ │ ├── ChatMaker.cs.meta
│ │ │ ├── ChatManager.cs
│ │ │ └── ChatManager.cs.meta
│ │ ├── LobbySystem.meta
│ │ ├── LobbySystem
│ │ │ ├── LobbyManager.cs
│ │ │ ├── LobbyManager.cs.meta
│ │ │ ├── LobbyPlayer.cs
│ │ │ ├── LobbyPlayer.cs.meta
│ │ │ ├── LobbyPlayerItem.cs
│ │ │ └── LobbyPlayerItem.cs.meta
│ │ ├── Prefabs.meta
│ │ ├── Prefabs
│ │ │ ├── Chat.prefab
│ │ │ ├── Chat.prefab.meta
│ │ │ ├── EventSystem.prefab
│ │ │ ├── EventSystem.prefab.meta
│ │ │ ├── LobbyPlayerItem.prefab
│ │ │ ├── LobbyPlayerItem.prefab.meta
│ │ │ ├── LobbySystem.prefab
│ │ │ ├── LobbySystem.prefab.meta
│ │ │ ├── Message.prefab
│ │ │ └── Message.prefab.meta
│ │ ├── Stand Alone Chat.meta
│ │ ├── Stand Alone Chat
│ │ │ ├── StandAloneChat.cs
│ │ │ └── StandAloneChat.cs.meta
│ │ ├── VOIP.meta
│ │ └── VOIP
│ │ │ ├── VOIP.cs
│ │ │ ├── VOIP.cs.meta
│ │ │ ├── VOIP.unity
│ │ │ ├── VOIP.unity.meta
│ │ │ ├── VoipStarter.cs
│ │ │ └── VoipStarter.cs.meta
│ ├── Plugins.meta
│ ├── Plugins
│ │ ├── BeardedManStudios.dll.mdb
│ │ ├── BeardedManStudios.dll.mdb.meta
│ │ ├── BeardedManStudios.dll.meta
│ │ ├── BeardedManStudios.pdb.meta
│ │ ├── ForgeNetworkingCommon.dll.mdb
│ │ ├── ForgeNetworkingCommon.dll.mdb.meta
│ │ ├── ForgeNetworkingCommon.dll.meta
│ │ └── ForgeNetworkingCommon.pdb.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── NetworkManager.prefab
│ │ ├── NetworkManager.prefab.meta
│ │ ├── Server Option.prefab
│ │ └── Server Option.prefab.meta
│ ├── Scenes.meta
│ ├── Scenes
│ │ ├── Lobby.unity
│ │ ├── Lobby.unity.meta
│ │ ├── MultiplayerMenu.unity
│ │ ├── MultiplayerMenu.unity.meta
│ │ ├── ServerBrowser.unity
│ │ └── ServerBrowser.unity.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── BMSUnityExtensions.cs
│ │ ├── BMSUnityExtensions.cs.meta
│ │ ├── InterpolateQuaternion.cs
│ │ ├── InterpolateQuaternion.cs.meta
│ │ ├── InterpolateVector2.cs
│ │ ├── InterpolateVector2.cs.meta
│ │ ├── InterpolateVector3.cs
│ │ ├── InterpolateVector3.cs.meta
│ │ ├── InterpolateVector4.cs
│ │ ├── InterpolateVector4.cs.meta
│ │ ├── Logging.meta
│ │ ├── Logging
│ │ ├── BMSLogger.cs
│ │ ├── BMSLogger.cs.meta
│ │ ├── Resources.meta
│ │ └── Resources
│ │ │ ├── BMSLogger.prefab
│ │ │ └── BMSLogger.prefab.meta
│ │ ├── MainThreadManager.cs
│ │ ├── MainThreadManager.cs.meta
│ │ ├── Multiplayer Menu.meta
│ │ ├── Multiplayer Menu
│ │ ├── MultiplayerMenu.cs
│ │ └── MultiplayerMenu.cs.meta
│ │ ├── NetworkBehavior.cs
│ │ ├── NetworkBehavior.cs.meta
│ │ ├── NetworkManager.cs
│ │ ├── NetworkManager.cs.meta
│ │ ├── NetworkObjectFactory.cs
│ │ ├── NetworkObjectFactory.cs.meta
│ │ ├── NetworkObjectFactoryBase.cs
│ │ ├── NetworkObjectFactoryBase.cs.meta
│ │ ├── Server Browser.meta
│ │ ├── Server Browser
│ │ ├── ServerBrowser.cs
│ │ ├── ServerBrowser.cs.meta
│ │ ├── ServerBrowserItem.cs
│ │ └── ServerBrowserItem.cs.meta
│ │ ├── UnityObjectMapper.cs
│ │ └── UnityObjectMapper.cs.meta
├── Plugins.meta
└── Plugins
│ ├── Editor.meta
│ └── Editor
│ ├── JetBrains.meta
│ └── JetBrains
│ └── JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll.meta
├── AssetsLogs
└── bmslog.txt
├── LICENSE
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
└── UnityConnectSettings.asset
├── README.md
└── UnityPackageManager
└── manifest.json
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 | /[Bb]uilds/
6 | /Assets/AssetStoreTools*
7 | /Assets/Images*
8 |
9 | # Visual Studio 2015 cache directory
10 | /.vs/
11 |
12 | # Autogenerated VS/MD/Consulo solution and project files
13 | ExportedObj/
14 | .consulo/
15 | *.csproj
16 | *.unityproj
17 | *.sln
18 | *.suo
19 | *.tmp
20 | *.user
21 | *.userprefs
22 | *.pidb
23 | *.booproj
24 | *.svd
25 | *.pdb
26 |
27 | # Unity3D generated meta files
28 | *.pidb.meta
29 |
30 | # Unity3D Generated File On Crash Reports
31 | sysinfo.txt
32 |
33 | # Builds
34 | *.apk
35 | *.unitypackage
--------------------------------------------------------------------------------
/.idea/.idea.AuthoritativeMovementExample/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/.idea.AuthoritativeMovementExample/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.AuthoritativeMovementExample/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.AuthoritativeMovementExample/riderModule.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6d6f7592fa093847a4c63e2f04235da
3 | folderAsset: yes
4 | timeCreated: 1513694909
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/material.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 649236d9b1c997c4a8a23457ea168bec
3 | folderAsset: yes
4 | timeCreated: 1513698948
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/material/physics.physicsMaterial2D:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!62 &6200000
4 | PhysicsMaterial2D:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: physics
9 | friction: 0
10 | bounciness: 0
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/material/physics.physicsMaterial2D.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e840529a43f61ed4eaaf42f6c13d098a
3 | timeCreated: 1513698967
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 6200000
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f322a12d837d364c838ae50f75ec433
3 | folderAsset: yes
4 | timeCreated: 1513694927
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab/GameManager.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1909901469931254}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1909901469931254
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4979201583194304}
22 | - component: {fileID: 114147026580097278}
23 | m_Layer: 0
24 | m_Name: GameManager
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!4 &4979201583194304
31 | Transform:
32 | m_ObjectHideFlags: 1
33 | m_PrefabParentObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 100100000}
35 | m_GameObject: {fileID: 1909901469931254}
36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
37 | m_LocalPosition: {x: 0, y: 0, z: 0}
38 | m_LocalScale: {x: 1, y: 1, z: 1}
39 | m_Children: []
40 | m_Father: {fileID: 0}
41 | m_RootOrder: 0
42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
43 | --- !u!114 &114147026580097278
44 | MonoBehaviour:
45 | m_ObjectHideFlags: 1
46 | m_PrefabParentObject: {fileID: 0}
47 | m_PrefabInternal: {fileID: 100100000}
48 | m_GameObject: {fileID: 1909901469931254}
49 | m_Enabled: 1
50 | m_EditorHideFlags: 0
51 | m_Script: {fileID: 11500000, guid: 2ff9eb452303dcf4ba18816f62689d44, type: 3}
52 | m_Name:
53 | m_EditorClassIdentifier:
54 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab/GameManager.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2d377f70144ac074287c53ff786949db
3 | timeCreated: 1513699197
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 100100000
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab/InputListener.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1420436103130830}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1420436103130830
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4734678180465878}
22 | - component: {fileID: 114778372134132180}
23 | m_Layer: 0
24 | m_Name: InputListener
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!4 &4734678180465878
31 | Transform:
32 | m_ObjectHideFlags: 1
33 | m_PrefabParentObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 100100000}
35 | m_GameObject: {fileID: 1420436103130830}
36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
37 | m_LocalPosition: {x: 0, y: 0, z: 0}
38 | m_LocalScale: {x: 1, y: 1, z: 1}
39 | m_Children: []
40 | m_Father: {fileID: 0}
41 | m_RootOrder: 0
42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
43 | --- !u!114 &114778372134132180
44 | MonoBehaviour:
45 | m_ObjectHideFlags: 1
46 | m_PrefabParentObject: {fileID: 0}
47 | m_PrefabInternal: {fileID: 100100000}
48 | m_GameObject: {fileID: 1420436103130830}
49 | m_Enabled: 1
50 | m_EditorHideFlags: 0
51 | m_Script: {fileID: 11500000, guid: 958bd3eda33af9f47bc0117581696dac, type: 3}
52 | m_Name:
53 | m_EditorClassIdentifier:
54 | sendSingleInputs: 1
55 | frameSyncRate: 5
56 | FramesToPlay: []
57 | FramesToReconcile: []
58 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab/InputListener.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c12fefa12ce8bd4d9f3d990eb94af41
3 | timeCreated: 1513699229
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 100100000
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/prefab/Player.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b4acefbb25517e4a8f7b0b694e11548
3 | timeCreated: 1531428186
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 100100000
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/scene.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b650d522eedffb54f9364d3c83f925d8
3 | folderAsset: yes
4 | timeCreated: 1513694923
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/scene/AuthoritativeMovementExample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f7cfb602031be34c920b35dbfad5b58
3 | timeCreated: 1513699298
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30846eb3ebe42304491cccef5486972f
3 | folderAsset: yes
4 | timeCreated: 1513694931
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/ByteArray.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Runtime.Serialization.Formatters.Binary;
4 |
5 | namespace AuthMovementExample
6 | {
7 | ///
8 | /// Binary (De)serializer using BinaryFormatter
9 | ///
10 | public class ByteArray
11 | {
12 | private static BinaryFormatter _bf = new BinaryFormatter();
13 |
14 | ///
15 | /// Serialize the object to a binary byte array
16 | ///
17 | ///
18 | ///
19 | public static byte[] Serialize(Object obj)
20 | {
21 | _bf = new BinaryFormatter();
22 | using (MemoryStream ms = new MemoryStream())
23 | {
24 | _bf.Serialize(ms, obj);
25 | return ms.ToArray();
26 | }
27 | }
28 |
29 | ///
30 | /// Deserialize a binary byte array to an object
31 | ///
32 | ///
33 | ///
34 | public static Object Deserialize(byte[] bytes)
35 | {
36 | using (MemoryStream ms = new MemoryStream())
37 | {
38 | ms.Write(bytes, 0, bytes.Length);
39 | ms.Seek(0, SeekOrigin.Begin);
40 | Object obj = _bf.Deserialize(ms);
41 | return obj;
42 | }
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/ByteArray.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20feb110bbb536749b6afbe31af5b847
3 | timeCreated: 1513695091
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/GameManager.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Generated;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System.Collections.Generic;
4 |
5 | namespace AuthMovementExample
6 | {
7 | ///
8 | /// The singleton Game object which oversees the whole game state
9 | ///
10 | public class GameManager : GameManagerBehavior
11 | {
12 | // Singleton instance
13 | public static GameManager Instance;
14 |
15 | // List of players
16 | private readonly Dictionary _playerObjects = new Dictionary();
17 |
18 | private bool _networkReady;
19 |
20 | private void Awake()
21 | {
22 | if (Instance == null) Instance = this;
23 | else if (Instance != this) Destroy(gameObject);
24 | DontDestroyOnLoad(Instance);
25 | }
26 |
27 | protected override void NetworkStart()
28 | {
29 | base.NetworkStart();
30 |
31 | if (NetworkManager.Instance.IsServer)
32 | {
33 | NetworkManager.Instance.Networker.playerAccepted += (player, sender) =>
34 | {
35 | // Instantiate the player on the main Unity thread, get the Id of its owner and add it to a list of players
36 | MainThreadManager.Run(() =>
37 | {
38 | PlayerBehavior p = NetworkManager.Instance.InstantiatePlayer();
39 | p.networkObject.ownerNetId = player.NetworkId;
40 | _playerObjects.Add(player.NetworkId, p);
41 | });
42 | };
43 |
44 | NetworkManager.Instance.Networker.playerDisconnected += (player, sender) =>
45 | {
46 | // Remove the player from the list of players and destroy it
47 | PlayerBehavior p = _playerObjects[player.NetworkId];
48 | _playerObjects.Remove(player.NetworkId);
49 | p.networkObject.Destroy();
50 | };
51 | }
52 | else
53 | {
54 | // This is a local client - it needs to listen for input
55 | NetworkManager.Instance.InstantiateInputListener();
56 | }
57 |
58 | _networkReady = true;
59 | }
60 |
61 | // Force NetworkStart to happen - a work around for NetworkStart not happening
62 | // for objects instantiated in scene in the latest version of Forge
63 | private void FixedUpdate()
64 | {
65 | if (!_networkReady && networkObject != null)
66 | {
67 | NetworkStart();
68 | }
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/GameManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ff9eb452303dcf4ba18816f62689d44
3 | timeCreated: 1513695026
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/InputFrame.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AuthMovementExample
4 | {
5 | ///
6 | /// Represents the state of a single frame of input
7 | /// gathered from Unity's input manager
8 | ///
9 | [Serializable]
10 | public class InputFrame
11 | {
12 | public static InputFrame Empty { get { return new InputFrame(); } }
13 |
14 | public uint frameNumber;
15 | public bool right;
16 | public bool down;
17 | public bool left;
18 | public bool up;
19 | public float horizontal;
20 | public float vertical;
21 |
22 | public bool HasInput { get { return right || down || left || up; } }
23 |
24 | // Equality operator overload - we want to check if input has changed
25 | // and we don't care about the frameNumber, timestamp or input axis
26 | public static bool operator ==(InputFrame i1, InputFrame i2)
27 | {
28 | // Null & reference check (i1 and i2 are the same if they're at the same location in memory obviously)
29 | if (ReferenceEquals(i1, i2)) return true;
30 | else if (ReferenceEquals(i1, null) || ReferenceEquals(i2, null)) return false;
31 |
32 | // Check the inputs
33 | return i1.right == i2.right &&
34 | i1.down == i2.down &&
35 | i1.left == i2.left &&
36 | i1.up == i2.up;
37 | }
38 |
39 | // Inequality operator overload - see above, but inverted
40 | public static bool operator !=(InputFrame i1, InputFrame i2)
41 | {
42 | // Null & reference check (i1 and i2 are the same if they're at the same location in memory obviously)
43 | if (ReferenceEquals(i1, i2)) return false;
44 | else if (ReferenceEquals(i1, null) || ReferenceEquals(i2, null)) return true;
45 |
46 | // Check the inputs
47 | return i1.right != i2.right ||
48 | i1.down != i2.down ||
49 | i1.left != i2.left ||
50 | i1.up != i2.up;
51 | }
52 |
53 | // Equals() should be identical to the equality operator
54 | public override bool Equals(object obj)
55 | {
56 | // Null & reference check (i1 and i2 are the same if they're at the same location in memory obviously)
57 | if (ReferenceEquals(this, obj)) return true;
58 | else if (ReferenceEquals(this, null) || ReferenceEquals(obj, null)) return false;
59 |
60 | // Check the inputs
61 | return right == ((InputFrame) obj).right &&
62 | down == ((InputFrame) obj).down &&
63 | left == ((InputFrame) obj).left &&
64 | up == ((InputFrame) obj).up;
65 | }
66 |
67 | // GetHashCode() should correspond to Equals() and the equality operator
68 | public override int GetHashCode()
69 | {
70 | return right.GetHashCode() ^ down.GetHashCode() ^ left.GetHashCode() ^
71 | up.GetHashCode() ^ horizontal.GetHashCode() ^ vertical.GetHashCode();
72 | }
73 | }
74 | }
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/InputFrame.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f995730aa72a6dc4a830038a67f7d436
3 | timeCreated: 1513695725
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/InputListener.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Generated;
3 | using System;
4 | using System.Collections.Generic;
5 | using UnityEngine;
6 |
7 | namespace AuthMovementExample
8 | {
9 | /*
10 | * Polls the client's input and send its to the server
11 | *
12 | * Client-owned
13 | */
14 | public class InputListener : InputListenerBehavior
15 | {
16 | #region Public Properties
17 | [HideInInspector]
18 | public List FramesToPlay;
19 | [HideInInspector]
20 | public List FramesToReconcile;
21 | #endregion
22 |
23 | private bool _networkReady;
24 |
25 | private uint _frameNumber;
26 | private InputFrame _inputFrame = InputFrame.Empty;
27 |
28 | private void Start()
29 | {
30 | FramesToPlay = new List();
31 | FramesToReconcile = new List();
32 | }
33 |
34 | protected override void NetworkStart()
35 | {
36 | base.NetworkStart();
37 | _networkReady = true;
38 | }
39 |
40 | ///
41 | /// Polling of inputs is handled in Update since they
42 | /// reset every frame making weird things happen in FixedUpdate
43 | ///
44 | private void Update()
45 | {
46 | if (!_networkReady) return;
47 |
48 | if (!networkObject.IsServer && networkObject.IsOwner)
49 | {
50 | _inputFrame = new InputFrame
51 | {
52 | right = Input.GetKey(KeyCode.L) || Input.GetKey(KeyCode.RightArrow),
53 | down = Input.GetKey(KeyCode.K) || Input.GetKey(KeyCode.DownArrow),
54 | left = Input.GetKey(KeyCode.J) || Input.GetKey(KeyCode.LeftArrow),
55 | up = Input.GetKey(KeyCode.I) || Input.GetKey(KeyCode.UpArrow),
56 | horizontal = Input.GetAxisRaw("Horizontal"),
57 | vertical = Input.GetAxisRaw("Vertical")
58 | };
59 | }
60 | }
61 |
62 | ///
63 | /// Store the input polled from Update and send it
64 | /// to the server for authoritative processing
65 | ///
66 | private void FixedUpdate()
67 | {
68 | if (!_networkReady) return;
69 |
70 | // If this is a client store and send the current polled input for processing
71 | if (!networkObject.IsServer && networkObject.IsOwner)
72 | {
73 | _inputFrame.frameNumber = _frameNumber++;
74 | FramesToPlay.Add(_inputFrame);
75 |
76 | byte[] bytes = ByteArray.Serialize(_inputFrame);
77 | networkObject.SendRpc(RPC_SYNC_INPUTS, Receivers.Server, bytes);
78 | }
79 | }
80 |
81 | ///
82 | /// Send input state to the server for processing
83 | ///
84 | ///
85 | public override void SyncInputs(RpcArgs args)
86 | {
87 | if (networkObject.IsServer)
88 | {
89 | var bytes = args.GetNext();
90 | InputFrame newest = (InputFrame) ByteArray.Deserialize(bytes);
91 | FramesToPlay.Add(newest);
92 | }
93 | }
94 | }
95 | }
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/InputListener.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 958bd3eda33af9f47bc0117581696dac
3 | timeCreated: 1513695065
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/ListExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace AuthMovementExample
5 | {
6 | public static class ListExtensions
7 | {
8 | public static void TryAdd(this List list, T item)
9 | {
10 | if (list.Contains(item)) return;
11 |
12 | lock (list)
13 | {
14 | list.Add(item);
15 | }
16 | }
17 |
18 | public static T Pop(this List list)
19 | {
20 | if (list.Count > 0)
21 | {
22 | T item = list[0];
23 | list.RemoveAt(0);
24 | return item;
25 | }
26 | throw new IndexOutOfRangeException();
27 | }
28 |
29 | public static T Front(this List list)
30 | {
31 | if (list.Count > 0)
32 | {
33 | return list[0];
34 | }
35 | throw new IndexOutOfRangeException();
36 | }
37 |
38 | public static T Back(this List list)
39 | {
40 | if (list.Count > 0)
41 | {
42 | return list[list.Count - 1];
43 | }
44 | throw new IndexOutOfRangeException();
45 | }
46 |
47 | public static bool Replace(this List list, T item, Predicate match)
48 | {
49 | int i = list.FindIndex(match);
50 | if (i >= 0)
51 | {
52 | list[i] = item;
53 | }
54 | return i >= 0;
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/ListExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6969d81d7e45446284713755faf269b8
3 | timeCreated: 1531425317
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/script/Player.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 07e41be2201375d4fb2a4dbedac81576
3 | timeCreated: 1513695057
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 95a9dec34b1dd3e4ab091e48b4110ffb
3 | folderAsset: yes
4 | timeCreated: 1513698197
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/textures/Square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/AuthoritativeMovementExample/textures/Square.png
--------------------------------------------------------------------------------
/Assets/AuthoritativeMovementExample/textures/Square.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0282d244d3a72274a97e95e019447f4c
3 | timeCreated: 1513698205
4 | licenseType: Free
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | externalObjects: {}
8 | serializedVersion: 4
9 | mipmaps:
10 | mipMapMode: 0
11 | enableMipMap: 1
12 | sRGBTexture: 1
13 | linearTexture: 0
14 | fadeOut: 0
15 | borderMipMap: 0
16 | mipMapsPreserveCoverage: 0
17 | alphaTestReferenceValue: 0.5
18 | mipMapFadeDistanceStart: 1
19 | mipMapFadeDistanceEnd: 3
20 | bumpmap:
21 | convertToNormalMap: 0
22 | externalNormalMap: 0
23 | heightScale: 0.25
24 | normalMapFilter: 0
25 | isReadable: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: 0
35 | aniso: 1
36 | mipBias: 0
37 | wrapU: 0
38 | wrapV: 0
39 | wrapW: 0
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 3
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
49 | spritePixelsToUnits: 16
50 | alphaUsage: 1
51 | alphaIsTransparency: 0
52 | spriteTessellationDetail: -1
53 | textureType: 8
54 | textureShape: 1
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - buildTarget: DefaultTexturePlatform
60 | maxTextureSize: 2048
61 | resizeAlgorithm: 0
62 | textureFormat: 4
63 | textureCompression: 1
64 | compressionQuality: 50
65 | crunchedCompression: 0
66 | allowsAlphaSplitting: 0
67 | overridden: 0
68 | - buildTarget: Standalone
69 | maxTextureSize: 2048
70 | resizeAlgorithm: 0
71 | textureFormat: 4
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 0
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | - buildTarget: iPhone
78 | maxTextureSize: 2048
79 | resizeAlgorithm: 0
80 | textureFormat: 4
81 | textureCompression: 1
82 | compressionQuality: 50
83 | crunchedCompression: 0
84 | allowsAlphaSplitting: 0
85 | overridden: 0
86 | - buildTarget: Android
87 | maxTextureSize: 2048
88 | resizeAlgorithm: 0
89 | textureFormat: 4
90 | textureCompression: 1
91 | compressionQuality: 50
92 | crunchedCompression: 0
93 | allowsAlphaSplitting: 0
94 | overridden: 0
95 | - buildTarget: WebGL
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: 4
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline:
108 | - - {x: -2, y: -2}
109 | - {x: -2, y: 2}
110 | - {x: 2, y: 2}
111 | - {x: 2, y: -2}
112 | physicsShape:
113 | - - {x: -2, y: -2}
114 | - {x: -2, y: 2}
115 | - {x: 2, y: 2}
116 | - {x: 2, y: -2}
117 | spritePackingTag:
118 | userData:
119 | assetBundleName:
120 | assetBundleVariant:
121 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 54ef4fabc16dc0a4687e05bb4dede7db
3 | folderAsset: yes
4 | timeCreated: 1464149608
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Api Documentation HTML.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Api Documentation HTML.zip
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Api Documentation HTML.zip.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4318728fd1ea4a442aa6fca3df63f58a
3 | timeCreated: 1488137951
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ebcdfcb7d8ef1f646a99f7e46c2f8104
3 | folderAsset: yes
4 | timeCreated: 1488964690
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/ForgeNetworkingUnityEditor.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/ForgeNetworkingUnityEditor.dll.mdb
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/ForgeNetworkingUnityEditor.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c96ec8b16506e254ea3c271de28a8079
3 | timeCreated: 1512731375
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/ForgeNetworkingUnityEditor.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5657d94d2ba8b604c91fd6bde70e342c
3 | timeCreated: 1512731365
4 | licenseType: Free
5 | PluginImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | iconMap: {}
9 | executionOrder: {}
10 | isPreloaded: 0
11 | isOverridable: 0
12 | platformData:
13 | - first:
14 | Any:
15 | second:
16 | enabled: 0
17 | settings: {}
18 | - first:
19 | Editor: Editor
20 | second:
21 | enabled: 1
22 | settings:
23 | DefaultValueInitialized: true
24 | - first:
25 | Windows Store Apps: WindowsStoreApps
26 | second:
27 | enabled: 0
28 | settings:
29 | CPU: AnyCPU
30 | userData:
31 | assetBundleName:
32 | assetBundleVariant:
33 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/ForgeNetworkingUnityEditor.pdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12421a383168bde4aa00c5bef084f6f9
3 | timeCreated: 1512731361
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01de3ed43ec37624780da2fb9a03dd63
3 | folderAsset: yes
4 | timeCreated: 1464933039
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Add.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Add.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ef6e7b4e36b1bb49b364e092c43e477
3 | timeCreated: 1465024621
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Arrow.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Arrow.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24726a0b2b65d41439bcbdbe92f137a1
3 | timeCreated: 1464940576
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61f33fdeb3f2e6f4e9080f0f8cc44f9a
3 | folderAsset: yes
4 | timeCreated: 1465228127
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkBehaviorTemplate.txt:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[>:generatedTypes:<]")]
8 | [GeneratedRPCVariableNames("{\"types\":[>:generatedHelperTypes:<]")]
9 | public abstract partial class >:className:< : NetworkBehavior
10 | {
11 | >:FOREACH constRpcs:<
12 | public const byte RPC_>:[0]:< = >:[idx]:< + 5;
13 | >:ENDFOREACH:<
14 |
15 | public >:networkObject:< networkObject = null;
16 |
17 | public override void Initialize(NetworkObject obj)
18 | {
19 | // We have already initialized this object
20 | if (networkObject != null && networkObject.AttachedBehavior != null)
21 | return;
22 |
23 | networkObject = (>:networkObject:<)obj;
24 | networkObject.AttachedBehavior = this;
25 |
26 | base.SetupHelperRpcs(networkObject);
27 | >:FOREVERY rpcs:<
28 | networkObject.RegisterRpc(">:[0]:<", >:[0]:<>:[1]:<);
29 | >:ENDFOREVERY:<
30 |
31 | networkObject.onDestroy += DestroyGameObject;
32 |
33 | if (!obj.IsOwner)
34 | {
35 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
36 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
37 | else
38 | skipAttachIds.Remove(obj.NetworkId);
39 | }
40 |
41 | if (obj.Metadata == null)
42 | return;
43 |
44 | byte transformFlags = obj.Metadata[0];
45 |
46 | if (transformFlags == 0)
47 | return;
48 |
49 | BMSByte metadataTransform = new BMSByte();
50 | metadataTransform.Clone(obj.Metadata);
51 | metadataTransform.MoveStartIndex(1);
52 |
53 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
54 | {
55 | MainThreadManager.Run(() =>
56 | {
57 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
58 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
59 | });
60 | }
61 | else if ((transformFlags & 0x01) != 0)
62 | {
63 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
64 | }
65 | else if ((transformFlags & 0x02) != 0)
66 | {
67 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
68 | }
69 |
70 | MainThreadManager.Run(() =>
71 | {
72 | NetworkStart();
73 | networkObject.Networker.FlushCreateActions(networkObject);
74 | });
75 | }
76 |
77 | protected override void CompleteRegistration()
78 | {
79 | base.CompleteRegistration();
80 | networkObject.ReleaseCreateBuffer();
81 | }
82 |
83 | public override void Initialize(NetWorker networker, byte[] metadata = null)
84 | {
85 | Initialize(new >:networkObject:<(networker, createCode: TempAttachCode, metadata: metadata));
86 | }
87 |
88 | private void DestroyGameObject(NetWorker sender)
89 | {
90 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
91 | networkObject.onDestroy -= DestroyGameObject;
92 | }
93 |
94 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
95 | {
96 | return new >:networkObject:<(networker, this, createCode, metadata);
97 | }
98 |
99 | protected override void InitializedTransform()
100 | {
101 | networkObject.SnapInterpolations();
102 | }
103 |
104 | >:FOREVERY rpcs:<
105 | ///
106 | /// Arguments:
107 | >:[2]:<
108 | ///
109 | public abstract void >:[0]:<(RpcArgs args);
110 | >:ENDFOREVERY:<
111 |
112 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
113 | }
114 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkBehaviorTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 54fa1910003d26548a65ddf6dc74506a
3 | timeCreated: 1465229951
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkManagerTemplate.txt:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Generated;
2 | using System;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Unity
6 | {
7 | public partial class NetworkManager : MonoBehaviour
8 | {
9 | public delegate void InstantiateEvent(INetworkBehavior unityGameObject, NetworkObject obj);
10 | public event InstantiateEvent objectInitialized;
11 | private BMSByte metadata = new BMSByte();
12 |
13 | >:FOREACH networkObjects:<
14 | public GameObject[] >:[i]::ENDFOREACH:<
16 |
17 | private void SetupObjectCreatedEvent()
18 | {
19 | Networker.objectCreated += CaptureObjects;
20 | }
21 |
22 | private void OnDestroy()
23 | {
24 | if (Networker != null)
25 | Networker.objectCreated -= CaptureObjects;
26 | }
27 |
28 | private void CaptureObjects(NetworkObject obj)
29 | {
30 | if (obj.CreateCode < 0)
31 | return;
32 |
33 | >:FOREACH networkObjects:<
34 | >:ELSEIF:< (obj is >:[i]:
37 | {
38 | NetworkBehavior newObj = null;
39 | if (!NetworkBehavior.skipAttachIds.TryGetValue(obj.NetworkId, out newObj))
40 | {
41 | if (>:[i]: 0 && >:[i]::[i]:();
45 | }
46 | }
47 |
48 | if (newObj == null)
49 | return;
50 |
51 | newObj.Initialize(obj);
52 |
53 | if (objectInitialized != null)
54 | objectInitialized(newObj, obj);
55 | });
56 | }
57 | >:ENDFOREACH:<
58 | }
59 |
60 | private void InitializedObject(INetworkBehavior behavior, NetworkObject obj)
61 | {
62 | if (objectInitialized != null)
63 | objectInitialized(behavior, obj);
64 |
65 | obj.pendingInitialized -= InitializedObject;
66 | }
67 |
68 | >:FOREACH networkObjects:<
69 | [Obsolete("Use Instantiate>:[i]:< instead, its shorter and easier to type out ;)")]
70 | public >:[i]::[i]::[i]::[i]:();
74 | var obj = netBehavior.CreateNetworkObject(Networker, index);
75 | go.GetComponent<>:[i]:().networkObject = (>:[i]::ENDFOREACH:<
82 |
83 | >:FOREACH networkObjects:<
84 | public >:[i]::[i]:<(int index = 0, Vector3? position = null, Quaternion? rotation = null, bool sendTransform = true)
85 | {
86 | var go = Instantiate(>:[i]::[i]:();
88 |
89 | NetworkObject obj = null;
90 | if (!sendTransform && position == null && rotation == null)
91 | obj = netBehavior.CreateNetworkObject(Networker, index);
92 | else
93 | {
94 | metadata.Clear();
95 |
96 | if (position == null && rotation == null)
97 | {
98 | metadata.Clear();
99 | byte transformFlags = 0x1 | 0x2;
100 | ObjectMapper.Instance.MapBytes(metadata, transformFlags);
101 | ObjectMapper.Instance.MapBytes(metadata, go.transform.position, go.transform.rotation);
102 | }
103 | else
104 | {
105 | byte transformFlags = 0x0;
106 | transformFlags |= (byte)(position != null ? 0x1 : 0x0);
107 | transformFlags |= (byte)(rotation != null ? 0x2 : 0x0);
108 | ObjectMapper.Instance.MapBytes(metadata, transformFlags);
109 |
110 | if (position != null)
111 | ObjectMapper.Instance.MapBytes(metadata, position.Value);
112 |
113 | if (rotation != null)
114 | ObjectMapper.Instance.MapBytes(metadata, rotation.Value);
115 | }
116 |
117 | obj = netBehavior.CreateNetworkObject(Networker, index, metadata.CompressBytes());
118 | }
119 |
120 | go.GetComponent<>:[i]:().networkObject = (>:[i]::ENDFOREACH:<
127 | }
128 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkManagerTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ae5d21b79676f04ea008335d1ab44b3
3 | timeCreated: 1465231331
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkObjectFactoryTemplate.txt:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using System;
3 | using MainThreadManager = BeardedManStudios.Forge.Networking.Unity.MainThreadManager;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | public partial class NetworkObjectFactory : NetworkObjectFactoryBase
8 | {
9 | public override void NetworkCreateObject(NetWorker networker, int identity, uint id, FrameStream frame, Action callback)
10 | {
11 | if (networker.IsServer)
12 | {
13 | if (frame.Sender != null && frame.Sender != networker.Me)
14 | {
15 | if (!ValidateCreateRequest(networker, identity, id, frame))
16 | return;
17 | }
18 | }
19 |
20 | bool availableCallback = false;
21 | NetworkObject obj = null;
22 | MainThreadManager.Run(() =>
23 | {
24 | switch (identity)
25 | {
26 | >:FOREACH networkObjects:<
27 | case >:[i]:<.IDENTITY:
28 | availableCallback = true;
29 | obj = new >:[i]:<(networker, id, frame);
30 | break;
31 | >:ENDFOREACH:<
32 | }
33 |
34 | if (!availableCallback)
35 | base.NetworkCreateObject(networker, identity, id, frame, callback);
36 | else if (callback != null)
37 | callback(obj);
38 | });
39 | }
40 |
41 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
42 | }
43 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkObjectFactoryTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0eca6723e39d8c04384f661b62ede3f6
3 | timeCreated: 1465231004
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/NetworkObjectTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 238c6291011ba8e448db9c76a19157ac
3 | timeCreated: 1465190595
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/StandAloneNetworkBehaviorTemplate.txt:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[>:generatedTypes:<]")]
8 | [GeneratedRPCVariableNames("{\"types\":[>:generatedHelperTypes:<]")]
9 | public abstract partial class >:className:< : INetworkBehavior
10 | {
11 | >:FOREVERY constRpcs:<
12 | public const byte RPC_>:[0]:< = >:[idx]:< + 5;
13 | >:ENDFOREVERY:<
14 |
15 | public >:networkObject:< networkObject = null;
16 |
17 | public void Initialize(NetworkObject obj)
18 | {
19 | // We have already initialized this object
20 | if (networkObject != null && networkObject.AttachedBehavior != null)
21 | return;
22 |
23 | networkObject = (>:networkObject:<)obj;
24 | networkObject.AttachedBehavior = this;
25 |
26 | >:FOREVERY rpcs:<
27 | networkObject.RegisterRpc(">:[0]:<", >:[0]:<>:[1]:<);
28 | >:ENDFOREVERY:<
29 | networkObject.RegistrationComplete();
30 | }
31 |
32 | public void Initialize(NetWorker networker)
33 | {
34 | Initialize(new >:networkObject:<(networker));
35 | }
36 |
37 | >:FOREVERY rpcs:<
38 | ///
39 | /// Arguments:
40 | >:[2]:<
41 | ///
42 | public abstract void >:[0]:<(RpcArgs args);
43 | >:ENDFOREVERY:<
44 |
45 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
46 | }
47 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/StandAloneNetworkBehaviorTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3910c566bad4e4346aa213618c1d11e8
3 | timeCreated: 1485405562
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/version.txt:
--------------------------------------------------------------------------------
1 | Fri 12/08/2017-12:06:46.33
2 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/BMS_Forge_Editor/version.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d200b4dd95c9057408db3a681979d185
3 | timeCreated: 1502904549
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Icon.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Icon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5a5d2fa1fe9381448bd2620f6f11c976
3 | timeCreated: 1487573409
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 0
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 0
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | spriteMode: 0
41 | spriteExtrude: 1
42 | spriteMeshType: 1
43 | alignment: 0
44 | spritePivot: {x: 0.5, y: 0.5}
45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
46 | spritePixelsToUnits: 100
47 | alphaIsTransparency: 0
48 | spriteTessellationDetail: -1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | serializedVersion: 2
53 | sprites: []
54 | outline: []
55 | spritePackingTag:
56 | userData:
57 | assetBundleName:
58 | assetBundleVariant:
59 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Lightbulb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Lightbulb.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Lightbulb.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a9b0aad7a583a943b440e18380c6d42
3 | timeCreated: 1465033751
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Save.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Save.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f66df9089fa7b31439982910fc9569a1
3 | timeCreated: 1465026743
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 0
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 2
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/SideArrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/SideArrow.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/SideArrow.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 28a168fa15397a74cb16bf50db68c8fd
3 | timeCreated: 1464943695
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Star.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Star.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3aaf165248f415a4f83d5ff5cb70782c
3 | timeCreated: 1464942215
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Subtract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Subtract.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Subtract.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a6ee0ffb971afba4197bbc5fdb7aea03
3 | timeCreated: 1465024621
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Trash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/Trash.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/Trash.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7109c27571d46f044b7d1d31ed6b793f
3 | timeCreated: 1465022930
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | linearTexture: 1
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 1
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -3
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: 1
34 | mipBias: -1
35 | wrapMode: 1
36 | nPOTScale: 0
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: 5
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/logoDark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/logoDark.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/logoDark.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85d1fc28a39872d4b8c1a70af4403281
3 | timeCreated: 1502980392
4 | licenseType: Free
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 4
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | sRGBTexture: 1
12 | linearTexture: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapsPreserveCoverage: 0
16 | alphaTestReferenceValue: 0.5
17 | mipMapFadeDistanceStart: 1
18 | mipMapFadeDistanceEnd: 3
19 | bumpmap:
20 | convertToNormalMap: 0
21 | externalNormalMap: 0
22 | heightScale: 0.25
23 | normalMapFilter: 0
24 | isReadable: 0
25 | grayScaleToAlpha: 0
26 | generateCubemap: 6
27 | cubemapConvolution: 0
28 | seamlessCubemap: 0
29 | textureFormat: 1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | serializedVersion: 2
33 | filterMode: -1
34 | aniso: -1
35 | mipBias: -1
36 | wrapU: 1
37 | wrapV: -1
38 | wrapW: -1
39 | nPOTScale: 0
40 | lightmap: 0
41 | compressionQuality: 50
42 | spriteMode: 1
43 | spriteExtrude: 1
44 | spriteMeshType: 1
45 | alignment: 0
46 | spritePivot: {x: 0.5, y: 0.5}
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spritePixelsToUnits: 100
49 | alphaUsage: 1
50 | alphaIsTransparency: 1
51 | spriteTessellationDetail: -1
52 | textureType: 8
53 | textureShape: 1
54 | maxTextureSizeSet: 0
55 | compressionQualitySet: 0
56 | textureFormatSet: 0
57 | platformSettings:
58 | - buildTarget: DefaultTexturePlatform
59 | maxTextureSize: 2048
60 | textureFormat: -1
61 | textureCompression: 1
62 | compressionQuality: 50
63 | crunchedCompression: 0
64 | allowsAlphaSplitting: 0
65 | overridden: 0
66 | - buildTarget: Standalone
67 | maxTextureSize: 2048
68 | textureFormat: -1
69 | textureCompression: 1
70 | compressionQuality: 50
71 | crunchedCompression: 0
72 | allowsAlphaSplitting: 0
73 | overridden: 0
74 | spriteSheet:
75 | serializedVersion: 2
76 | sprites: []
77 | outline: []
78 | physicsShape: []
79 | spritePackingTag:
80 | userData:
81 | assetBundleName:
82 | assetBundleVariant:
83 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/logoLight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Editor/Resources/logoLight.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Editor/Resources/logoLight.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cd2db5071d8a1744aa7023794e530a8e
3 | timeCreated: 1502980392
4 | licenseType: Free
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 4
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 0
11 | sRGBTexture: 1
12 | linearTexture: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapsPreserveCoverage: 0
16 | alphaTestReferenceValue: 0.5
17 | mipMapFadeDistanceStart: 1
18 | mipMapFadeDistanceEnd: 3
19 | bumpmap:
20 | convertToNormalMap: 0
21 | externalNormalMap: 0
22 | heightScale: 0.25
23 | normalMapFilter: 0
24 | isReadable: 0
25 | grayScaleToAlpha: 0
26 | generateCubemap: 6
27 | cubemapConvolution: 0
28 | seamlessCubemap: 0
29 | textureFormat: 1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | serializedVersion: 2
33 | filterMode: -1
34 | aniso: -1
35 | mipBias: -1
36 | wrapU: 1
37 | wrapV: -1
38 | wrapW: -1
39 | nPOTScale: 0
40 | lightmap: 0
41 | compressionQuality: 50
42 | spriteMode: 1
43 | spriteExtrude: 1
44 | spriteMeshType: 1
45 | alignment: 0
46 | spritePivot: {x: 0.5, y: 0.5}
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spritePixelsToUnits: 100
49 | alphaUsage: 1
50 | alphaIsTransparency: 1
51 | spriteTessellationDetail: -1
52 | textureType: 8
53 | textureShape: 1
54 | maxTextureSizeSet: 0
55 | compressionQualitySet: 0
56 | textureFormatSet: 0
57 | platformSettings:
58 | - buildTarget: DefaultTexturePlatform
59 | maxTextureSize: 2048
60 | textureFormat: -1
61 | textureCompression: 1
62 | compressionQuality: 50
63 | crunchedCompression: 0
64 | allowsAlphaSplitting: 0
65 | overridden: 0
66 | - buildTarget: Standalone
67 | maxTextureSize: 2048
68 | textureFormat: -1
69 | textureCompression: 1
70 | compressionQuality: 50
71 | crunchedCompression: 0
72 | allowsAlphaSplitting: 0
73 | overridden: 0
74 | spriteSheet:
75 | serializedVersion: 2
76 | sprites: []
77 | outline: []
78 | physicsShape: []
79 | spritePackingTag:
80 | userData:
81 | assetBundleName:
82 | assetBundleVariant:
83 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a9880254d51c7c340b724023f0320e71
3 | folderAsset: yes
4 | timeCreated: 1464308251
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70806470bce4a6547a05ad60195fed0c
3 | folderAsset: yes
4 | timeCreated: 1464392267
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/CubeForgeGame.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4ef136a7071399248bad683d402a0e39
3 | timeCreated: 1486024399
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f022c13bfb2721c449cc8c12ff0209a3
3 | folderAsset: yes
4 | timeCreated: 1464418355
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Materials/Camera.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_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Camera
10 | m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 5
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: 3000
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: d6d8cd996fc7f274fac832403c9d7555, type: 3}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _Glossiness: 0.5
63 | - _Metallic: 0
64 | - _Mode: 0
65 | - _OcclusionStrength: 1
66 | - _Parallax: 0.02
67 | - _SrcBlend: 1
68 | - _UVSec: 0
69 | - _ZWrite: 1
70 | m_Colors:
71 | - _Color: {r: 1, g: 1, b: 1, a: 1}
72 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
73 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Materials/Camera.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6f131259599e61d45a31bf469a579895
3 | timeCreated: 1464418364
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb5b44bc1ea5f214990cc733acc191ac
3 | folderAsset: yes
4 | timeCreated: 1464418505
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Prefabs/Cube.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &176172
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 100100000}
8 | serializedVersion: 5
9 | m_Component:
10 | - component: {fileID: 483322}
11 | - component: {fileID: 3372180}
12 | - component: {fileID: 6528936}
13 | - component: {fileID: 2392696}
14 | - component: {fileID: 11418708}
15 | m_Layer: 0
16 | m_Name: Cube
17 | m_TagString: Untagged
18 | m_Icon: {fileID: 0}
19 | m_NavMeshLayer: 0
20 | m_StaticEditorFlags: 0
21 | m_IsActive: 1
22 | --- !u!4 &483322
23 | Transform:
24 | m_ObjectHideFlags: 1
25 | m_PrefabParentObject: {fileID: 0}
26 | m_PrefabInternal: {fileID: 100100000}
27 | m_GameObject: {fileID: 176172}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_Children: []
32 | m_Father: {fileID: 0}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | --- !u!23 &2392696
36 | MeshRenderer:
37 | m_ObjectHideFlags: 1
38 | m_PrefabParentObject: {fileID: 0}
39 | m_PrefabInternal: {fileID: 100100000}
40 | m_GameObject: {fileID: 176172}
41 | m_Enabled: 1
42 | m_CastShadows: 1
43 | m_ReceiveShadows: 1
44 | m_DynamicOccludee: 1
45 | m_MotionVectors: 1
46 | m_LightProbeUsage: 1
47 | m_ReflectionProbeUsage: 1
48 | m_Materials:
49 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
50 | m_StaticBatchInfo:
51 | firstSubMesh: 0
52 | subMeshCount: 0
53 | m_StaticBatchRoot: {fileID: 0}
54 | m_ProbeAnchor: {fileID: 0}
55 | m_LightProbeVolumeOverride: {fileID: 0}
56 | m_ScaleInLightmap: 1
57 | m_PreserveUVs: 1
58 | m_IgnoreNormalsForChartDetection: 0
59 | m_ImportantGI: 0
60 | m_StitchLightmapSeams: 0
61 | m_SelectedEditorRenderState: 3
62 | m_MinimumChartSize: 4
63 | m_AutoUVMaxDistance: 0.5
64 | m_AutoUVMaxAngle: 89
65 | m_LightmapParameters: {fileID: 0}
66 | m_SortingLayerID: 0
67 | m_SortingLayer: 0
68 | m_SortingOrder: 0
69 | --- !u!33 &3372180
70 | MeshFilter:
71 | m_ObjectHideFlags: 1
72 | m_PrefabParentObject: {fileID: 0}
73 | m_PrefabInternal: {fileID: 100100000}
74 | m_GameObject: {fileID: 176172}
75 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
76 | --- !u!65 &6528936
77 | BoxCollider:
78 | m_ObjectHideFlags: 1
79 | m_PrefabParentObject: {fileID: 0}
80 | m_PrefabInternal: {fileID: 100100000}
81 | m_GameObject: {fileID: 176172}
82 | m_Material: {fileID: 0}
83 | m_IsTrigger: 0
84 | m_Enabled: 1
85 | serializedVersion: 2
86 | m_Size: {x: 1, y: 1, z: 1}
87 | m_Center: {x: 0, y: 0, z: 0}
88 | --- !u!114 &11418708
89 | MonoBehaviour:
90 | m_ObjectHideFlags: 1
91 | m_PrefabParentObject: {fileID: 0}
92 | m_PrefabInternal: {fileID: 100100000}
93 | m_GameObject: {fileID: 176172}
94 | m_Enabled: 1
95 | m_EditorHideFlags: 0
96 | m_Script: {fileID: 11500000, guid: 4d9ec3971636b064aa8c530ab1dc0234, type: 3}
97 | m_Name:
98 | m_EditorClassIdentifier:
99 | readOnly: 0
100 | --- !u!1001 &100100000
101 | Prefab:
102 | m_ObjectHideFlags: 1
103 | serializedVersion: 2
104 | m_Modification:
105 | m_TransformParent: {fileID: 0}
106 | m_Modifications: []
107 | m_RemovedComponents: []
108 | m_ParentPrefab: {fileID: 0}
109 | m_RootGameObject: {fileID: 176172}
110 | m_IsPrefabParent: 1
111 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Prefabs/Cube.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c6782f77321b654d99b5a371d0c8fbc
3 | timeCreated: 1464418515
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Prefabs/Network Camera.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 661f29f0c0c86fa47b6015bd602d0ac6
3 | timeCreated: 1464418513
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ade804536ecfc924cb5aa6de841441ff
3 | folderAsset: yes
4 | timeCreated: 1464417564
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/CubeForgeGame.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d4d864ad110b9234498b4ee01ca5ba77
3 | timeCreated: 1464418599
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/NetCam.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Generated;
2 | using UnityEngine;
3 |
4 | public class NetCam : NetworkCameraBehavior
5 | {
6 | ///
7 | /// The speed of the camera whenever it is moving
8 | ///
9 | public float speed = 5.0f;
10 |
11 | ///
12 | /// The reference to the camera component of this object
13 | ///
14 | private Camera cameraRef = null;
15 |
16 | ///
17 | /// Used to track the current players camera for LookAt rotation
18 | ///
19 | private static NetCam playerCamera = null;
20 |
21 | protected override void NetworkStart()
22 | {
23 | base.NetworkStart();
24 |
25 | cameraRef = GetComponent();
26 | networkObject.UpdateInterval = 100;
27 |
28 | // If this is not our camera then we should not render using it
29 | if (!networkObject.IsOwner)
30 | cameraRef.enabled = false;
31 | else
32 | playerCamera = this;
33 |
34 | networkObject.position = transform.position;
35 | networkObject.SnapInterpolations();
36 |
37 | if (!networkObject.IsOwner)
38 | return;
39 | }
40 |
41 | private void Update()
42 | {
43 | if (networkObject == null)
44 | return;
45 |
46 | if (cameraRef == null)
47 | return;
48 |
49 | // If this is not owned by the current network client then it needs to
50 | // assign it to the position specified
51 | if (!networkObject.IsOwner)
52 | {
53 | transform.position = networkObject.position;
54 |
55 | if (playerCamera == null)
56 | return;
57 |
58 | // Make sure that this camera plane is always facing the current player
59 | transform.LookAt(transform.position + (transform.position - playerCamera.transform.position));
60 | return;
61 | }
62 |
63 | if (Input.GetMouseButtonDown(0))
64 | {
65 | RaycastHit hit;
66 | if (Physics.Raycast(cameraRef.ScreenPointToRay(Input.mousePosition), out hit))
67 | {
68 | var primitive = hit.transform.GetComponent();
69 |
70 | if (primitive == null)
71 | return;
72 |
73 | Vector3 position = hit.transform.position;
74 | position += hit.normal;
75 |
76 | if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
77 | {
78 | if (!primitive.readOnly)
79 | CubeForgeGame.Instance.DestroyPrimitive(primitive);
80 | }
81 | else
82 | CubeForgeGame.Instance.CreatePrimitive(position);
83 | }
84 | }
85 | // If we right click we can move the camera as if we were in noclip mode
86 | else if (Input.GetMouseButton(1))
87 | {
88 | if (Input.GetKey(KeyCode.W))
89 | transform.position += transform.forward * speed * Time.deltaTime;
90 | if (Input.GetKey(KeyCode.S))
91 | transform.position -= transform.forward * speed * Time.deltaTime;
92 | if (Input.GetKey(KeyCode.A))
93 | transform.position -= transform.right * speed * Time.deltaTime;
94 | if (Input.GetKey(KeyCode.D))
95 | transform.position += transform.right * speed * Time.deltaTime;
96 | if (Input.GetKey(KeyCode.Q))
97 | transform.position += transform.up * speed * Time.deltaTime;
98 | if (Input.GetKey(KeyCode.Z))
99 | transform.position -= transform.up * speed * Time.deltaTime;
100 |
101 | transform.Rotate(-Input.GetAxis("Mouse Y") * 2, Input.GetAxis("Mouse X") * 2, 0);
102 | transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, 0);
103 |
104 | Cursor.lockState = CursorLockMode.Locked | CursorLockMode.Confined;
105 | Cursor.visible = false;
106 | }
107 | else if (Input.GetMouseButtonUp(1))
108 | {
109 | Cursor.lockState = CursorLockMode.None;
110 | Cursor.visible = true;
111 | }
112 |
113 | // The network object should always house the latest position of this camera
114 | networkObject.position = transform.position;
115 | }
116 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/NetCam.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7b3adbd6371012a42ab3aa2981d16bbd
3 | timeCreated: 1464417571
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/Primitive.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | public class Primitive : MonoBehaviour
4 | {
5 | ///
6 | /// Used to determine if this object can be destroyed
7 | ///
8 | public bool readOnly = false;
9 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/Primitive.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4d9ec3971636b064aa8c530ab1dc0234
3 | timeCreated: 1464459132
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b0e2ad3ede9977743bf25923f8403ff8
3 | folderAsset: yes
4 | timeCreated: 1464398029
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Textures/Camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Textures/Camera.png
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Cube Forge/Textures/Camera.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6d8cd996fc7f274fac832403c9d7555
3 | timeCreated: 1464398055
4 | licenseType: Pro
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | serializedVersion: 2
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 1
11 | linearTexture: 0
12 | correctGamma: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapFadeDistanceStart: 1
16 | mipMapFadeDistanceEnd: 3
17 | bumpmap:
18 | convertToNormalMap: 0
19 | externalNormalMap: 0
20 | heightScale: 0.25
21 | normalMapFilter: 0
22 | isReadable: 0
23 | grayScaleToAlpha: 0
24 | generateCubemap: 0
25 | cubemapConvolution: 0
26 | cubemapConvolutionSteps: 7
27 | cubemapConvolutionExponent: 1.5
28 | seamlessCubemap: 0
29 | textureFormat: -1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapMode: -1
36 | nPOTScale: 1
37 | lightmap: 0
38 | rGBM: 0
39 | compressionQuality: 50
40 | allowsAlphaSplitting: 0
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
47 | spritePixelsToUnits: 100
48 | alphaIsTransparency: 1
49 | textureType: -1
50 | buildTargetSettings: []
51 | spriteSheet:
52 | sprites: []
53 | outline: []
54 | spritePackingTag:
55 | userData:
56 | assetBundleName:
57 | assetBundleVariant:
58 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 762f51a614ae9ca458af4cb4899d7cc1
3 | folderAsset: yes
4 | timeCreated: 1487348743
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ExampleProximity.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5129b7b4abd07747875264ed6f5ecf3
3 | timeCreated: 1487443322
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ExampleProximityPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a6d0bb802f536df4f850c493b0645165
3 | timeCreated: 1487348822
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ExampleProximitySpawn.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Unity;
2 | using UnityEngine;
3 |
4 | public class ExampleProximitySpawn : MonoBehaviour
5 | {
6 | private void Start()
7 | {
8 | NetworkManager.Instance.InstantiateExampleProximityPlayer();
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ExampleProximitySpawn.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90150ec371a8a2e4a9b5447338240e91
3 | timeCreated: 1487443391
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ProximityPlayer.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1000012738253334}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1000012738253334
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4000010203704556}
22 | - component: {fileID: 33000011264546984}
23 | - component: {fileID: 65000012386810640}
24 | - component: {fileID: 23000012360675710}
25 | - component: {fileID: 114000013906537314}
26 | m_Layer: 0
27 | m_Name: ProximityPlayer
28 | m_TagString: Untagged
29 | m_Icon: {fileID: 0}
30 | m_NavMeshLayer: 0
31 | m_StaticEditorFlags: 0
32 | m_IsActive: 1
33 | --- !u!4 &4000010203704556
34 | Transform:
35 | m_ObjectHideFlags: 1
36 | m_PrefabParentObject: {fileID: 0}
37 | m_PrefabInternal: {fileID: 100100000}
38 | m_GameObject: {fileID: 1000012738253334}
39 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
40 | m_LocalPosition: {x: 0, y: 0, z: 0}
41 | m_LocalScale: {x: 1, y: 1, z: 1}
42 | m_Children: []
43 | m_Father: {fileID: 0}
44 | m_RootOrder: 0
45 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
46 | --- !u!23 &23000012360675710
47 | MeshRenderer:
48 | m_ObjectHideFlags: 1
49 | m_PrefabParentObject: {fileID: 0}
50 | m_PrefabInternal: {fileID: 100100000}
51 | m_GameObject: {fileID: 1000012738253334}
52 | m_Enabled: 1
53 | m_CastShadows: 1
54 | m_ReceiveShadows: 1
55 | m_DynamicOccludee: 1
56 | m_MotionVectors: 1
57 | m_LightProbeUsage: 1
58 | m_ReflectionProbeUsage: 1
59 | m_Materials:
60 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
61 | m_StaticBatchInfo:
62 | firstSubMesh: 0
63 | subMeshCount: 0
64 | m_StaticBatchRoot: {fileID: 0}
65 | m_ProbeAnchor: {fileID: 0}
66 | m_LightProbeVolumeOverride: {fileID: 0}
67 | m_ScaleInLightmap: 1
68 | m_PreserveUVs: 1
69 | m_IgnoreNormalsForChartDetection: 0
70 | m_ImportantGI: 0
71 | m_StitchLightmapSeams: 0
72 | m_SelectedEditorRenderState: 3
73 | m_MinimumChartSize: 4
74 | m_AutoUVMaxDistance: 0.5
75 | m_AutoUVMaxAngle: 89
76 | m_LightmapParameters: {fileID: 0}
77 | m_SortingLayerID: 0
78 | m_SortingLayer: 0
79 | m_SortingOrder: 0
80 | --- !u!33 &33000011264546984
81 | MeshFilter:
82 | m_ObjectHideFlags: 1
83 | m_PrefabParentObject: {fileID: 0}
84 | m_PrefabInternal: {fileID: 100100000}
85 | m_GameObject: {fileID: 1000012738253334}
86 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
87 | --- !u!65 &65000012386810640
88 | BoxCollider:
89 | m_ObjectHideFlags: 1
90 | m_PrefabParentObject: {fileID: 0}
91 | m_PrefabInternal: {fileID: 100100000}
92 | m_GameObject: {fileID: 1000012738253334}
93 | m_Material: {fileID: 0}
94 | m_IsTrigger: 0
95 | m_Enabled: 1
96 | serializedVersion: 2
97 | m_Size: {x: 1, y: 1, z: 1}
98 | m_Center: {x: 0, y: 0, z: 0}
99 | --- !u!114 &114000013906537314
100 | MonoBehaviour:
101 | m_ObjectHideFlags: 1
102 | m_PrefabParentObject: {fileID: 0}
103 | m_PrefabInternal: {fileID: 100100000}
104 | m_GameObject: {fileID: 1000012738253334}
105 | m_Enabled: 1
106 | m_EditorHideFlags: 0
107 | m_Script: {fileID: 11500000, guid: a6d0bb802f536df4f850c493b0645165, type: 3}
108 | m_Name:
109 | m_EditorClassIdentifier:
110 | speed: 5
111 | matRef: {fileID: 0}
112 | proximityDistance: 1
113 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Examples/Proximity/ProximityPlayer.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: feb25ecf90a8d8b4ab922a455249997b
3 | timeCreated: 1487443295
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f53c03c886363649981067f29dd2ea3
3 | folderAsset: yes
4 | timeCreated: 1463633341
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/NetworkManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c56931a5b2387354481b1cd988ce3f31
3 | timeCreated: 1465143949
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/NetworkObjectFactory.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using System;
3 | using MainThreadManager = BeardedManStudios.Forge.Networking.Unity.MainThreadManager;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | public partial class NetworkObjectFactory : NetworkObjectFactoryBase
8 | {
9 | public override void NetworkCreateObject(NetWorker networker, int identity, uint id, FrameStream frame, Action callback)
10 | {
11 | if (networker.IsServer)
12 | {
13 | if (frame.Sender != null && frame.Sender != networker.Me)
14 | {
15 | if (!ValidateCreateRequest(networker, identity, id, frame))
16 | return;
17 | }
18 | }
19 |
20 | bool availableCallback = false;
21 | NetworkObject obj = null;
22 | MainThreadManager.Run(() =>
23 | {
24 | switch (identity)
25 | {
26 | case ChatManagerNetworkObject.IDENTITY:
27 | availableCallback = true;
28 | obj = new ChatManagerNetworkObject(networker, id, frame);
29 | break;
30 | case CubeForgeGameNetworkObject.IDENTITY:
31 | availableCallback = true;
32 | obj = new CubeForgeGameNetworkObject(networker, id, frame);
33 | break;
34 | case ExampleProximityPlayerNetworkObject.IDENTITY:
35 | availableCallback = true;
36 | obj = new ExampleProximityPlayerNetworkObject(networker, id, frame);
37 | break;
38 | case GameManagerNetworkObject.IDENTITY:
39 | availableCallback = true;
40 | obj = new GameManagerNetworkObject(networker, id, frame);
41 | break;
42 | case InputListenerNetworkObject.IDENTITY:
43 | availableCallback = true;
44 | obj = new InputListenerNetworkObject(networker, id, frame);
45 | break;
46 | case NetworkCameraNetworkObject.IDENTITY:
47 | availableCallback = true;
48 | obj = new NetworkCameraNetworkObject(networker, id, frame);
49 | break;
50 | case PlayerNetworkObject.IDENTITY:
51 | availableCallback = true;
52 | obj = new PlayerNetworkObject(networker, id, frame);
53 | break;
54 | case TestNetworkObject.IDENTITY:
55 | availableCallback = true;
56 | obj = new TestNetworkObject(networker, id, frame);
57 | break;
58 | }
59 |
60 | if (!availableCallback)
61 | base.NetworkCreateObject(networker, identity, id, frame, callback);
62 | else if (callback != null)
63 | callback(obj);
64 | });
65 | }
66 |
67 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
68 | }
69 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/NetworkObjectFactory.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 10f8758b53c8d3c43867cba7f1c53cfa
3 | timeCreated: 1464417461
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f9f1c5b59ce33046a36d35fb6f04c1c
3 | folderAsset: yes
4 | timeCreated: 1477888305
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ChatManagerBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[[\"string\", \"string\"]]")]
8 | [GeneratedRPCVariableNames("{\"types\":[[\"username\", \"message\"]]")]
9 | public abstract partial class ChatManagerBehavior : NetworkBehavior
10 | {
11 | public const byte RPC_SEND_MESSAGE = 0 + 5;
12 |
13 | public ChatManagerNetworkObject networkObject = null;
14 |
15 | public override void Initialize(NetworkObject obj)
16 | {
17 | // We have already initialized this object
18 | if (networkObject != null && networkObject.AttachedBehavior != null)
19 | return;
20 |
21 | networkObject = (ChatManagerNetworkObject)obj;
22 | networkObject.AttachedBehavior = this;
23 |
24 | base.SetupHelperRpcs(networkObject);
25 | networkObject.RegisterRpc("SendMessage", SendMessage, typeof(string), typeof(string));
26 |
27 | networkObject.onDestroy += DestroyGameObject;
28 |
29 | if (!obj.IsOwner)
30 | {
31 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
32 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
33 | else
34 | skipAttachIds.Remove(obj.NetworkId);
35 | }
36 |
37 | if (obj.Metadata == null)
38 | return;
39 |
40 | byte transformFlags = obj.Metadata[0];
41 |
42 | if (transformFlags == 0)
43 | return;
44 |
45 | BMSByte metadataTransform = new BMSByte();
46 | metadataTransform.Clone(obj.Metadata);
47 | metadataTransform.MoveStartIndex(1);
48 |
49 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
50 | {
51 | MainThreadManager.Run(() =>
52 | {
53 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
54 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
55 | });
56 | }
57 | else if ((transformFlags & 0x01) != 0)
58 | {
59 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
60 | }
61 | else if ((transformFlags & 0x02) != 0)
62 | {
63 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
64 | }
65 |
66 | MainThreadManager.Run(() =>
67 | {
68 | NetworkStart();
69 | networkObject.Networker.FlushCreateActions(networkObject);
70 | });
71 | }
72 |
73 | protected override void CompleteRegistration()
74 | {
75 | base.CompleteRegistration();
76 | networkObject.ReleaseCreateBuffer();
77 | }
78 |
79 | public override void Initialize(NetWorker networker, byte[] metadata = null)
80 | {
81 | Initialize(new ChatManagerNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
82 | }
83 |
84 | private void DestroyGameObject(NetWorker sender)
85 | {
86 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
87 | networkObject.onDestroy -= DestroyGameObject;
88 | }
89 |
90 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
91 | {
92 | return new ChatManagerNetworkObject(networker, this, createCode, metadata);
93 | }
94 |
95 | protected override void InitializedTransform()
96 | {
97 | networkObject.SnapInterpolations();
98 | }
99 |
100 | ///
101 | /// Arguments:
102 | /// string username
103 | /// string message
104 | ///
105 | public abstract void SendMessage(RpcArgs args);
106 |
107 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
108 | }
109 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ChatManagerBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 429982f7dc9f8ab438999a9bfd1df855
3 | timeCreated: 1479165061
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ChatManagerNetworkObject.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System;
4 | using UnityEngine;
5 |
6 | namespace BeardedManStudios.Forge.Networking.Generated
7 | {
8 | [GeneratedInterpol("{\"inter\":[]")]
9 | public partial class ChatManagerNetworkObject : NetworkObject
10 | {
11 | public const int IDENTITY = 1;
12 |
13 | private byte[] _dirtyFields = new byte[0];
14 |
15 | #pragma warning disable 0067
16 | public event FieldChangedEvent fieldAltered;
17 | #pragma warning restore 0067
18 |
19 | protected override void OwnershipChanged()
20 | {
21 | base.OwnershipChanged();
22 | SnapInterpolations();
23 | }
24 |
25 | public void SnapInterpolations()
26 | {
27 | }
28 |
29 | public override int UniqueIdentity { get { return IDENTITY; } }
30 |
31 | protected override BMSByte WritePayload(BMSByte data)
32 | {
33 |
34 | return data;
35 | }
36 |
37 | protected override void ReadPayload(BMSByte payload, ulong timestep)
38 | {
39 | }
40 |
41 | protected override BMSByte SerializeDirtyFields()
42 | {
43 | dirtyFieldsData.Clear();
44 | dirtyFieldsData.Append(_dirtyFields);
45 |
46 |
47 | return dirtyFieldsData;
48 | }
49 |
50 | protected override void ReadDirtyFields(BMSByte data, ulong timestep)
51 | {
52 | if (readDirtyFlags == null)
53 | Initialize();
54 |
55 | Buffer.BlockCopy(data.byteArr, data.StartIndex(), readDirtyFlags, 0, readDirtyFlags.Length);
56 | data.MoveStartIndex(readDirtyFlags.Length);
57 |
58 | }
59 |
60 | public override void InterpolateUpdate()
61 | {
62 | if (IsOwner)
63 | return;
64 |
65 | }
66 |
67 | private void Initialize()
68 | {
69 | if (readDirtyFlags == null)
70 | readDirtyFlags = new byte[0];
71 |
72 | }
73 |
74 | public ChatManagerNetworkObject() : base() { Initialize(); }
75 | public ChatManagerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
76 | public ChatManagerNetworkObject(NetWorker networker, uint serverId, FrameStream frame) : base(networker, serverId, frame) { Initialize(); }
77 |
78 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ChatManagerNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 26727a2a0c328da43b2d7e489970566f
3 | timeCreated: 1479165061
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/CubeForgeGameBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2247adf46e7c17244b6da12bc9456433
3 | timeCreated: 1464462180
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/CubeForgeGameNetworkObject.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System;
4 | using UnityEngine;
5 |
6 | namespace BeardedManStudios.Forge.Networking.Generated
7 | {
8 | [GeneratedInterpol("{\"inter\":[]")]
9 | public partial class CubeForgeGameNetworkObject : NetworkObject
10 | {
11 | public const int IDENTITY = 2;
12 |
13 | private byte[] _dirtyFields = new byte[0];
14 |
15 | #pragma warning disable 0067
16 | public event FieldChangedEvent fieldAltered;
17 | #pragma warning restore 0067
18 |
19 | protected override void OwnershipChanged()
20 | {
21 | base.OwnershipChanged();
22 | SnapInterpolations();
23 | }
24 |
25 | public void SnapInterpolations()
26 | {
27 | }
28 |
29 | public override int UniqueIdentity { get { return IDENTITY; } }
30 |
31 | protected override BMSByte WritePayload(BMSByte data)
32 | {
33 |
34 | return data;
35 | }
36 |
37 | protected override void ReadPayload(BMSByte payload, ulong timestep)
38 | {
39 | }
40 |
41 | protected override BMSByte SerializeDirtyFields()
42 | {
43 | dirtyFieldsData.Clear();
44 | dirtyFieldsData.Append(_dirtyFields);
45 |
46 |
47 | return dirtyFieldsData;
48 | }
49 |
50 | protected override void ReadDirtyFields(BMSByte data, ulong timestep)
51 | {
52 | if (readDirtyFlags == null)
53 | Initialize();
54 |
55 | Buffer.BlockCopy(data.byteArr, data.StartIndex(), readDirtyFlags, 0, readDirtyFlags.Length);
56 | data.MoveStartIndex(readDirtyFlags.Length);
57 |
58 | }
59 |
60 | public override void InterpolateUpdate()
61 | {
62 | if (IsOwner)
63 | return;
64 |
65 | }
66 |
67 | private void Initialize()
68 | {
69 | if (readDirtyFlags == null)
70 | readDirtyFlags = new byte[0];
71 |
72 | }
73 |
74 | public CubeForgeGameNetworkObject() : base() { Initialize(); }
75 | public CubeForgeGameNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
76 | public CubeForgeGameNetworkObject(NetWorker networker, uint serverId, FrameStream frame) : base(networker, serverId, frame) { Initialize(); }
77 |
78 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/CubeForgeGameNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8232f0cdb6800af419f96a4e67eed0a7
3 | timeCreated: 1464462172
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ExampleProximityPlayerBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[[\"Color\"]]")]
8 | [GeneratedRPCVariableNames("{\"types\":[[\"color\"]]")]
9 | public abstract partial class ExampleProximityPlayerBehavior : NetworkBehavior
10 | {
11 | public const byte RPC_SEND_COLOR = 0 + 5;
12 |
13 | public ExampleProximityPlayerNetworkObject networkObject = null;
14 |
15 | public override void Initialize(NetworkObject obj)
16 | {
17 | // We have already initialized this object
18 | if (networkObject != null && networkObject.AttachedBehavior != null)
19 | return;
20 |
21 | networkObject = (ExampleProximityPlayerNetworkObject)obj;
22 | networkObject.AttachedBehavior = this;
23 |
24 | base.SetupHelperRpcs(networkObject);
25 | networkObject.RegisterRpc("SendColor", SendColor, typeof(Color));
26 |
27 | networkObject.onDestroy += DestroyGameObject;
28 |
29 | if (!obj.IsOwner)
30 | {
31 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
32 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
33 | else
34 | skipAttachIds.Remove(obj.NetworkId);
35 | }
36 |
37 | if (obj.Metadata == null)
38 | return;
39 |
40 | byte transformFlags = obj.Metadata[0];
41 |
42 | if (transformFlags == 0)
43 | return;
44 |
45 | BMSByte metadataTransform = new BMSByte();
46 | metadataTransform.Clone(obj.Metadata);
47 | metadataTransform.MoveStartIndex(1);
48 |
49 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
50 | {
51 | MainThreadManager.Run(() =>
52 | {
53 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
54 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
55 | });
56 | }
57 | else if ((transformFlags & 0x01) != 0)
58 | {
59 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
60 | }
61 | else if ((transformFlags & 0x02) != 0)
62 | {
63 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
64 | }
65 |
66 | MainThreadManager.Run(() =>
67 | {
68 | NetworkStart();
69 | networkObject.Networker.FlushCreateActions(networkObject);
70 | });
71 | }
72 |
73 | protected override void CompleteRegistration()
74 | {
75 | base.CompleteRegistration();
76 | networkObject.ReleaseCreateBuffer();
77 | }
78 |
79 | public override void Initialize(NetWorker networker, byte[] metadata = null)
80 | {
81 | Initialize(new ExampleProximityPlayerNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
82 | }
83 |
84 | private void DestroyGameObject(NetWorker sender)
85 | {
86 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
87 | networkObject.onDestroy -= DestroyGameObject;
88 | }
89 |
90 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
91 | {
92 | return new ExampleProximityPlayerNetworkObject(networker, this, createCode, metadata);
93 | }
94 |
95 | protected override void InitializedTransform()
96 | {
97 | networkObject.SnapInterpolations();
98 | }
99 |
100 | ///
101 | /// Arguments:
102 | /// Color color
103 | ///
104 | public abstract void SendColor(RpcArgs args);
105 |
106 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
107 | }
108 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ExampleProximityPlayerBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f77e5e2743036bd42ba8b133bf266df0
3 | timeCreated: 1487348808
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/ExampleProximityPlayerNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d576c2d1863b05b45a1c5a8f176409aa
3 | timeCreated: 1487348808
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/GameManagerBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[]")]
8 | [GeneratedRPCVariableNames("{\"types\":[]")]
9 | public abstract partial class GameManagerBehavior : NetworkBehavior
10 | {
11 |
12 | public GameManagerNetworkObject networkObject = null;
13 |
14 | public override void Initialize(NetworkObject obj)
15 | {
16 | // We have already initialized this object
17 | if (networkObject != null && networkObject.AttachedBehavior != null)
18 | return;
19 |
20 | networkObject = (GameManagerNetworkObject)obj;
21 | networkObject.AttachedBehavior = this;
22 |
23 | base.SetupHelperRpcs(networkObject);
24 |
25 | networkObject.onDestroy += DestroyGameObject;
26 |
27 | if (!obj.IsOwner)
28 | {
29 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
30 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
31 | else
32 | skipAttachIds.Remove(obj.NetworkId);
33 | }
34 |
35 | if (obj.Metadata == null)
36 | return;
37 |
38 | byte transformFlags = obj.Metadata[0];
39 |
40 | if (transformFlags == 0)
41 | return;
42 |
43 | BMSByte metadataTransform = new BMSByte();
44 | metadataTransform.Clone(obj.Metadata);
45 | metadataTransform.MoveStartIndex(1);
46 |
47 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
48 | {
49 | MainThreadManager.Run(() =>
50 | {
51 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
52 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
53 | });
54 | }
55 | else if ((transformFlags & 0x01) != 0)
56 | {
57 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
58 | }
59 | else if ((transformFlags & 0x02) != 0)
60 | {
61 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
62 | }
63 |
64 | MainThreadManager.Run(() =>
65 | {
66 | NetworkStart();
67 | networkObject.Networker.FlushCreateActions(networkObject);
68 | });
69 | }
70 |
71 | protected override void CompleteRegistration()
72 | {
73 | base.CompleteRegistration();
74 | networkObject.ReleaseCreateBuffer();
75 | }
76 |
77 | public override void Initialize(NetWorker networker, byte[] metadata = null)
78 | {
79 | Initialize(new GameManagerNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
80 | }
81 |
82 | private void DestroyGameObject(NetWorker sender)
83 | {
84 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
85 | networkObject.onDestroy -= DestroyGameObject;
86 | }
87 |
88 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
89 | {
90 | return new GameManagerNetworkObject(networker, this, createCode, metadata);
91 | }
92 |
93 | protected override void InitializedTransform()
94 | {
95 | networkObject.SnapInterpolations();
96 | }
97 |
98 |
99 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
100 | }
101 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/GameManagerBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe56306de9a4f9c4e8edc0eefbbbda95
3 | timeCreated: 1513696837
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/GameManagerNetworkObject.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System;
4 | using UnityEngine;
5 |
6 | namespace BeardedManStudios.Forge.Networking.Generated
7 | {
8 | [GeneratedInterpol("{\"inter\":[]")]
9 | public partial class GameManagerNetworkObject : NetworkObject
10 | {
11 | public const int IDENTITY = 4;
12 |
13 | private byte[] _dirtyFields = new byte[0];
14 |
15 | #pragma warning disable 0067
16 | public event FieldChangedEvent fieldAltered;
17 | #pragma warning restore 0067
18 |
19 | protected override void OwnershipChanged()
20 | {
21 | base.OwnershipChanged();
22 | SnapInterpolations();
23 | }
24 |
25 | public void SnapInterpolations()
26 | {
27 | }
28 |
29 | public override int UniqueIdentity { get { return IDENTITY; } }
30 |
31 | protected override BMSByte WritePayload(BMSByte data)
32 | {
33 |
34 | return data;
35 | }
36 |
37 | protected override void ReadPayload(BMSByte payload, ulong timestep)
38 | {
39 | }
40 |
41 | protected override BMSByte SerializeDirtyFields()
42 | {
43 | dirtyFieldsData.Clear();
44 | dirtyFieldsData.Append(_dirtyFields);
45 |
46 |
47 | return dirtyFieldsData;
48 | }
49 |
50 | protected override void ReadDirtyFields(BMSByte data, ulong timestep)
51 | {
52 | if (readDirtyFlags == null)
53 | Initialize();
54 |
55 | Buffer.BlockCopy(data.byteArr, data.StartIndex(), readDirtyFlags, 0, readDirtyFlags.Length);
56 | data.MoveStartIndex(readDirtyFlags.Length);
57 |
58 | }
59 |
60 | public override void InterpolateUpdate()
61 | {
62 | if (IsOwner)
63 | return;
64 |
65 | }
66 |
67 | private void Initialize()
68 | {
69 | if (readDirtyFlags == null)
70 | readDirtyFlags = new byte[0];
71 |
72 | }
73 |
74 | public GameManagerNetworkObject() : base() { Initialize(); }
75 | public GameManagerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
76 | public GameManagerNetworkObject(NetWorker networker, uint serverId, FrameStream frame) : base(networker, serverId, frame) { Initialize(); }
77 |
78 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/GameManagerNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7dfa7905cd82cf243b6b16d4b4f062b8
3 | timeCreated: 1513696837
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/InputListenerBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[[\"byte[]\"]]")]
8 | [GeneratedRPCVariableNames("{\"types\":[[\"inputs\"]]")]
9 | public abstract partial class InputListenerBehavior : NetworkBehavior
10 | {
11 | public const byte RPC_SYNC_INPUTS = 0 + 5;
12 |
13 | public InputListenerNetworkObject networkObject = null;
14 |
15 | public override void Initialize(NetworkObject obj)
16 | {
17 | // We have already initialized this object
18 | if (networkObject != null && networkObject.AttachedBehavior != null)
19 | return;
20 |
21 | networkObject = (InputListenerNetworkObject)obj;
22 | networkObject.AttachedBehavior = this;
23 |
24 | base.SetupHelperRpcs(networkObject);
25 | networkObject.RegisterRpc("SyncInputs", SyncInputs, typeof(byte[]));
26 |
27 | networkObject.onDestroy += DestroyGameObject;
28 |
29 | if (!obj.IsOwner)
30 | {
31 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
32 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
33 | else
34 | skipAttachIds.Remove(obj.NetworkId);
35 | }
36 |
37 | if (obj.Metadata == null)
38 | return;
39 |
40 | byte transformFlags = obj.Metadata[0];
41 |
42 | if (transformFlags == 0)
43 | return;
44 |
45 | BMSByte metadataTransform = new BMSByte();
46 | metadataTransform.Clone(obj.Metadata);
47 | metadataTransform.MoveStartIndex(1);
48 |
49 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
50 | {
51 | MainThreadManager.Run(() =>
52 | {
53 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
54 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
55 | });
56 | }
57 | else if ((transformFlags & 0x01) != 0)
58 | {
59 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
60 | }
61 | else if ((transformFlags & 0x02) != 0)
62 | {
63 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
64 | }
65 |
66 | MainThreadManager.Run(() =>
67 | {
68 | NetworkStart();
69 | networkObject.Networker.FlushCreateActions(networkObject);
70 | });
71 | }
72 |
73 | protected override void CompleteRegistration()
74 | {
75 | base.CompleteRegistration();
76 | networkObject.ReleaseCreateBuffer();
77 | }
78 |
79 | public override void Initialize(NetWorker networker, byte[] metadata = null)
80 | {
81 | Initialize(new InputListenerNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
82 | }
83 |
84 | private void DestroyGameObject(NetWorker sender)
85 | {
86 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
87 | networkObject.onDestroy -= DestroyGameObject;
88 | }
89 |
90 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
91 | {
92 | return new InputListenerNetworkObject(networker, this, createCode, metadata);
93 | }
94 |
95 | protected override void InitializedTransform()
96 | {
97 | networkObject.SnapInterpolations();
98 | }
99 |
100 | ///
101 | /// Arguments:
102 | /// byte[] inputs
103 | ///
104 | public abstract void SyncInputs(RpcArgs args);
105 |
106 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
107 | }
108 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/InputListenerBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55e0865993d3e1b4e892f8cd0979b63b
3 | timeCreated: 1513696188
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/InputListenerNetworkObject.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System;
4 | using UnityEngine;
5 |
6 | namespace BeardedManStudios.Forge.Networking.Generated
7 | {
8 | [GeneratedInterpol("{\"inter\":[]")]
9 | public partial class InputListenerNetworkObject : NetworkObject
10 | {
11 | public const int IDENTITY = 5;
12 |
13 | private byte[] _dirtyFields = new byte[0];
14 |
15 | #pragma warning disable 0067
16 | public event FieldChangedEvent fieldAltered;
17 | #pragma warning restore 0067
18 |
19 | protected override void OwnershipChanged()
20 | {
21 | base.OwnershipChanged();
22 | SnapInterpolations();
23 | }
24 |
25 | public void SnapInterpolations()
26 | {
27 | }
28 |
29 | public override int UniqueIdentity { get { return IDENTITY; } }
30 |
31 | protected override BMSByte WritePayload(BMSByte data)
32 | {
33 |
34 | return data;
35 | }
36 |
37 | protected override void ReadPayload(BMSByte payload, ulong timestep)
38 | {
39 | }
40 |
41 | protected override BMSByte SerializeDirtyFields()
42 | {
43 | dirtyFieldsData.Clear();
44 | dirtyFieldsData.Append(_dirtyFields);
45 |
46 |
47 | return dirtyFieldsData;
48 | }
49 |
50 | protected override void ReadDirtyFields(BMSByte data, ulong timestep)
51 | {
52 | if (readDirtyFlags == null)
53 | Initialize();
54 |
55 | Buffer.BlockCopy(data.byteArr, data.StartIndex(), readDirtyFlags, 0, readDirtyFlags.Length);
56 | data.MoveStartIndex(readDirtyFlags.Length);
57 |
58 | }
59 |
60 | public override void InterpolateUpdate()
61 | {
62 | if (IsOwner)
63 | return;
64 |
65 | }
66 |
67 | private void Initialize()
68 | {
69 | if (readDirtyFlags == null)
70 | readDirtyFlags = new byte[0];
71 |
72 | }
73 |
74 | public InputListenerNetworkObject() : base() { Initialize(); }
75 | public InputListenerNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
76 | public InputListenerNetworkObject(NetWorker networker, uint serverId, FrameStream frame) : base(networker, serverId, frame) { Initialize(); }
77 |
78 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/InputListenerNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ce8c8ede45dbf6a48b433fb81af2b6c8
3 | timeCreated: 1513696188
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/NetworkCameraBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[]")]
8 | [GeneratedRPCVariableNames("{\"types\":[]")]
9 | public abstract partial class NetworkCameraBehavior : NetworkBehavior
10 | {
11 |
12 | public NetworkCameraNetworkObject networkObject = null;
13 |
14 | public override void Initialize(NetworkObject obj)
15 | {
16 | // We have already initialized this object
17 | if (networkObject != null && networkObject.AttachedBehavior != null)
18 | return;
19 |
20 | networkObject = (NetworkCameraNetworkObject)obj;
21 | networkObject.AttachedBehavior = this;
22 |
23 | base.SetupHelperRpcs(networkObject);
24 |
25 | networkObject.onDestroy += DestroyGameObject;
26 |
27 | if (!obj.IsOwner)
28 | {
29 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
30 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
31 | else
32 | skipAttachIds.Remove(obj.NetworkId);
33 | }
34 |
35 | if (obj.Metadata == null)
36 | return;
37 |
38 | byte transformFlags = obj.Metadata[0];
39 |
40 | if (transformFlags == 0)
41 | return;
42 |
43 | BMSByte metadataTransform = new BMSByte();
44 | metadataTransform.Clone(obj.Metadata);
45 | metadataTransform.MoveStartIndex(1);
46 |
47 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
48 | {
49 | MainThreadManager.Run(() =>
50 | {
51 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
52 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
53 | });
54 | }
55 | else if ((transformFlags & 0x01) != 0)
56 | {
57 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
58 | }
59 | else if ((transformFlags & 0x02) != 0)
60 | {
61 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
62 | }
63 |
64 | MainThreadManager.Run(() =>
65 | {
66 | NetworkStart();
67 | networkObject.Networker.FlushCreateActions(networkObject);
68 | });
69 | }
70 |
71 | protected override void CompleteRegistration()
72 | {
73 | base.CompleteRegistration();
74 | networkObject.ReleaseCreateBuffer();
75 | }
76 |
77 | public override void Initialize(NetWorker networker, byte[] metadata = null)
78 | {
79 | Initialize(new NetworkCameraNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
80 | }
81 |
82 | private void DestroyGameObject(NetWorker sender)
83 | {
84 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
85 | networkObject.onDestroy -= DestroyGameObject;
86 | }
87 |
88 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
89 | {
90 | return new NetworkCameraNetworkObject(networker, this, createCode, metadata);
91 | }
92 |
93 | protected override void InitializedTransform()
94 | {
95 | networkObject.SnapInterpolations();
96 | }
97 |
98 |
99 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
100 | }
101 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/NetworkCameraBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8220dd66ac732a4439fb317590fe6d38
3 | timeCreated: 1464417538
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/NetworkCameraNetworkObject.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using System;
4 | using UnityEngine;
5 |
6 | namespace BeardedManStudios.Forge.Networking.Generated
7 | {
8 | [GeneratedInterpol("{\"inter\":[0.15]")]
9 | public partial class NetworkCameraNetworkObject : NetworkObject
10 | {
11 | public const int IDENTITY = 6;
12 |
13 | private byte[] _dirtyFields = new byte[1];
14 |
15 | #pragma warning disable 0067
16 | public event FieldChangedEvent fieldAltered;
17 | #pragma warning restore 0067
18 | private Vector3 _position;
19 | public event FieldEvent positionChanged;
20 | public InterpolateVector3 positionInterpolation = new InterpolateVector3() { LerpT = 0.15f, Enabled = true };
21 | public Vector3 position
22 | {
23 | get { return _position; }
24 | set
25 | {
26 | // Don't do anything if the value is the same
27 | if (_position == value)
28 | return;
29 |
30 | // Mark the field as dirty for the network to transmit
31 | _dirtyFields[0] |= 0x1;
32 | _position = value;
33 | hasDirtyFields = true;
34 | }
35 | }
36 |
37 | public void SetpositionDirty()
38 | {
39 | _dirtyFields[0] |= 0x1;
40 | hasDirtyFields = true;
41 | }
42 |
43 | private void RunChange_position(ulong timestep)
44 | {
45 | if (positionChanged != null) positionChanged(_position, timestep);
46 | if (fieldAltered != null) fieldAltered("position", _position, timestep);
47 | }
48 |
49 | protected override void OwnershipChanged()
50 | {
51 | base.OwnershipChanged();
52 | SnapInterpolations();
53 | }
54 |
55 | public void SnapInterpolations()
56 | {
57 | positionInterpolation.current = positionInterpolation.target;
58 | }
59 |
60 | public override int UniqueIdentity { get { return IDENTITY; } }
61 |
62 | protected override BMSByte WritePayload(BMSByte data)
63 | {
64 | UnityObjectMapper.Instance.MapBytes(data, _position);
65 |
66 | return data;
67 | }
68 |
69 | protected override void ReadPayload(BMSByte payload, ulong timestep)
70 | {
71 | _position = UnityObjectMapper.Instance.Map(payload);
72 | positionInterpolation.current = _position;
73 | positionInterpolation.target = _position;
74 | RunChange_position(timestep);
75 | }
76 |
77 | protected override BMSByte SerializeDirtyFields()
78 | {
79 | dirtyFieldsData.Clear();
80 | dirtyFieldsData.Append(_dirtyFields);
81 |
82 | if ((0x1 & _dirtyFields[0]) != 0)
83 | UnityObjectMapper.Instance.MapBytes(dirtyFieldsData, _position);
84 |
85 | return dirtyFieldsData;
86 | }
87 |
88 | protected override void ReadDirtyFields(BMSByte data, ulong timestep)
89 | {
90 | if (readDirtyFlags == null)
91 | Initialize();
92 |
93 | Buffer.BlockCopy(data.byteArr, data.StartIndex(), readDirtyFlags, 0, readDirtyFlags.Length);
94 | data.MoveStartIndex(readDirtyFlags.Length);
95 |
96 | if ((0x1 & readDirtyFlags[0]) != 0)
97 | {
98 | if (positionInterpolation.Enabled)
99 | {
100 | positionInterpolation.target = UnityObjectMapper.Instance.Map(data);
101 | positionInterpolation.Timestep = timestep;
102 | }
103 | else
104 | {
105 | _position = UnityObjectMapper.Instance.Map(data);
106 | RunChange_position(timestep);
107 | }
108 | }
109 | }
110 |
111 | public override void InterpolateUpdate()
112 | {
113 | if (IsOwner)
114 | return;
115 |
116 | if (positionInterpolation.Enabled && !positionInterpolation.current.UnityNear(positionInterpolation.target, 0.0015f))
117 | {
118 | _position = (Vector3)positionInterpolation.Interpolate();
119 | //RunChange_position(positionInterpolation.Timestep);
120 | }
121 | }
122 |
123 | private void Initialize()
124 | {
125 | if (readDirtyFlags == null)
126 | readDirtyFlags = new byte[1];
127 |
128 | }
129 |
130 | public NetworkCameraNetworkObject() : base() { Initialize(); }
131 | public NetworkCameraNetworkObject(NetWorker networker, INetworkBehavior networkBehavior = null, int createCode = 0, byte[] metadata = null) : base(networker, networkBehavior, createCode, metadata) { Initialize(); }
132 | public NetworkCameraNetworkObject(NetWorker networker, uint serverId, FrameStream frame) : base(networker, serverId, frame) { Initialize(); }
133 |
134 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
135 | }
136 | }
137 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/NetworkCameraNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 47ca1a5b12cd28f4985b1d1425770c87
3 | timeCreated: 1464417538
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/PlayerBehavior.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Generated
6 | {
7 | [GeneratedRPC("{\"types\":[]")]
8 | [GeneratedRPCVariableNames("{\"types\":[]")]
9 | public abstract partial class PlayerBehavior : NetworkBehavior
10 | {
11 |
12 | public PlayerNetworkObject networkObject = null;
13 |
14 | public override void Initialize(NetworkObject obj)
15 | {
16 | // We have already initialized this object
17 | if (networkObject != null && networkObject.AttachedBehavior != null)
18 | return;
19 |
20 | networkObject = (PlayerNetworkObject)obj;
21 | networkObject.AttachedBehavior = this;
22 |
23 | base.SetupHelperRpcs(networkObject);
24 |
25 | networkObject.onDestroy += DestroyGameObject;
26 |
27 | if (!obj.IsOwner)
28 | {
29 | if (!skipAttachIds.ContainsKey(obj.NetworkId))
30 | ProcessOthers(gameObject.transform, obj.NetworkId + 1);
31 | else
32 | skipAttachIds.Remove(obj.NetworkId);
33 | }
34 |
35 | if (obj.Metadata == null)
36 | return;
37 |
38 | byte transformFlags = obj.Metadata[0];
39 |
40 | if (transformFlags == 0)
41 | return;
42 |
43 | BMSByte metadataTransform = new BMSByte();
44 | metadataTransform.Clone(obj.Metadata);
45 | metadataTransform.MoveStartIndex(1);
46 |
47 | if ((transformFlags & 0x01) != 0 && (transformFlags & 0x02) != 0)
48 | {
49 | MainThreadManager.Run(() =>
50 | {
51 | transform.position = ObjectMapper.Instance.Map(metadataTransform);
52 | transform.rotation = ObjectMapper.Instance.Map(metadataTransform);
53 | });
54 | }
55 | else if ((transformFlags & 0x01) != 0)
56 | {
57 | MainThreadManager.Run(() => { transform.position = ObjectMapper.Instance.Map(metadataTransform); });
58 | }
59 | else if ((transformFlags & 0x02) != 0)
60 | {
61 | MainThreadManager.Run(() => { transform.rotation = ObjectMapper.Instance.Map(metadataTransform); });
62 | }
63 |
64 | MainThreadManager.Run(() =>
65 | {
66 | NetworkStart();
67 | networkObject.Networker.FlushCreateActions(networkObject);
68 | });
69 | }
70 |
71 | protected override void CompleteRegistration()
72 | {
73 | base.CompleteRegistration();
74 | networkObject.ReleaseCreateBuffer();
75 | }
76 |
77 | public override void Initialize(NetWorker networker, byte[] metadata = null)
78 | {
79 | Initialize(new PlayerNetworkObject(networker, createCode: TempAttachCode, metadata: metadata));
80 | }
81 |
82 | private void DestroyGameObject(NetWorker sender)
83 | {
84 | MainThreadManager.Run(() => { try { Destroy(gameObject); } catch { } });
85 | networkObject.onDestroy -= DestroyGameObject;
86 | }
87 |
88 | public override NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null)
89 | {
90 | return new PlayerNetworkObject(networker, this, createCode, metadata);
91 | }
92 |
93 | protected override void InitializedTransform()
94 | {
95 | networkObject.SnapInterpolations();
96 | }
97 |
98 |
99 | // DO NOT TOUCH, THIS GETS GENERATED PLEASE EXTEND THIS CLASS IF YOU WISH TO HAVE CUSTOM CODE ADDITIONS
100 | }
101 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/PlayerBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6dcc6f506cf4f3d42b32383cde010efd
3 | timeCreated: 1513696287
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/PlayerNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7da595864e9c35498d63f3657b446ca
3 | timeCreated: 1513696287
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/TestBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8eada7145f3e8c240b3dc7238c47af9f
3 | timeCreated: 1492306725
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Generated/UserGenerated/TestNetworkObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e7b3995f2a376a4cb434b0c46e2ff6d
3 | timeCreated: 1492306725
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9616443f9d609af499dcf5845fc752d0
3 | folderAsset: yes
4 | timeCreated: 1477163107
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ffaa0b82864b754480b971462734f14
3 | folderAsset: yes
4 | timeCreated: 1479161228
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/Chat Maker.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1000012382896100}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1000012382896100
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4000011697456928}
22 | - component: {fileID: 114000014112127682}
23 | m_Layer: 0
24 | m_Name: Chat Maker
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!4 &4000011697456928
31 | Transform:
32 | m_ObjectHideFlags: 1
33 | m_PrefabParentObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 100100000}
35 | m_GameObject: {fileID: 1000012382896100}
36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
37 | m_LocalPosition: {x: 0, y: 0, z: 0}
38 | m_LocalScale: {x: 1, y: 1, z: 1}
39 | m_Children: []
40 | m_Father: {fileID: 0}
41 | m_RootOrder: 0
42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
43 | --- !u!114 &114000014112127682
44 | MonoBehaviour:
45 | m_ObjectHideFlags: 1
46 | m_PrefabParentObject: {fileID: 0}
47 | m_PrefabInternal: {fileID: 100100000}
48 | m_GameObject: {fileID: 1000012382896100}
49 | m_Enabled: 1
50 | m_EditorHideFlags: 0
51 | m_Script: {fileID: 11500000, guid: b87891c6afcc28c459e388cc6400f9dc, type: 3}
52 | m_Name:
53 | m_EditorClassIdentifier:
54 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/Chat Maker.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e77f53b2a5e4fbe46ae85581b9b0d11d
3 | timeCreated: 1481743039
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/ChatMaker.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Unity;
2 | using UnityEngine;
3 | using UnityEngine.SceneManagement;
4 |
5 | public class ChatMaker : MonoBehaviour
6 | {
7 | private void Awake()
8 | {
9 | SceneManager.sceneLoaded += CreateInlineChat;
10 | }
11 |
12 | private void CreateInlineChat(Scene arg0, LoadSceneMode arg1)
13 | {
14 | SceneManager.sceneLoaded -= CreateInlineChat;
15 | var chat = NetworkManager.Instance.InstantiateChatManager();
16 | DontDestroyOnLoad(chat.gameObject);
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/ChatMaker.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b87891c6afcc28c459e388cc6400f9dc
3 | timeCreated: 1481743039
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/ChatManager.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking;
2 | using BeardedManStudios.Forge.Networking.Generated;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 | using UnityEngine.UI;
6 |
7 | public class ChatManager : ChatManagerBehavior
8 | {
9 | public Transform contentTransform;
10 | public GameObject messageLabel;
11 | public GameObject eventSystem;
12 |
13 | public InputField messageInput;
14 |
15 | private List messageLabels = new List();
16 | public int maxMessages = 100;
17 |
18 | private void Awake()
19 | {
20 | Instantiate(eventSystem);
21 | }
22 |
23 | public override void SendMessage(RpcArgs args)
24 | {
25 | string username = args.GetNext();
26 | string message = args.GetNext();
27 |
28 | Text label = null;
29 | if (messageLabels.Count == maxMessages)
30 | {
31 | label = messageLabels[0];
32 | messageLabels.RemoveAt(0);
33 | label.transform.SetAsLastSibling();
34 | }
35 | else
36 | label = (Instantiate(messageLabel, contentTransform) as GameObject).GetComponent();
37 |
38 | messageLabels.Add(label);
39 | label.text = username + ": " + message;
40 | }
41 |
42 | public void SendMessage()
43 | {
44 | string message = messageInput.text.Trim();
45 | if (string.IsNullOrEmpty(message))
46 | return;
47 |
48 | string name = networkObject.Networker.Me.Name;
49 |
50 | if (string.IsNullOrEmpty(name))
51 | name = NetWorker.InstanceGuid.ToString().Substring(0, 5);
52 |
53 | networkObject.SendRpc(RPC_SEND_MESSAGE, Receivers.All, name, message);
54 | messageInput.text = "";
55 | messageInput.Select();
56 | }
57 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Chat/ChatManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aeea0c7630414114da1f96ac15c4ed49
3 | timeCreated: 1479165077
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6611706ce5168724799f42abc05cdc49
3 | folderAsset: yes
4 | timeCreated: 1479718110
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem/LobbyManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70ee93f6c1c238d4b9989f5c3725a56a
3 | timeCreated: 1479718120
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem/LobbyPlayer.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using System;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Unity.Lobby
6 | {
7 | public class LobbyPlayer : IClientMockPlayer
8 | {
9 | private string _name;
10 | public string Name
11 | {
12 | get
13 | {
14 | return _name;
15 | }
16 | set
17 | {
18 | _name = value;
19 | }
20 | }
21 |
22 | private uint _networkID;
23 | public uint NetworkId
24 | {
25 | get
26 | {
27 | return _networkID;
28 | }
29 |
30 | set
31 | {
32 | _networkID = value;
33 | }
34 | }
35 |
36 | private int _avatarID;
37 | public int AvatarID
38 | {
39 | get { return _avatarID; }
40 | set { _avatarID = value; }
41 | }
42 |
43 | private int _teamID;
44 | public int TeamID
45 | {
46 | get { return _teamID; }
47 | set { _teamID = value; }
48 | }
49 |
50 | private bool _created;
51 | public bool Created
52 | {
53 | get { return _created; }
54 | set { _created = value; }
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem/LobbyPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c7ed9657d11c16f4a91af907e6e89228
3 | timeCreated: 1479719238
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem/LobbyPlayerItem.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 | using System.Collections;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Unity.Lobby
6 | {
7 | public class LobbyPlayerItem : MonoBehaviour
8 | {
9 | public Color[] TeamColors;
10 | public Color[] AvatarColors;
11 | public GameObject KickButton;
12 | public Image AvatarBG;
13 | public Text AvatarID;
14 | public InputField PlayerName;
15 | public Text PlayerTeamID;
16 |
17 | public Button[] Buttons;
18 |
19 | [HideInInspector]
20 | public Transform ThisTransform;
21 |
22 | [HideInInspector]
23 | public GameObject ThisGameObject;
24 |
25 | public LobbyPlayer AssociatedPlayer { get; private set; }
26 | private LobbyManager _manager;
27 |
28 | public void Init(LobbyManager manager)
29 | {
30 | ThisGameObject = gameObject;
31 | ThisTransform = transform;
32 | _manager = manager;
33 | }
34 |
35 | public void Setup(LobbyPlayer associatedPlayer, bool interactableValue)
36 | {
37 | ToggleInteractables(interactableValue);
38 | AssociatedPlayer = associatedPlayer;
39 | ChangeAvatarID(associatedPlayer.AvatarID);
40 | ChangeName(associatedPlayer.Name);
41 | ChangeTeam(associatedPlayer.TeamID);
42 | }
43 |
44 | public void SetParent(Transform parent)
45 | {
46 | ThisTransform.SetParent(parent);
47 | ThisTransform.localPosition = Vector3.zero;
48 | ThisTransform.localScale = Vector3.one;
49 | }
50 |
51 | public void KickPlayer()
52 | {
53 | _manager.KickPlayer(this);
54 | }
55 |
56 | public void RequestChangeTeam()
57 | {
58 | int nextID = AssociatedPlayer.TeamID + 1;
59 | if (nextID >= TeamColors.Length)
60 | nextID = 0;
61 |
62 | _manager.ChangeTeam(this, nextID);
63 | }
64 |
65 | public void RequestChangeAvatarID()
66 | {
67 | int nextID = AssociatedPlayer.AvatarID + 1;
68 | if (nextID >= AvatarColors.Length)
69 | nextID = 0;
70 |
71 | _manager.ChangeAvatarID(this, nextID);
72 | }
73 |
74 | public void RequestChangeName()
75 | {
76 | _manager.ChangeName(this, PlayerName.text);
77 | }
78 |
79 | public void ChangeAvatarID(int id)
80 | {
81 | Color avatarColor = Color.white;
82 |
83 | //Note: This is just an example, you are free to make your own team colors and
84 | // change this to however you see fit
85 | if (TeamColors.Length > id && id >= 0)
86 | avatarColor = AvatarColors[id];
87 |
88 | AvatarID.text = id.ToString();
89 | AvatarBG.color = avatarColor;
90 | }
91 |
92 | public void ChangeName(string name)
93 | {
94 | PlayerName.text = name;
95 | }
96 |
97 | public void ChangeTeam(int id)
98 | {
99 | PlayerTeamID.text = string.Format("Team {0}", id);
100 | }
101 |
102 | public void ToggleInteractables(bool value)
103 | {
104 | for (int i = 0; i < Buttons.Length; ++i)
105 | Buttons[i].interactable = value;
106 |
107 | AvatarBG.raycastTarget = value;
108 | PlayerTeamID.raycastTarget = value;
109 | PlayerName.interactable = value;
110 | }
111 |
112 | public void ToggleObject(bool value)
113 | {
114 | ThisGameObject.SetActive(value);
115 | }
116 | }
117 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/LobbySystem/LobbyPlayerItem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 261d9e151bc73b947a09368f081d3191
3 | timeCreated: 1479718185
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c94454ed540147d4db86b855cea046c2
3 | folderAsset: yes
4 | timeCreated: 1479162561
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/Chat.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b454b1be0b2c3fa4fb48430867af7566
3 | timeCreated: 1479161234
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/EventSystem.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1000012828009978}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1000012828009978
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4000012507469452}
22 | - component: {fileID: 114000013548506554}
23 | - component: {fileID: 114000013613365950}
24 | m_Layer: 0
25 | m_Name: EventSystem
26 | m_TagString: Untagged
27 | m_Icon: {fileID: 0}
28 | m_NavMeshLayer: 0
29 | m_StaticEditorFlags: 0
30 | m_IsActive: 1
31 | --- !u!4 &4000012507469452
32 | Transform:
33 | m_ObjectHideFlags: 1
34 | m_PrefabParentObject: {fileID: 0}
35 | m_PrefabInternal: {fileID: 100100000}
36 | m_GameObject: {fileID: 1000012828009978}
37 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
38 | m_LocalPosition: {x: 0, y: 0, z: 0}
39 | m_LocalScale: {x: 1, y: 1, z: 1}
40 | m_Children: []
41 | m_Father: {fileID: 0}
42 | m_RootOrder: 0
43 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
44 | --- !u!114 &114000013548506554
45 | MonoBehaviour:
46 | m_ObjectHideFlags: 1
47 | m_PrefabParentObject: {fileID: 0}
48 | m_PrefabInternal: {fileID: 100100000}
49 | m_GameObject: {fileID: 1000012828009978}
50 | m_Enabled: 1
51 | m_EditorHideFlags: 0
52 | m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
53 | m_Name:
54 | m_EditorClassIdentifier:
55 | m_FirstSelected: {fileID: 0}
56 | m_sendNavigationEvents: 1
57 | m_DragThreshold: 5
58 | --- !u!114 &114000013613365950
59 | MonoBehaviour:
60 | m_ObjectHideFlags: 1
61 | m_PrefabParentObject: {fileID: 0}
62 | m_PrefabInternal: {fileID: 100100000}
63 | m_GameObject: {fileID: 1000012828009978}
64 | m_Enabled: 1
65 | m_EditorHideFlags: 0
66 | m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
67 | m_Name:
68 | m_EditorClassIdentifier:
69 | m_HorizontalAxis: Horizontal
70 | m_VerticalAxis: Vertical
71 | m_SubmitButton: Submit
72 | m_CancelButton: Cancel
73 | m_InputActionsPerSecond: 10
74 | m_RepeatDelay: 0.5
75 | m_ForceModuleActive: 0
76 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/EventSystem.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a542afcebd359804799ebc0af3dd0ddc
3 | timeCreated: 1479167941
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/LobbyPlayerItem.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a4fdc786f65c3b6448687c9954802293
3 | timeCreated: 1489129328
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/LobbySystem.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c507e932d520af47909cb5e6a75be4e
3 | timeCreated: 1512730439
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/Message.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1000010636152146}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1000010636152146
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 224000013447513912}
22 | - component: {fileID: 222000010477135120}
23 | - component: {fileID: 114000011120757998}
24 | - component: {fileID: 114000012502041954}
25 | m_Layer: 5
26 | m_Name: Message
27 | m_TagString: Untagged
28 | m_Icon: {fileID: 0}
29 | m_NavMeshLayer: 0
30 | m_StaticEditorFlags: 0
31 | m_IsActive: 1
32 | --- !u!114 &114000011120757998
33 | MonoBehaviour:
34 | m_ObjectHideFlags: 1
35 | m_PrefabParentObject: {fileID: 0}
36 | m_PrefabInternal: {fileID: 100100000}
37 | m_GameObject: {fileID: 1000010636152146}
38 | m_Enabled: 1
39 | m_EditorHideFlags: 0
40 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
41 | m_Name:
42 | m_EditorClassIdentifier:
43 | m_Material: {fileID: 0}
44 | m_Color: {r: 0, g: 0, b: 0, a: 1}
45 | m_RaycastTarget: 1
46 | m_OnCullStateChanged:
47 | m_PersistentCalls:
48 | m_Calls: []
49 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
50 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
51 | m_FontData:
52 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
53 | m_FontSize: 14
54 | m_FontStyle: 0
55 | m_BestFit: 0
56 | m_MinSize: 10
57 | m_MaxSize: 40
58 | m_Alignment: 0
59 | m_AlignByGeometry: 0
60 | m_RichText: 1
61 | m_HorizontalOverflow: 0
62 | m_VerticalOverflow: 1
63 | m_LineSpacing: 1
64 | m_Text:
65 | --- !u!114 &114000012502041954
66 | MonoBehaviour:
67 | m_ObjectHideFlags: 1
68 | m_PrefabParentObject: {fileID: 0}
69 | m_PrefabInternal: {fileID: 100100000}
70 | m_GameObject: {fileID: 1000010636152146}
71 | m_Enabled: 1
72 | m_EditorHideFlags: 0
73 | m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
74 | m_Name:
75 | m_EditorClassIdentifier:
76 | m_IgnoreLayout: 0
77 | m_MinWidth: 280
78 | m_MinHeight: -1
79 | m_PreferredWidth: -1
80 | m_PreferredHeight: -1
81 | m_FlexibleWidth: -1
82 | m_FlexibleHeight: -1
83 | m_LayoutPriority: 1
84 | --- !u!222 &222000010477135120
85 | CanvasRenderer:
86 | m_ObjectHideFlags: 1
87 | m_PrefabParentObject: {fileID: 0}
88 | m_PrefabInternal: {fileID: 100100000}
89 | m_GameObject: {fileID: 1000010636152146}
90 | --- !u!224 &224000013447513912
91 | RectTransform:
92 | m_ObjectHideFlags: 1
93 | m_PrefabParentObject: {fileID: 0}
94 | m_PrefabInternal: {fileID: 100100000}
95 | m_GameObject: {fileID: 1000010636152146}
96 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
97 | m_LocalPosition: {x: 0, y: 0, z: 0}
98 | m_LocalScale: {x: 1, y: 1, z: 1}
99 | m_Children: []
100 | m_Father: {fileID: 0}
101 | m_RootOrder: 0
102 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
103 | m_AnchorMin: {x: 0, y: 0}
104 | m_AnchorMax: {x: 0, y: 0}
105 | m_AnchoredPosition: {x: 0, y: 0}
106 | m_SizeDelta: {x: 0, y: 0}
107 | m_Pivot: {x: 0.5, y: 0.5}
108 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Prefabs/Message.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d672444e84d36444bb56bcbdae70b3b
3 | timeCreated: 1479162564
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Stand Alone Chat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf21540c9828fb849aea5ceec7330e30
3 | folderAsset: yes
4 | timeCreated: 1479164973
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Stand Alone Chat/StandAloneChat.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 |
4 | public class StandAloneChat : MonoBehaviour {
5 |
6 | // Use this for initialization
7 | void Start () {
8 |
9 | }
10 |
11 | // Update is called once per frame
12 | void Update () {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/Stand Alone Chat/StandAloneChat.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2622089a73d11024bb336ac4661fbdfc
3 | timeCreated: 1479165019
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/VOIP.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 194b02386381a0546a8a91abaacb837f
3 | folderAsset: yes
4 | timeCreated: 1477157132
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/VOIP/VOIP.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7abc983e7e845a54592b4b04db30c8c8
3 | timeCreated: 1477157145
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/VOIP/VOIP.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d1c33731e43848243914a7dbb73db8cc
3 | timeCreated: 1477158940
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/VOIP/VoipStarter.cs:
--------------------------------------------------------------------------------
1 | #if !UNITY_WEBGL && !WINDOWS_UWP
2 | using BeardedManStudios.Forge.Networking.Unity;
3 | using BeardedManStudios.Forge.Networking.Unity.Modules;
4 | #endif
5 |
6 | using UnityEngine;
7 |
8 | public class VoipStarter : MonoBehaviour
9 | {
10 | #if !UNITY_WEBGL && !WINDOWS_UWP
11 | private VOIP voip;
12 | public string hostAddress;
13 | public ushort hostPort;
14 | public bool isLocalTesting;
15 | public VOIP.Quality MicQuality = VOIP.Quality.High;
16 |
17 | public void Start()
18 | {
19 | voip = new VOIP(0.0f, MicQuality);
20 | voip.IsLocalTesting = isLocalTesting;
21 |
22 | if (NetworkManager.Instance.IsServer)
23 | voip.StartServer(32);
24 | else
25 | voip.StartClient(hostAddress, hostPort);
26 | }
27 |
28 | public void Stop()
29 | {
30 | voip.StopSending();
31 | }
32 |
33 | private void Update()
34 | {
35 | voip.Update();
36 | }
37 |
38 | private void OnApplicationQuit()
39 | {
40 | Stop();
41 | }
42 | #endif
43 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Modules/VOIP/VoipStarter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d61f7f0aaf8de2489beee413926ed2b
3 | timeCreated: 1477158724
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d92e9b43fa76284b8f4e5839b7f0e49
3 | folderAsset: yes
4 | timeCreated: 1471322683
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/BeardedManStudios.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Plugins/BeardedManStudios.dll.mdb
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/BeardedManStudios.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 584cf9905a8c2fc46abc8c3170293a82
3 | timeCreated: 1512731205
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/BeardedManStudios.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83653292150867044b5cadadf4e1c568
3 | timeCreated: 1489555224
4 | licenseType: Free
5 | PluginImporter:
6 | serializedVersion: 1
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | platformData:
11 | Any:
12 | enabled: 1
13 | settings: {}
14 | Editor:
15 | enabled: 0
16 | settings:
17 | DefaultValueInitialized: true
18 | WindowsStoreApps:
19 | enabled: 0
20 | settings:
21 | CPU: AnyCPU
22 | userData:
23 | assetBundleName:
24 | assetBundleVariant:
25 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/BeardedManStudios.pdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 303212cacfe73954db4ec90cc768e92f
3 | timeCreated: 1489555223
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/ForgeNetworkingCommon.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/Assets/Bearded Man Studios Inc/Plugins/ForgeNetworkingCommon.dll.mdb
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/ForgeNetworkingCommon.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 172fba4414f60924b84a925d545a8ca9
3 | timeCreated: 1512731205
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/ForgeNetworkingCommon.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a80293898ce419b49844087a8fdbd648
3 | timeCreated: 1489122602
4 | licenseType: Pro
5 | PluginImporter:
6 | serializedVersion: 1
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | platformData:
11 | Any:
12 | enabled: 1
13 | settings: {}
14 | Editor:
15 | enabled: 0
16 | settings:
17 | DefaultValueInitialized: true
18 | WindowsStoreApps:
19 | enabled: 0
20 | settings:
21 | CPU: AnyCPU
22 | userData:
23 | assetBundleName:
24 | assetBundleVariant:
25 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Plugins/ForgeNetworkingCommon.pdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ffd2a0625ebfc36409ca65635a924810
3 | timeCreated: 1489122600
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a27bace96c6022498084f87751072d7
3 | folderAsset: yes
4 | timeCreated: 1464238126
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Prefabs/NetworkManager.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &186558
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 100100000}
8 | serializedVersion: 5
9 | m_Component:
10 | - component: {fileID: 471382}
11 | - component: {fileID: 11439882}
12 | m_Layer: 0
13 | m_Name: NetworkManager
14 | m_TagString: Untagged
15 | m_Icon: {fileID: 0}
16 | m_NavMeshLayer: 0
17 | m_StaticEditorFlags: 0
18 | m_IsActive: 1
19 | --- !u!4 &471382
20 | Transform:
21 | m_ObjectHideFlags: 1
22 | m_PrefabParentObject: {fileID: 0}
23 | m_PrefabInternal: {fileID: 100100000}
24 | m_GameObject: {fileID: 186558}
25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
26 | m_LocalPosition: {x: 0, y: 0, z: 0}
27 | m_LocalScale: {x: 1, y: 1, z: 1}
28 | m_Children: []
29 | m_Father: {fileID: 0}
30 | m_RootOrder: 0
31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
32 | --- !u!114 &11439882
33 | MonoBehaviour:
34 | m_ObjectHideFlags: 1
35 | m_PrefabParentObject: {fileID: 0}
36 | m_PrefabInternal: {fileID: 100100000}
37 | m_GameObject: {fileID: 186558}
38 | m_Enabled: 1
39 | m_EditorHideFlags: 0
40 | m_Script: {fileID: 11500000, guid: bbe5b082a785e7641bf1a62b930a3f5a, type: 3}
41 | m_Name:
42 | m_EditorClassIdentifier:
43 | ChatManagerNetworkObject:
44 | - {fileID: 1000012032569418, guid: b454b1be0b2c3fa4fb48430867af7566, type: 2}
45 | CubeForgeGameNetworkObject: []
46 | ExampleProximityPlayerNetworkObject:
47 | - {fileID: 1000012738253334, guid: feb25ecf90a8d8b4ab922a455249997b, type: 2}
48 | GameManagerNetworkObject:
49 | - {fileID: 1909901469931254, guid: 2d377f70144ac074287c53ff786949db, type: 2}
50 | InputListenerNetworkObject:
51 | - {fileID: 1420436103130830, guid: 3c12fefa12ce8bd4d9f3d990eb94af41, type: 2}
52 | NetworkCameraNetworkObject:
53 | - {fileID: 139536, guid: 661f29f0c0c86fa47b6015bd602d0ac6, type: 2}
54 | PlayerNetworkObject:
55 | - {fileID: 1760598452324474, guid: 6b4acefbb25517e4a8f7b0b694e11548, type: 2}
56 | TestNetworkObject: []
57 | automaticScenes: 1
58 | --- !u!1001 &100100000
59 | Prefab:
60 | m_ObjectHideFlags: 1
61 | serializedVersion: 2
62 | m_Modification:
63 | m_TransformParent: {fileID: 0}
64 | m_Modifications: []
65 | m_RemovedComponents: []
66 | m_ParentPrefab: {fileID: 0}
67 | m_RootGameObject: {fileID: 186558}
68 | m_IsPrefabParent: 1
69 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Prefabs/NetworkManager.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79adc0da5b6caf74990d862696696ecd
3 | timeCreated: 1465144217
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Prefabs/Server Option.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b928ea62faaa41e43ac9457797db9561
3 | timeCreated: 1502863086
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | mainObjectFileID: 100100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ccc3927566e7f4a4cb28046d5bbb6367
3 | folderAsset: yes
4 | timeCreated: 1464149342
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scenes/Lobby.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9db8abf876fc1e344976439c7c81e8ab
3 | timeCreated: 1512730425
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scenes/MultiplayerMenu.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5b9e296c950dcc4d862eeda4ce5052a
3 | timeCreated: 1486024057
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scenes/ServerBrowser.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e25b87e967aec124bba7cd17d4d3a8fc
3 | timeCreated: 1464237966
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf648be06b69ce54cbcaedddf7be8e2b
3 | folderAsset: yes
4 | timeCreated: 1464149519
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/BMSUnityExtensions.cs:
--------------------------------------------------------------------------------
1 | /*-----------------------------+-------------------------------\
2 | | |
3 | | !!!NOTICE!!! |
4 | | |
5 | | These libraries are under heavy development so they are |
6 | | subject to make many changes as development continues. |
7 | | For this reason, the libraries may not be well commented. |
8 | | THANK YOU for supporting forge with all your feedback |
9 | | suggestions, bug reports and comments! |
10 | | |
11 | | - The Forge Team |
12 | | Bearded Man Studios, Inc. |
13 | | |
14 | | This source code, project files, and associated files are |
15 | | copyrighted by Bearded Man Studios, Inc. (2012-2017) and |
16 | | may not be redistributed without written permission. |
17 | | |
18 | \------------------------------+------------------------------*/
19 |
20 | using UnityEngine;
21 |
22 | namespace BeardedManStudios.Forge.Networking.Unity
23 | {
24 | public static class BMSUnityExtensions
25 | {
26 | public static bool UnityNear(this Vector2 target, Vector2 other, float threshold = 0.0012f)
27 | {
28 | return Vector2.Distance(target, other) <= threshold;
29 | }
30 |
31 | public static bool UnityNear(this Vector3 target, Vector3 other, float threshold = 0.0012f)
32 | {
33 | return Vector3.Distance(target, other) <= threshold;
34 | }
35 |
36 | public static bool UnityNear(this Vector4 target, Vector4 other, float threshold = 0.0012f)
37 | {
38 | return Vector4.Distance(target, other) <= threshold;
39 | }
40 |
41 | public static bool UnityNear(this Quaternion target, Quaternion other, float threshold = 0.0012f)
42 | {
43 | return Quaternion.Angle(target, other) <= threshold;
44 | }
45 |
46 | public static bool UnityNear(this T target, T other, float threshold = 0.0012f)
47 | {
48 | return target.Near(other, threshold);
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/BMSUnityExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a2901ec53d09b54b85e05d28d05d4cb
3 | timeCreated: 1480066810
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateQuaternion.cs:
--------------------------------------------------------------------------------
1 | /*-----------------------------+------------------------------\
2 | | |
3 | | !!!NOTICE!!! |
4 | | |
5 | | These libraries are under heavy development so they are |
6 | | subject to make many changes as development continues. |
7 | | For this reason, the libraries may not be well commented. |
8 | | THANK YOU for supporting forge with all your feedback |
9 | | suggestions, bug reports and comments! |
10 | | |
11 | | - The Forge Team |
12 | | Bearded Man Studios, Inc. |
13 | | |
14 | | This source code, project files, and associated files are |
15 | | copyrighted by Bearded Man Studios, Inc. (2012-2015) and |
16 | | may not be redistributed without written permission. |
17 | | |
18 | \------------------------------+-----------------------------*/
19 |
20 |
21 |
22 | using UnityEngine;
23 |
24 | namespace BeardedManStudios.Forge.Networking.Unity
25 | {
26 | public struct InterpolateQuaternion : IInterpolator
27 | {
28 | public Quaternion current;
29 | public Quaternion target;
30 | public float LerpT { get; set; }
31 | public bool Enabled { get; set; }
32 | public ulong Timestep { get; set; }
33 |
34 | public Quaternion Interpolate()
35 | {
36 | if (!Enabled) return target;
37 |
38 | current = Quaternion.Slerp(current, target, LerpT);
39 | return current;
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateQuaternion.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf1671e30325e2342b4960bb37a133e2
3 | timeCreated: 1464310854
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector2.cs:
--------------------------------------------------------------------------------
1 | /*-----------------------------+------------------------------\
2 | | |
3 | | !!!NOTICE!!! |
4 | | |
5 | | These libraries are under heavy development so they are |
6 | | subject to make many changes as development continues. |
7 | | For this reason, the libraries may not be well commented. |
8 | | THANK YOU for supporting forge with all your feedback |
9 | | suggestions, bug reports and comments! |
10 | | |
11 | | - The Forge Team |
12 | | Bearded Man Studios, Inc. |
13 | | |
14 | | This source code, project files, and associated files are |
15 | | copyrighted by Bearded Man Studios, Inc. (2012-2015) and |
16 | | may not be redistributed without written permission. |
17 | | |
18 | \------------------------------+-----------------------------*/
19 |
20 |
21 |
22 | using UnityEngine;
23 |
24 | namespace BeardedManStudios.Forge.Networking.Unity
25 | {
26 | public struct InterpolateVector2 : IInterpolator
27 | {
28 | public Vector2 current;
29 | public Vector2 target;
30 | public float LerpT { get; set; }
31 | public bool Enabled { get; set; }
32 | public ulong Timestep { get; set; }
33 |
34 | public Vector2 Interpolate()
35 | {
36 | if (!Enabled) return target;
37 |
38 | current = Vector2.Lerp(current, target, LerpT);
39 | return current;
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector2.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d8c9a14d13ac8346bdaffd01f8f2d00
3 | timeCreated: 1464310823
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector3.cs:
--------------------------------------------------------------------------------
1 | /*-----------------------------+------------------------------\
2 | | |
3 | | !!!NOTICE!!! |
4 | | |
5 | | These libraries are under heavy development so they are |
6 | | subject to make many changes as development continues. |
7 | | For this reason, the libraries may not be well commented. |
8 | | THANK YOU for supporting forge with all your feedback |
9 | | suggestions, bug reports and comments! |
10 | | |
11 | | - The Forge Team |
12 | | Bearded Man Studios, Inc. |
13 | | |
14 | | This source code, project files, and associated files are |
15 | | copyrighted by Bearded Man Studios, Inc. (2012-2015) and |
16 | | may not be redistributed without written permission. |
17 | | |
18 | \------------------------------+-----------------------------*/
19 |
20 |
21 |
22 | using UnityEngine;
23 |
24 | namespace BeardedManStudios.Forge.Networking.Unity
25 | {
26 | public struct InterpolateVector3 : IInterpolator
27 | {
28 | public Vector3 current;
29 | public Vector3 target;
30 | public float LerpT { get; set; }
31 | public bool Enabled { get; set; }
32 | public ulong Timestep { get; set; }
33 |
34 | public Vector3 Interpolate()
35 | {
36 | if (!Enabled) return target;
37 |
38 | current = Vector3.Lerp(current, target, LerpT);
39 | return current;
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector3.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f4936ae1e447544096aadac407e074d
3 | timeCreated: 1464310831
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector4.cs:
--------------------------------------------------------------------------------
1 | /*-----------------------------+------------------------------\
2 | | |
3 | | !!!NOTICE!!! |
4 | | |
5 | | These libraries are under heavy development so they are |
6 | | subject to make many changes as development continues. |
7 | | For this reason, the libraries may not be well commented. |
8 | | THANK YOU for supporting forge with all your feedback |
9 | | suggestions, bug reports and comments! |
10 | | |
11 | | - The Forge Team |
12 | | Bearded Man Studios, Inc. |
13 | | |
14 | | This source code, project files, and associated files are |
15 | | copyrighted by Bearded Man Studios, Inc. (2012-2015) and |
16 | | may not be redistributed without written permission. |
17 | | |
18 | \------------------------------+-----------------------------*/
19 |
20 |
21 |
22 | using UnityEngine;
23 |
24 | namespace BeardedManStudios.Forge.Networking.Unity
25 | {
26 | public struct InterpolateVector4 : IInterpolator
27 | {
28 | public Vector4 current;
29 | public Vector4 target;
30 | public float LerpT { get; set; }
31 | public bool Enabled { get; set; }
32 | public ulong Timestep { get; set; }
33 |
34 | public Vector4 Interpolate()
35 | {
36 | if (!Enabled) return target;
37 |
38 | current = Vector3.Lerp(current, target, LerpT);
39 | return current;
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/InterpolateVector4.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a7bf1c6f149dbc47b85659968595da8
3 | timeCreated: 1464310847
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Logging.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 59f23152af9a5aa4582f7d664cfaa35b
3 | folderAsset: yes
4 | timeCreated: 1474960290
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Logging/BMSLogger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7bf1e3100934a7842856f079317bde61
3 | timeCreated: 1474960296
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Logging/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48bfa484fc0fa7844b99d700f3256f9d
3 | folderAsset: yes
4 | timeCreated: 1477166664
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Logging/Resources/BMSLogger.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1778277312314912}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1778277312314912
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4566567485005264}
22 | - component: {fileID: 114851552649247608}
23 | m_Layer: 0
24 | m_Name: BMSLogger
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!4 &4566567485005264
31 | Transform:
32 | m_ObjectHideFlags: 1
33 | m_PrefabParentObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 100100000}
35 | m_GameObject: {fileID: 1778277312314912}
36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
37 | m_LocalPosition: {x: 0, y: 0, z: 0}
38 | m_LocalScale: {x: 1, y: 1, z: 1}
39 | m_Children: []
40 | m_Father: {fileID: 0}
41 | m_RootOrder: 0
42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
43 | --- !u!114 &114851552649247608
44 | MonoBehaviour:
45 | m_ObjectHideFlags: 1
46 | m_PrefabParentObject: {fileID: 0}
47 | m_PrefabInternal: {fileID: 100100000}
48 | m_GameObject: {fileID: 1778277312314912}
49 | m_Enabled: 1
50 | m_EditorHideFlags: 0
51 | m_Script: {fileID: 11500000, guid: 7bf1e3100934a7842856f079317bde61, type: 3}
52 | m_Name:
53 | m_EditorClassIdentifier:
54 | LoggerVisible: 1
55 | LogToFile: 0
56 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Logging/Resources/BMSLogger.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1827477e21c0c9142a70ca039d149ca4
3 | timeCreated: 1502860277
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | mainObjectFileID: 100100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/MainThreadManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e408d7919f6e7a4428aa3c5bee95fe0a
3 | timeCreated: 1463976669
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Multiplayer Menu.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a44fcf70f4f6e0c4b9ed6e52e02d05cc
3 | folderAsset: yes
4 | timeCreated: 1463981710
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Multiplayer Menu/MultiplayerMenu.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a12681ffb6b62f7408139a85cc6e5bc5
3 | timeCreated: 1463981716
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkBehavior.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace BeardedManStudios.Forge.Networking.Unity
6 | {
7 | public abstract class NetworkBehavior : MonoBehaviour, INetworkBehavior
8 | {
9 | public const byte RPC_SETUP_TRANSFORM = 4;
10 |
11 | public delegate void NetworkBehaviorEvent(NetworkBehavior behavior);
12 |
13 | public static Dictionary skipAttachIds = new Dictionary();
14 |
15 | public int TempAttachCode { get; set; }
16 | public bool Initialized { get; private set; }
17 |
18 | private NetworkObject waitingForNetworkObject;
19 | private uint waitingForNetworkObjectOffset;
20 |
21 | public event NetworkBehaviorEvent networkStarted;
22 |
23 | protected virtual void NetworkStart()
24 | {
25 | CompleteRegistration();
26 |
27 | if (networkStarted != null)
28 | networkStarted(this);
29 | }
30 |
31 | protected virtual void CompleteRegistration() { }
32 |
33 | public abstract void Initialize(NetworkObject obj);
34 | public abstract void Initialize(NetWorker networker, byte[] metadata = null);
35 |
36 | public void AwaitNetworkBind(NetWorker networker, NetworkObject createTarget, uint idOffset)
37 | {
38 | waitingForNetworkObject = createTarget;
39 | waitingForNetworkObjectOffset = idOffset;
40 |
41 | networker.objectCreated += NetworkBind;
42 |
43 | if (createTarget.NetworkId == 0)
44 | return;
45 |
46 | NetworkObject target;
47 | if (networker.NetworkObjects.TryGetValue(createTarget.NetworkId + idOffset, out target))
48 | NetworkBind(target);
49 | }
50 |
51 | private void NetworkBind(NetworkObject obj)
52 | {
53 | // This is always the network manager and should be ignored on late bindings
54 | if (obj.NetworkId == 0)
55 | return;
56 |
57 | if (obj.NetworkId != waitingForNetworkObject.NetworkId + waitingForNetworkObjectOffset && obj.CreateCode != TempAttachCode)
58 | return;
59 |
60 | Initialize(obj);
61 | skipAttachIds.Remove(obj.NetworkId);
62 |
63 | obj.Networker.objectCreated -= NetworkBind;
64 | }
65 |
66 | protected void SetupHelperRpcs(NetworkObject networkObject)
67 | {
68 | networkObject.RegisterRpc("SetupTransform", SetupTransform, typeof(Vector3), typeof(Quaternion));
69 | Initialized = true;
70 | }
71 |
72 | public abstract NetworkObject CreateNetworkObject(NetWorker networker, int createCode, byte[] metadata = null);
73 |
74 | private void SetupTransform(RpcArgs args)
75 | {
76 | Action execute = () =>
77 | {
78 | transform.position = args.GetNext();
79 | transform.rotation = args.GetNext();
80 | InitializedTransform();
81 | };
82 |
83 | if (Rpc.MainThreadRunner != null)
84 | execute();
85 | else
86 | MainThreadManager.Run(execute);
87 | }
88 |
89 | protected abstract void InitializedTransform();
90 |
91 | protected void ProcessOthers(Transform obj, uint idOffset)
92 | {
93 | int i;
94 |
95 | var components = obj.GetComponents();
96 |
97 | // Create each network object that is available
98 | for (i = 0; i < components.Length; i++)
99 | {
100 | if (components[i] == this)
101 | continue;
102 |
103 | skipAttachIds.Add(idOffset++, components[i]);
104 | }
105 |
106 | for (i = 0; i < obj.childCount; i++)
107 | ProcessOthers(obj.GetChild(i), idOffset);
108 | }
109 | }
110 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkBehavior.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2610ba1f90ce15248aaa203f3e308b81
3 | timeCreated: 1465147032
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbe5b082a785e7641bf1a62b930a3f5a
3 | timeCreated: 1463976608
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkObjectFactory.cs:
--------------------------------------------------------------------------------
1 | using BeardedManStudios.Forge.Networking.Frame;
2 |
3 | namespace BeardedManStudios.Forge.Networking.Generated
4 | {
5 | public partial class NetworkObjectFactory
6 | {
7 | private bool ValidateCreateRequest(NetWorker networker, int identity, uint id, FrameStream frame)
8 | {
9 | // TODO: Write custom code to validate client object create requests
10 | return true;
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkObjectFactory.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1ab2513482442943baced150114de31
3 | timeCreated: 1483573838
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkObjectFactoryBase.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using BeardedManStudios.Forge.Networking.Frame;
4 | using System;
5 |
6 | namespace BeardedManStudios.Forge.Networking
7 | {
8 | public class NetworkObjectFactoryBase : INetworkObjectFactory
9 | {
10 | public virtual void NetworkCreateObject(NetWorker networker, int identity, uint id, FrameStream frame, Action callback)
11 | {
12 | //This is the final creation check before failing completely
13 | NetworkObject obj = null;
14 |
15 | switch (identity)
16 | {
17 | case Lobby.LobbyService.LobbyServiceNetworkObject.IDENTITY:
18 | obj = new Lobby.LobbyService.LobbyServiceNetworkObject(networker, id, frame);
19 | break;
20 | }
21 |
22 | if (callback != null)
23 | callback(obj);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/NetworkObjectFactoryBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90f8b807781bc384ca17aee42b51824d
3 | timeCreated: 1489222157
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Server Browser.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f06f68fc665e2c24d93fda38fc515c55
3 | folderAsset: yes
4 | timeCreated: 1464238180
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Server Browser/ServerBrowser.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a93ace8436dda2f46ba0a3e6bc0a3ed0
3 | timeCreated: 1464238214
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Server Browser/ServerBrowserItem.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 |
4 | using UnityEngine;
5 | using UnityEngine.UI;
6 | using UnityEngine.Events;
7 |
8 | namespace BeardedManStudios.Forge.Networking.Unity
9 | {
10 | public class ServerBrowserItem : MonoBehaviour
11 | {
12 | public Text NameText;
13 | public Button ConnectButton;
14 |
15 | public void SetData(string name, UnityAction callback)
16 | {
17 | NameText.text = name;
18 | ConnectButton.onClick.AddListener(callback);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/Server Browser/ServerBrowserItem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b0a33e8ddb6f69242a11dec373c77b28
3 | timeCreated: 1502253269
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Bearded Man Studios Inc/Scripts/UnityObjectMapper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4cabd7ca933031a4687b23492ffc5192
3 | timeCreated: 1464305804
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 813f6b9150c8ffc409269dd9e9f3f00f
3 | folderAsset: yes
4 | timeCreated: 1531424273
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6dc283de48c4b444caacb8246763f139
3 | folderAsset: yes
4 | timeCreated: 1531424273
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f95a1e1239c3e4949843d4c102644038
3 | folderAsset: yes
4 | timeCreated: 1531424273
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains/JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ebb48e814494d741b49feb4687e86aa
3 | timeCreated: 1531424288
4 | licenseType: Free
5 | PluginImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | iconMap: {}
9 | executionOrder: {}
10 | isPreloaded: 0
11 | isOverridable: 0
12 | platformData:
13 | - first:
14 | Any:
15 | second:
16 | enabled: 0
17 | settings: {}
18 | - first:
19 | Editor: Editor
20 | second:
21 | enabled: 1
22 | settings:
23 | DefaultValueInitialized: true
24 | - first:
25 | Windows Store Apps: WindowsStoreApps
26 | second:
27 | enabled: 0
28 | settings:
29 | CPU: AnyCPU
30 | userData:
31 | assetBundleName:
32 | assetBundleVariant:
33 |
--------------------------------------------------------------------------------
/AssetsLogs/bmslog.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Relic/AuthoritativeMovementExample/e4922771b2a7448710c724e136e0c4410082acf1/AssetsLogs/bmslog.txt
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Trevor J.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/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 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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: 3
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_EnablePCM: 1
18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
19 | m_AutoSimulation: 1
20 | m_AutoSyncTransforms: 1
21 |
--------------------------------------------------------------------------------
/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/Bearded Man Studios Inc/Scenes/MultiplayerMenu.unity
10 | guid: a5b9e296c950dcc4d862eeda4ce5052a
11 | - enabled: 1
12 | path: Assets/AuthoritativeMovementExample/scene/AuthoritativeMovementExample.unity
13 | guid: 8f7cfb602031be34c920b35dbfad5b58
14 |
--------------------------------------------------------------------------------
/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: 5
7 | m_ExternalVersionControlSupport: Hidden Meta Files
8 | m_SerializationMode: 2
9 | m_DefaultBehaviorMode: 1
10 | m_SpritePackerMode: 4
11 | m_SpritePackerPaddingPower: 1
12 | m_EtcTextureCompressorBehavior: 1
13 | m_EtcTextureFastCompressor: 1
14 | m_EtcTextureNormalCompressor: 2
15 | m_EtcTextureBestCompressor: 4
16 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
17 | m_ProjectGenerationRootNamespace:
18 | m_UserGeneratedProjectSuffix:
19 | m_CollabEditorSettings:
20 | inProgressEnabled: 1
21 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
39 | m_PreloadedShaders: []
40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
41 | type: 0}
42 | m_CustomRenderPipeline: {fileID: 0}
43 | m_TransparencySortMode: 0
44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
45 | m_DefaultRenderingPath: 1
46 | m_DefaultMobileRenderingPath: 1
47 | m_TierSettings: []
48 | m_LightmapStripping: 0
49 | m_FogStripping: 0
50 | m_InstancingStripping: 0
51 | m_LightmapKeepPlain: 1
52 | m_LightmapKeepDirCombined: 1
53 | m_LightmapKeepDynamicPlain: 1
54 | m_LightmapKeepDynamicDirCombined: 1
55 | m_LightmapKeepShadowMask: 1
56 | m_LightmapKeepSubtractive: 1
57 | m_FogKeepLinear: 1
58 | m_FogKeepExp: 1
59 | m_FogKeepExp2: 1
60 | m_AlbedoSwatchInfos: []
61 | m_LightsUseLinearIntensity: 0
62 | m_LightsUseColorTemperature: 0
63 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/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: 3
7 | m_Gravity: {x: 0, y: 0}
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_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 0
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2017.2.5f1
2 |
--------------------------------------------------------------------------------
/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 | -
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 |
--------------------------------------------------------------------------------
/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.01666667
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/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 | m_Enabled: 1
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate
14 | m_Enabled: 0
15 | m_CaptureEditorExceptions: 1
16 | UnityPurchasingSettings:
17 | m_Enabled: 0
18 | m_TestMode: 0
19 | UnityAnalyticsSettings:
20 | m_Enabled: 0
21 | m_InitializeOnStartup: 1
22 | m_TestMode: 0
23 | m_TestEventUrl:
24 | m_TestConfigUrl:
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 |
--------------------------------------------------------------------------------
/UnityPackageManager/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | }
4 | }
5 |
--------------------------------------------------------------------------------