diff --git a/Assets/GameManager.prefab b/Assets/GameManager.prefab new file mode 100644 index 0000000..4727978 --- /dev/null +++ b/Assets/GameManager.prefab @@ -0,0 +1,116 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3422988367618467032 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3422988367618467043} + - component: {fileID: 3422988367618467039} + - component: {fileID: 3422988367618467036} + - component: {fileID: 3422988367618467037} + - component: {fileID: 3422988367618467038} + m_Layer: 0 + m_Name: GameManager + m_TagString: GameController + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3422988367618467043 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3422988367618467032} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3422988367618467039 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3422988367618467032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26ee7b094ee25bf49aaf5ffba35f8cf6, type: 3} + m_Name: + m_EditorClassIdentifier: + Players: [] + localPlayer: {fileID: 0} +--- !u!114 &3422988367618467036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3422988367618467032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58bd0a0557e21bf4e8ea0e0cd4e9d057, type: 3} + m_Name: + m_EditorClassIdentifier: + dontDestroyOnLoad: 1 + PersistNetworkManagerToOfflineScene: 0 + runInBackground: 1 + autoStartServerBuild: 1 + serverTickRate: 30 + offlineScene: Assets/Scenes/TestOfflineScene.unity + onlineScene: Assets/Scenes/TestScene.unity + transport: {fileID: 3422988367618467037} + networkAddress: localhost + maxConnections: 100 + authenticator: {fileID: 0} + playerPrefab: {fileID: 6272346181302961293, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} + autoCreatePlayer: 1 + playerSpawnMethod: 0 + spawnPrefabs: [] +--- !u!114 &3422988367618467037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3422988367618467032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} + m_Name: + m_EditorClassIdentifier: + Port: 7777 + DualMode: 1 + NoDelay: 1 + Interval: 10 + Timeout: 10000 + FastResend: 2 + CongestionWindow: 0 + SendWindowSize: 4096 + ReceiveWindowSize: 4096 + NonAlloc: 1 + debugLog: 1 + statisticsGUI: 1 + statisticsLog: 0 +--- !u!114 &3422988367618467038 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3422988367618467032} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6442dc8070ceb41f094e44de0bf87274, type: 3} + m_Name: + m_EditorClassIdentifier: + offsetX: 0 + offsetY: 0 diff --git a/Assets/GameManager.prefab.meta b/Assets/GameManager.prefab.meta new file mode 100644 index 0000000..d6fd211 --- /dev/null +++ b/Assets/GameManager.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 67e17f044d3a54a458b4f2d76ed9e442 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/TestOfflineScene.unity b/Assets/Scenes/TestOfflineScene.unity index 8a1f1c6..a3baf8b 100644 --- a/Assets/Scenes/TestOfflineScene.unity +++ b/Assets/Scenes/TestOfflineScene.unity @@ -915,6 +915,7 @@ MonoBehaviour: m_EditorClassIdentifier: inputIp: {fileID: 1921366629} inputUsername: {fileID: 1139664930} + localPlayer: {fileID: 0} --- !u!1 &977378652 GameObject: m_ObjectHideFlags: 0 @@ -2028,3 +2029,64 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1921366627} m_CullTransparentMesh: 1 +--- !u!1001 &3422988367319810179 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4742972085864279645, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: sceneId + value: 4166410280 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467032, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_Name + value: GameManager + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity index 2f1bd86..33daa85 100644 --- a/Assets/Scenes/TestScene.unity +++ b/Assets/Scenes/TestScene.unity @@ -333,6 +333,67 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 2534964839176971238, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} +--- !u!1001 &556080222 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -4742972085864279645, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: sceneId + value: 668563316 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467032, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_Name + value: GameManager + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3422988367618467043, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 67e17f044d3a54a458b4f2d76ed9e442, type: 3} --- !u!1 &589432432 stripped GameObject: m_CorrespondingSourceObject: {fileID: -6763858364670572316, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} @@ -462,7 +523,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1001 &739500445 PrefabInstance: @@ -473,7 +534,7 @@ PrefabInstance: m_Modifications: - target: {fileID: -8679921383154817045, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} propertyPath: m_RootOrder - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} propertyPath: m_LocalPosition.x @@ -683,120 +744,6 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: -3329902420748629119, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} ---- !u!1 &1067101116 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1067101117} - - component: {fileID: 1067101119} - - component: {fileID: 1067101118} - - component: {fileID: 1067101120} - - component: {fileID: 1067101121} - m_Layer: 0 - m_Name: GameManager - m_TagString: GameController - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1067101117 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1067101116} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1067101118 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1067101116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} - m_Name: - m_EditorClassIdentifier: - Port: 7777 - DualMode: 1 - NoDelay: 1 - Interval: 10 - Timeout: 10000 - FastResend: 2 - CongestionWindow: 0 - SendWindowSize: 4096 - ReceiveWindowSize: 4096 - NonAlloc: 1 - debugLog: 0 - statisticsGUI: 0 - statisticsLog: 0 ---- !u!114 &1067101119 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1067101116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8aab4c8111b7c411b9b92cf3dbc5bd4e, type: 3} - m_Name: - m_EditorClassIdentifier: - dontDestroyOnLoad: 1 - PersistNetworkManagerToOfflineScene: 0 - runInBackground: 1 - autoStartServerBuild: 1 - serverTickRate: 30 - offlineScene: Assets/Scenes/TestScene.unity - onlineScene: Assets/Scenes/TestScene.unity - transport: {fileID: 1067101118} - networkAddress: localhost - maxConnections: 100 - authenticator: {fileID: 0} - playerPrefab: {fileID: 6272346181302961293, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} - autoCreatePlayer: 1 - playerSpawnMethod: 0 - spawnPrefabs: - - {fileID: 0} ---- !u!114 &1067101120 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1067101116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6442dc8070ceb41f094e44de0bf87274, type: 3} - m_Name: - m_EditorClassIdentifier: - offsetX: 0 - offsetY: 0 ---- !u!114 &1067101121 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1067101116} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 26ee7b094ee25bf49aaf5ffba35f8cf6, type: 3} - m_Name: - m_EditorClassIdentifier: - Players: [] --- !u!1 &1111479331 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2550463727306718371, guid: 823e8b39d52b71b4eb5a91dbc8d6d59e, type: 3} @@ -880,7 +827,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &1362549044 stripped Transform: @@ -1038,7 +985,7 @@ Transform: m_LocalScale: {x: 4.6584, y: 1, z: 14.388176} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &4636852677990031179 PrefabInstance: @@ -1057,7 +1004,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4636852677861728898, guid: e4f2c82228df5bc4f8fc674e98c7275b, type: 3} propertyPath: m_RootOrder - value: 3 + value: 2 objectReference: {fileID: 0} - target: {fileID: 4636852677861728898, guid: e4f2c82228df5bc4f8fc674e98c7275b, type: 3} propertyPath: m_AnchorMax.x diff --git a/Assets/Scripts/GameManager/GameMaster.cs b/Assets/Scripts/GameManager/GameMaster.cs index ea3488a..ca36bc5 100644 --- a/Assets/Scripts/GameManager/GameMaster.cs +++ b/Assets/Scripts/GameManager/GameMaster.cs @@ -1,7 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; - +using Mirror; // Erstellung von Teams @@ -12,10 +12,10 @@ using UnityEngine; public class GameMaster : MonoBehaviour { [Header("GameMaster")] - [SerializeField] private List Players = new List(); + [SerializeField] private List Players = new List(); + public GameObject localPlayer; private void Start() { - } private void Update() @@ -33,4 +33,8 @@ public class GameMaster : MonoBehaviour Cursor.visible = false; } } + + + + } diff --git a/Assets/Scripts/GameManager/Manager.cs b/Assets/Scripts/GameManager/Manager.cs new file mode 100644 index 0000000..220022a --- /dev/null +++ b/Assets/Scripts/GameManager/Manager.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Mirror; + +public class Manager : NetworkManager +{ + public override void OnClientConnect(NetworkConnection conn) + { + base.OnClientConnect(conn); + //Debug.Log(conn.identity.gameObject.GetComponent().username); + + //conn.identity.gameObject.GetComponent().username = "Test"; + } +} diff --git a/Assets/Scripts/GameManager/Manager.cs.meta b/Assets/Scripts/GameManager/Manager.cs.meta new file mode 100644 index 0000000..825d026 --- /dev/null +++ b/Assets/Scripts/GameManager/Manager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 58bd0a0557e21bf4e8ea0e0cd4e9d057 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/PlayerController.cs b/Assets/Scripts/Player/PlayerController.cs index 9ac1965..47188ec 100644 --- a/Assets/Scripts/Player/PlayerController.cs +++ b/Assets/Scripts/Player/PlayerController.cs @@ -11,6 +11,8 @@ public class PlayerController : NetworkBehaviour [Header("Movement")] [SerializeField] private float walkSpeed = 6.0f; + [SerializeField] private float sprintSpeed = 10.0f; + [SerializeField][Range(0.0f, 0.5f)] private float moveSmoothTime = 0.001f; [SerializeField] float gravity = -10.0f; [SerializeField] private float jumpHeight; @@ -26,6 +28,7 @@ public class PlayerController : NetworkBehaviour [SerializeField] private float moveGroundAngle; public bool isGrounded; + private float movementSpeed; private float velocityY = 0.0f; private CharacterController controller; @@ -84,6 +87,18 @@ public class PlayerController : NetworkBehaviour Debug.Log(moveGroundAngle); } } + private void Sprint() + { + if (Input.GetAxisRaw("Sprint") > 0 && isGrounded) + { + //Debug.Log("Sprint"); + movementSpeed = sprintSpeed; + } + else + { + movementSpeed = walkSpeed; + } + } private void OnDrawGizmos() { Gizmos.color = Color.red; @@ -92,6 +107,8 @@ public class PlayerController : NetworkBehaviour private void UpdateMovement() { + + //Grounded velocityY += gravity * Time.deltaTime; if (isGrounded && velocityY < 0) @@ -118,7 +135,7 @@ public class PlayerController : NetworkBehaviour } currentDir = currentDir + new Vector3(0, velocityY, 0); - velocity = currentDir * walkSpeed; + velocity = currentDir * movementSpeed; controller.Move(velocity * Time.deltaTime); diff --git a/Assets/Scripts/SaveData.cs b/Assets/Scripts/SaveData.cs new file mode 100644 index 0000000..05e6663 --- /dev/null +++ b/Assets/Scripts/SaveData.cs @@ -0,0 +1,29 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class SaveData : MonoBehaviour +{ + [SerializeField] PlayerData _PlayerData = new PlayerData(); + + private void Start() + { + gameObject.GetComponent