diff --git a/Assets/3Skyboxes.meta b/Assets/3Skyboxes.meta new file mode 100644 index 0000000..8e2fbeb --- /dev/null +++ b/Assets/3Skyboxes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 13b900b64fecd124d8fef410ed84ed19 +folderAsset: yes +timeCreated: 1485833281 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CameraFollow360.cs.meta b/Assets/CameraFollow360.cs.meta new file mode 100644 index 0000000..9570496 --- /dev/null +++ b/Assets/CameraFollow360.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41a624d53287243b094b85e85a7079b7 +timeCreated: 1484611213 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Game2.old.unity b/Assets/Game2.old.unity new file mode 100644 index 0000000..f0f8f76 Binary files /dev/null and b/Assets/Game2.old.unity differ diff --git a/Assets/Game2.old.unity.meta b/Assets/Game2.old.unity.meta new file mode 100644 index 0000000..8340b24 --- /dev/null +++ b/Assets/Game2.old.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de72957e247f5fa4690bcfd6ca328f38 +timeCreated: 1486772599 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Game3.old.unity b/Assets/Game3.old.unity new file mode 100644 index 0000000..a640e03 Binary files /dev/null and b/Assets/Game3.old.unity differ diff --git a/Assets/Game3.old.unity.meta b/Assets/Game3.old.unity.meta new file mode 100644 index 0000000..358f9a1 --- /dev/null +++ b/Assets/Game3.old.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 030d070c08b54b7498dc6be032ad7034 +timeCreated: 1486772775 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror.meta b/Assets/Mirror.meta new file mode 100644 index 0000000..a7a3dd0 --- /dev/null +++ b/Assets/Mirror.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cf8eb36be0834b3da408c694a41cb88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MyPlayerController.cs b/Assets/MyPlayerController.cs new file mode 100644 index 0000000..0d8700a --- /dev/null +++ b/Assets/MyPlayerController.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using System.Collections; +using Mirror; +using UnityEngine; +using System.Collections; + +public class MyPlayerController : NetworkBehaviour { + + Rigidbody rb; + float speed = 25.0F; + float rotationSpeed = 50.0F; + + void Start(){ + rb = this.GetComponent(); + } + + // Update is called once per frame + void Update () { + if (!isLocalPlayer) return; + + float translation = Input.GetAxis("Vertical") * speed; + float rotation = Input.GetAxis("Horizontal") * rotationSpeed; + translation *= Time.deltaTime; + rotation *= Time.deltaTime; + Quaternion turn = Quaternion.Euler(0f,rotation,0f); + rb.MovePosition(rb.position + this.transform.forward * translation); + rb.MoveRotation(rb.rotation * turn); + } +} diff --git a/Assets/MyPlayerController.cs.meta b/Assets/MyPlayerController.cs.meta new file mode 100644 index 0000000..637bda7 --- /dev/null +++ b/Assets/MyPlayerController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bfc6d2972d22345aba4fb5df959c1837 +timeCreated: 1478054147 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MyPlayerTracker.cs b/Assets/MyPlayerTracker.cs new file mode 100644 index 0000000..c12cc3a --- /dev/null +++ b/Assets/MyPlayerTracker.cs @@ -0,0 +1,86 @@ +using UnityEngine; +using UnityEngine.UI; + +public class MyPlayerTracker : MonoBehaviour +{ + public RawImage OnScreenSprite; + public Canvas screenCanvas; + public Text debugText; + public static GameObject trackingObject; + public float xoffset; + public float yoffset; + + public static void SetTrackingObject(GameObject track) + { + trackingObject = track; + } + + void Start() + { + GetComponent().worldCamera = Camera.main; + OnScreenSprite.enabled = false; + debugText.enabled = false; + } + + void Update() + { + if (trackingObject != null) + { + Vector3 screenMiddle = new Vector3(Screen.width / 2, Screen.height / 2, 0); + + Vector3 screenpos = Camera.main.WorldToScreenPoint(trackingObject.transform.position); + + float tarAngle = (Mathf.Atan2(screenpos.x - screenMiddle.x, Screen.height - screenpos.y - screenMiddle.y) * Mathf.Rad2Deg) + 90; + if (tarAngle < 0) + { + tarAngle += 360; + } + + //debugText.text = Mathf.RoundToInt(tarAngle).ToString() + " " + Mathf.RoundToInt(screenpos.x).ToString() + " " + Mathf.RoundToInt(screenpos.y).ToString() + " " + Mathf.RoundToInt(screenpos.z).ToString(); + debugText.text = ""; + + if (/*(screenpos.x > Screen.width) || (screenpos.y > Screen.height) || (screenpos.y < 0) || (screenpos.x < 0) || */ (screenpos.z < 0)) + { + OnScreenSprite.enabled = true; + + OnScreenSprite.material.SetFloat("_Alpha", 0.5f); + } + else + { + OnScreenSprite.enabled = false; + } + + if (screenpos.z < 0) + { + screenpos = new Vector3(Screen.width / 2, Screen.height / 2, screenpos.z); + tarAngle = tarAngle - 180; + } + + if (screenpos.x > Screen.width - Screen.width * xoffset) + { + screenpos.x = Screen.width - Screen.width * xoffset; + } + else if (screenpos.x < Screen.width * xoffset) + { + screenpos.x = Screen.width * xoffset; + } + if (screenpos.y > Screen.height - Screen.height * yoffset) + { + screenpos.y = Screen.height - Screen.height * yoffset; + } + else if (screenpos.y < Screen.height * yoffset) + { + screenpos.y = Screen.height * yoffset; + } + + RectTransformUtility.ScreenPointToWorldPointInRectangle(screenCanvas.GetComponent(), screenpos, Camera.main, out screenpos); + + OnScreenSprite.rectTransform.position = screenpos; + OnScreenSprite.transform.rotation = Camera.main.transform.rotation * Quaternion.Euler(0, 0, tarAngle); + } + else + { + OnScreenSprite.enabled = false; + } + } +} \ No newline at end of file diff --git a/Assets/MyPlayerTracker.cs.meta b/Assets/MyPlayerTracker.cs.meta new file mode 100644 index 0000000..07ff4ea --- /dev/null +++ b/Assets/MyPlayerTracker.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e06a25b26be1d2245b6a8896526391d9 +timeCreated: 1487641421 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/NetworkDetails.cs b/Assets/NetworkDetails.cs new file mode 100644 index 0000000..2c0f8c2 --- /dev/null +++ b/Assets/NetworkDetails.cs @@ -0,0 +1,17 @@ +using Mirror; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Networking; + +public class NetworkDetails : NetworkBehaviour { + + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void Update () { + } +} diff --git a/Assets/NetworkDetails.cs.meta b/Assets/NetworkDetails.cs.meta new file mode 100644 index 0000000..aa8af25 --- /dev/null +++ b/Assets/NetworkDetails.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cc2e02ff703c3438c92659f30fc7f35d +timeCreated: 1503363608 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/NetworkDiscoveryHUDAutoConnect.cs b/Assets/NetworkDiscoveryHUDAutoConnect.cs new file mode 100644 index 0000000..43ba3a2 --- /dev/null +++ b/Assets/NetworkDiscoveryHUDAutoConnect.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror.Discovery +{ + [DisallowMultipleComponent] + [AddComponentMenu("Network/NetworkDiscoveryHUDAutoConnect")] + [HelpURL("https://mirror-networking.com/docs/Components/NetworkDiscovery.html")] + [RequireComponent(typeof(NetworkDiscovery))] + public class NetworkDiscoveryHUDAutoConnect : MonoBehaviour + { + readonly Dictionary discoveredServers = new Dictionary(); + Vector2 scrollViewPos = Vector2.zero; + + public NetworkDiscovery networkDiscovery; + + void tryConnect() + { + // try all found servers + foreach (ServerResponse info in discoveredServers.Values) + { + if (!NetworkClient.isConnected && !NetworkServer.active && !NetworkClient.active) + { + Connect(info); + } + } + + // no server connected try hosting instead + if (!NetworkClient.isConnected && !NetworkServer.active && !NetworkClient.active) + { + discoveredServers.Clear(); + NetworkManager.singleton.StartHost(); + networkDiscovery.AdvertiseServer(); + } + } + + void Start() + { + discoveredServers.Clear(); + networkDiscovery.StartDiscovery(); + // wait 5 seconds before trying to connect so we find any servers out there already + Invoke("tryConnect", 5); + } + +#if UNITY_EDITOR + void OnValidate() + { + if (networkDiscovery == null) + { + networkDiscovery = GetComponent(); + UnityEditor.Events.UnityEventTools.AddPersistentListener(networkDiscovery.OnServerFound, OnDiscoveredServer); + UnityEditor.Undo.RecordObjects(new UnityEngine.Object[] { this, networkDiscovery }, "Set NetworkDiscovery"); + } + } +#endif + + void OnGUI() + { + if (NetworkManager.singleton == null) + return; + + if (NetworkServer.active || NetworkClient.active) + return; + + if (!NetworkClient.isConnected && !NetworkServer.active && !NetworkClient.active) + DrawGUI(); + } + + void DrawGUI() + { + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Find Servers")) + { + discoveredServers.Clear(); + networkDiscovery.StartDiscovery(); + } + + // LAN Host + if (GUILayout.Button("Start Host")) + { + discoveredServers.Clear(); + NetworkManager.singleton.StartHost(); + networkDiscovery.AdvertiseServer(); + } + + // Dedicated server + if (GUILayout.Button("Start Server")) + { + discoveredServers.Clear(); + NetworkManager.singleton.StartServer(); + + networkDiscovery.AdvertiseServer(); + } + + GUILayout.EndHorizontal(); + + // show list of found server + + GUILayout.Label($"Discovered Servers [{discoveredServers.Count}]:"); + + // servers + scrollViewPos = GUILayout.BeginScrollView(scrollViewPos); + + foreach (ServerResponse info in discoveredServers.Values) + if (GUILayout.Button(info.EndPoint.Address.ToString())) + Connect(info); + + GUILayout.EndScrollView(); + } + + void Connect(ServerResponse info) + { + NetworkManager.singleton.StartClient(info.uri); + } + + public void OnDiscoveredServer(ServerResponse info) + { + // Note that you can check the versioning to decide if you can connect to the server or not using this method + discoveredServers[info.serverId] = info; + } + } +} diff --git a/Assets/NetworkDiscoveryHUDAutoConnect.cs.meta b/Assets/NetworkDiscoveryHUDAutoConnect.cs.meta new file mode 100644 index 0000000..f3bc4b1 --- /dev/null +++ b/Assets/NetworkDiscoveryHUDAutoConnect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a62d6923716426b449e700e6bb02d472 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/NetworkManagerRocket.cs b/Assets/NetworkManagerRocket.cs new file mode 100644 index 0000000..53f074f --- /dev/null +++ b/Assets/NetworkManagerRocket.cs @@ -0,0 +1,37 @@ +using Mirror; +using UnityEngine; + +// Custom NetworkManager that simply assigns the correct racket positions when +// spawning players. The built in RoundRobin spawn method wouldn't work after +// someone reconnects (both players would be on the same side). +[AddComponentMenu("")] +public class NetworkManagerRocket : NetworkManager +{ + GameObject RockField1; + GameObject RockField2; + + private void OnLevelWasLoaded(int level) + { + RockField1 = Instantiate(spawnPrefabs.Find(prefab => prefab.name == "RockField1")); + RockField2 = Instantiate(spawnPrefabs.Find(prefab => prefab.name == "RockField2")); + NetworkServer.Spawn(RockField1); + NetworkServer.Spawn(RockField2); + } + + public override void OnStartHost() + { + RockField1 = Instantiate(spawnPrefabs.Find(prefab => prefab.name == "RockField1")); + RockField2 = Instantiate(spawnPrefabs.Find(prefab => prefab.name == "RockField2")); + NetworkServer.Spawn(RockField1); + NetworkServer.Spawn(RockField2); + } + + public override void OnStopHost() + { + // destroy Rockfield + if (RockField1 != null) + NetworkServer.Destroy(RockField1); + if (RockField2 != null) + NetworkServer.Destroy(RockField2); + } +} \ No newline at end of file diff --git a/Assets/NetworkManagerRocket.cs.meta b/Assets/NetworkManagerRocket.cs.meta new file mode 100644 index 0000000..e5c16c1 --- /dev/null +++ b/Assets/NetworkManagerRocket.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 33ad01eef3432f14aa652ce6974fc84c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus.meta b/Assets/Oculus.meta new file mode 100644 index 0000000..32e8eee --- /dev/null +++ b/Assets/Oculus.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5551144db987df241803e7898925d1e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta new file mode 100644 index 0000000..121f313 --- /dev/null +++ b/Assets/Plugins/Android.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e70f602274907ef44ac89bb47c8f981c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9e24bc --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Plugins/Android/AndroidManifest.xml.meta b/Assets/Plugins/Android/AndroidManifest.xml.meta new file mode 100644 index 0000000..c44fe71 --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ee48e6ad64c49274f94b03c27c9fb632 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VolumetricLines.meta b/Assets/VolumetricLines.meta new file mode 100644 index 0000000..a896e51 --- /dev/null +++ b/Assets/VolumetricLines.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 865e2634392d0314a8a82bc0f2473afe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XR.meta b/Assets/XR.meta new file mode 100644 index 0000000..00f6535 --- /dev/null +++ b/Assets/XR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd9c560ff8fb104468ca52abdb7a2af8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..90cd53f --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,42 @@ +{ + "dependencies": { + "com.unity.ide.visualstudio": "2.0.14", + "com.unity.inputsystem": "1.2.0", + "com.unity.test-framework": "1.1.30", + "com.unity.textmeshpro": "2.1.6", + "com.unity.ugui": "1.0.0", + "com.unity.xr.management": "4.2.1", + "com.unity.xr.oculus": "1.11.2", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..03b0faf Binary files /dev/null and b/ProjectSettings/PresetManager.asset differ diff --git a/ProjectSettings/TimelineSettings.asset b/ProjectSettings/TimelineSettings.asset new file mode 100644 index 0000000..b4fbdb0 --- /dev/null +++ b/ProjectSettings/TimelineSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} + m_Name: + m_EditorClassIdentifier: + assetDefaultFramerate: 60 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..d92224d Binary files /dev/null and b/ProjectSettings/VFXManager.asset differ diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..8f71c73 Binary files /dev/null and b/ProjectSettings/VersionControlSettings.asset differ diff --git a/ProjectSettings/XRPackageSettings.asset b/ProjectSettings/XRPackageSettings.asset new file mode 100644 index 0000000..e6eb497 --- /dev/null +++ b/ProjectSettings/XRPackageSettings.asset @@ -0,0 +1,6 @@ +{ + "m_Settings": [ + "RemoveLegacyInputHelpersForReload", + "ShouldQueryLegacyPackageRemoval" + ] +} \ No newline at end of file diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..4a120fa --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "True", + "True" + ] +} \ No newline at end of file diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset new file mode 100644 index 0000000..11a0119 Binary files /dev/null and b/UserSettings/EditorUserSettings.asset differ