From ef859cbd0dcb7337b450041b902f0ca7a0c10126 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 27 Sep 2017 23:40:27 -0500 Subject: [PATCH 1/8] testing network instantiation of npcs --- .../test_instantiate.meta} | 4 +- .../Assets/Scenes/test_instantiate.unity | 413 ++++++++++++++++++ .../Assets/Scenes/test_instantiate.unity.meta | 8 + .../Scenes/test_instantiate/NavMesh.asset | Bin 0 -> 5236 bytes .../test_instantiate/NavMesh.asset.meta | 9 + .../Assets/Scripts/LobbyManager.cs | 2 +- .../Assets/Scripts/SimpleNPCBehavior.cs | 2 +- .../Assets/Scripts/TestManager.cs | 16 + .../Assets/Scripts/TestManager.cs.meta | 12 + .../ProjectSettings/EditorBuildSettings.asset | 3 + .../ProjectSettings/ProjectVersion.txt | 2 +- 11 files changed, 466 insertions(+), 5 deletions(-) rename Project Undercover/Assets/{Models.meta => Scenes/test_instantiate.meta} (67%) create mode 100644 Project Undercover/Assets/Scenes/test_instantiate.unity create mode 100644 Project Undercover/Assets/Scenes/test_instantiate.unity.meta create mode 100644 Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset create mode 100644 Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset.meta create mode 100644 Project Undercover/Assets/Scripts/TestManager.cs create mode 100644 Project Undercover/Assets/Scripts/TestManager.cs.meta diff --git a/Project Undercover/Assets/Models.meta b/Project Undercover/Assets/Scenes/test_instantiate.meta similarity index 67% rename from Project Undercover/Assets/Models.meta rename to Project Undercover/Assets/Scenes/test_instantiate.meta index 979ba46..dc23b30 100644 --- a/Project Undercover/Assets/Models.meta +++ b/Project Undercover/Assets/Scenes/test_instantiate.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: cb288d82f67d27a49bf14e1ab68d86e6 +guid: d2d2c308c07699d4bbfa42c1a2145cf6 folderAsset: yes -timeCreated: 1505311868 +timeCreated: 1506573156 licenseType: Free DefaultImporter: userData: diff --git a/Project Undercover/Assets/Scenes/test_instantiate.unity b/Project Undercover/Assets/Scenes/test_instantiate.unity new file mode 100644 index 0000000..1aae5fd --- /dev/null +++ b/Project Undercover/Assets/Scenes/test_instantiate.unity @@ -0,0 +1,413 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 23800000, guid: 1183fab8a7b000c479936b2cfef60bb4, type: 2} +--- !u!1 &456699916 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 456699921} + - component: {fileID: 456699920} + - component: {fileID: 456699919} + - component: {fileID: 456699918} + - component: {fileID: 456699917} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &456699917 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456699916} + m_Enabled: 1 +--- !u!124 &456699918 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456699916} + m_Enabled: 1 +--- !u!92 &456699919 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456699916} + m_Enabled: 1 +--- !u!20 &456699920 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456699916} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &456699921 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456699916} + m_LocalRotation: {x: -0.15542816, y: -0.32433298, z: 0.054114062, w: -0.93151593} + m_LocalPosition: {x: -7.8894596, y: 4.2235813, z: -8.749962} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1067985328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1067985332} + - component: {fileID: 1067985331} + - component: {fileID: 1067985330} + - component: {fileID: 1067985329} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!23 &1067985329 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067985328} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1067985330 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067985328} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1067985331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067985328} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1067985332 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067985328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 0.1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1098439866 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1098439868} + - component: {fileID: 1098439867} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1098439867 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1098439866} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1098439868 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1098439866} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1916659068 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1916659070} + - component: {fileID: 1916659069} + - component: {fileID: 1916659071} + m_Layer: 0 + m_Name: Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1916659069 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916659068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: [] + ObservedComponentsFoldoutOpen: 1 + viewIdField: 1 + instantiationId: 1 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!4 &1916659070 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916659068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.2941594, y: 1.0086884, z: -3.8102126} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1916659071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916659068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ea1eb4fd452963b40a505d46d3811b0d, type: 3} + m_Name: + m_EditorClassIdentifier: + NPCPrefab: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} diff --git a/Project Undercover/Assets/Scenes/test_instantiate.unity.meta b/Project Undercover/Assets/Scenes/test_instantiate.unity.meta new file mode 100644 index 0000000..1a2b22c --- /dev/null +++ b/Project Undercover/Assets/Scenes/test_instantiate.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a87a48d552806ed4988e03a758d679ca +timeCreated: 1506572654 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset b/Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset new file mode 100644 index 0000000000000000000000000000000000000000..9b12c5609737da6657bfe5f953371c0c9d4e4c68 GIT binary patch literal 5236 zcmbW5U2GIp6vxkQw=IYtMM1$TRz*dW(kFF9e3TZdf>4LuX*+g5>h3JG2s$bv z(HQZGgv115^Z|I%@Zf`{F&bXlL=$*2(HD3#XyTJTP|yEW88F4L_c{dg-In zOV%EJpXvN6qBtJ&wTdX#Pj1dbkc088k`JjQ% z1W$oiiFwxZJDBGk;G$L0PWF9`8~U>hkI@zOUCw>zAm-V@RQiL}IaYq$@*5V&4z9htPem_;b zF~p&BLGh&_4*!daH(8wP10fGdi%%%tY`8q9zcR-;S_U47d`8X@a$T1KkJf<|;M~A} zV-1`m?B$h)C+HfVufO>jY5>0QDkM9$?KPA`tyDYBtcN;GAmR5P|1rMg??M3iZB|m!qyadh- z@eZ*D^47rpmkqBK`8lHIzejN7XGSDHdo8Z#|BA)+{P!6y^#i59-|(n@pT)KQs}|S# zj^VZ9JRW0x?0^G;BVNh*H;v$F!{vEA!5rr?10KLXdLCWy6nL~Q>F;guQ>>x$IRJld zIFC3-=lL1-+o0eL%%gS5v$&3z_0&F*{yN?v!=?ULNn&oG~07-Lqn_+`aQhQo`3tITmuef0Rk_bl?J&uLju zw_HxW_E6$9>Q6m^fdvSRdma z7o6*;b8wqm8fFX%JpsZvhL<~Ho6>tP#Eg1UHqV= zCD0Kvxjv)V>68YO&8zuUSae|2cT0Pl_9-K&jb?2u)5dabtkA|vZLHG9YHh61MzSJp zw39|WY1ETOKFRtjnAWnF&Gfjw@8t(dJmZ^UXTZ(-yGDnR4`FvZ8LwQDcBktN4EoaU z$rgrPX|`p(+yTnEnE|)GSQu7bIcH=`IXB#rE*46qcCX|+`Ls(pFW>DBaNb*ru0uH| zUv{!>ZZ_NF9d;?L4at#k!F_Ew>2$g1_-jw^($%yjnr&ign}#u5{GXUbpCbX?~LH+nmoRtF=(hXMoyxV7JJI*hHAa_Ch8i z)7lGyU^&DQ@`&$!JNo-E-c~O^RHBx$UkCv;ZjbL2q1Tbm@TW?Bt`DzZO_<5F3DWKr z-LwcW*Vj`h7t^kpVRylI#FIn(N|(+9za3g#l((@(L!!#zthD3Q+~!rw{%RYELwA|` zy)E0@QCRS$g$t4x1oC}VrxevzvxPBeKPsL^1 zc&>eLhk6{i<`qI>zu=|Gu8^lIw|hv7YG5*iMFQ zBE5!qUa{d*Sx*XT0zAhx-Ss4~p7rvjTYTExp=@E!8XQ z9Ey`4)dY!vZ_|nsek9g&dT~mB!oT5C{ND$y6XWCS6~m1g)?l$@I%vS#x&r7&u73cj C(I=w- literal 0 HcmV?d00001 diff --git a/Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset.meta b/Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset.meta new file mode 100644 index 0000000..8cf61ce --- /dev/null +++ b/Project Undercover/Assets/Scenes/test_instantiate/NavMesh.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1183fab8a7b000c479936b2cfef60bb4 +timeCreated: 1506573156 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/LobbyManager.cs b/Project Undercover/Assets/Scripts/LobbyManager.cs index f6f1169..cbe383d 100644 --- a/Project Undercover/Assets/Scripts/LobbyManager.cs +++ b/Project Undercover/Assets/Scripts/LobbyManager.cs @@ -40,7 +40,7 @@ public class LobbyManager : Photon.PunBehaviour { public void StartGame() { if (PhotonNetwork.isMasterClient) - PhotonNetwork.LoadLevel("scene"); + PhotonNetwork.LoadLevel("test_instantiate"); } public override void OnPhotonPlayerConnected(PhotonPlayer other) diff --git a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs index 9e86721..c52c634 100644 --- a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs +++ b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs @@ -20,7 +20,7 @@ public class SimpleNPCBehavior : Photon.PunBehaviour if (PhotonNetwork.isMasterClient) { photonView.RPC("TeleportToTarget", PhotonTargets.All, GetRandomLocation()); photonView.RPC("SetColorRPC", PhotonTargets.All, new Vector3(Random.value, Random.value, Random.value)); - Debug.Log ("setting color"); + Debug.Log("setting color"); } } diff --git a/Project Undercover/Assets/Scripts/TestManager.cs b/Project Undercover/Assets/Scripts/TestManager.cs new file mode 100644 index 0000000..92896df --- /dev/null +++ b/Project Undercover/Assets/Scripts/TestManager.cs @@ -0,0 +1,16 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TestManager : Photon.PunBehaviour { + + public GameObject NPCPrefab; + void Start () { + if (PhotonNetwork.isMasterClient) + PhotonNetwork.Instantiate(NPCPrefab.name, Vector3.zero, Quaternion.identity, 0); + } + + void Update () { + + } +} diff --git a/Project Undercover/Assets/Scripts/TestManager.cs.meta b/Project Undercover/Assets/Scripts/TestManager.cs.meta new file mode 100644 index 0000000..6092096 --- /dev/null +++ b/Project Undercover/Assets/Scripts/TestManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ea1eb4fd452963b40a505d46d3811b0d +timeCreated: 1506572929 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/ProjectSettings/EditorBuildSettings.asset b/Project Undercover/ProjectSettings/EditorBuildSettings.asset index 15130ff..cb18772 100644 --- a/Project Undercover/ProjectSettings/EditorBuildSettings.asset +++ b/Project Undercover/ProjectSettings/EditorBuildSettings.asset @@ -14,3 +14,6 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/scene.unity guid: b679f50ae448b0642b9887e440a00e0f + - enabled: 1 + path: Assets/Scenes/test_instantiate.unity + guid: a87a48d552806ed4988e03a758d679ca diff --git a/Project Undercover/ProjectSettings/ProjectVersion.txt b/Project Undercover/ProjectSettings/ProjectVersion.txt index ca1aa05..a211ccd 100644 --- a/Project Undercover/ProjectSettings/ProjectVersion.txt +++ b/Project Undercover/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2017.1.0f3 +m_EditorVersion: 2017.1.1f1 From 2bcee7add8f34ada8847842da185e27d787ec8ef Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 27 Sep 2017 23:56:52 -0500 Subject: [PATCH 2/8] agent removed --- .../Assets/Scripts/SimpleNPCBehavior.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs index c52c634..af6512c 100644 --- a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs +++ b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs @@ -4,7 +4,6 @@ using UnityEngine.AI; public class SimpleNPCBehavior : Photon.PunBehaviour { - private NavMeshAgent agent; private bool setTarget = true; enum State { @@ -13,9 +12,8 @@ public class SimpleNPCBehavior : Photon.PunBehaviour talking }; - void Start() + void Start() { - agent = GetComponent(); //agent = gameObject.AddComponent(); if (PhotonNetwork.isMasterClient) { photonView.RPC("TeleportToTarget", PhotonTargets.All, GetRandomLocation()); @@ -36,6 +34,11 @@ public class SimpleNPCBehavior : Photon.PunBehaviour } } + NavMeshAgent GetAgent() + { + return GetComponent(); + } + IEnumerator UpdateDestination() { yield return new WaitForSeconds(Random.Range(0.1f, 10.0f)); @@ -59,14 +62,14 @@ public class SimpleNPCBehavior : Photon.PunBehaviour [PunRPC] void SetTarget(Vector3 target) { - agent.destination = target; + GetAgent().destination = target; } [PunRPC] void TeleportToTarget(Vector3 target) { - agent.Warp(target); - agent.destination = target; + GetAgent().Warp(target); + GetAgent().destination = target; } [PunRPC] From 93c5aae93d0eb53384b058efe6d0e03e570fc193 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 27 Sep 2017 23:59:33 -0500 Subject: [PATCH 3/8] loading scene --- Project Undercover/Assets/Scripts/LobbyManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project Undercover/Assets/Scripts/LobbyManager.cs b/Project Undercover/Assets/Scripts/LobbyManager.cs index cbe383d..f6f1169 100644 --- a/Project Undercover/Assets/Scripts/LobbyManager.cs +++ b/Project Undercover/Assets/Scripts/LobbyManager.cs @@ -40,7 +40,7 @@ public class LobbyManager : Photon.PunBehaviour { public void StartGame() { if (PhotonNetwork.isMasterClient) - PhotonNetwork.LoadLevel("test_instantiate"); + PhotonNetwork.LoadLevel("scene"); } public override void OnPhotonPlayerConnected(PhotonPlayer other) From aa85cea8605af92ca618445ed0fae7697b817de8 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 28 Sep 2017 01:17:01 -0500 Subject: [PATCH 4/8] improving lobby --- .../Assets/Resources/RoomPanel.prefab | 287 +++++ .../Assets/Resources/RoomPanel.prefab.meta | 9 + .../Assets/Scenes/Launcher.unity | 979 +++++++++++++++++- Project Undercover/Assets/Scripts/Launcher.cs | 82 +- .../Assets/Scripts/PlayerNameInputField.cs | 7 - .../Assets/Scripts/RoomStatusPanel.cs | 16 + .../Assets/Scripts/RoomStatusPanel.cs.meta | 12 + .../ProjectSettings/ProjectSettings.asset | 3 + 8 files changed, 1333 insertions(+), 62 deletions(-) create mode 100644 Project Undercover/Assets/Resources/RoomPanel.prefab create mode 100644 Project Undercover/Assets/Resources/RoomPanel.prefab.meta create mode 100644 Project Undercover/Assets/Scripts/RoomStatusPanel.cs create mode 100644 Project Undercover/Assets/Scripts/RoomStatusPanel.cs.meta diff --git a/Project Undercover/Assets/Resources/RoomPanel.prefab b/Project Undercover/Assets/Resources/RoomPanel.prefab new file mode 100644 index 0000000..7e5b7a3 --- /dev/null +++ b/Project Undercover/Assets/Resources/RoomPanel.prefab @@ -0,0 +1,287 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1998399163919876} + m_IsPrefabParent: 1 +--- !u!1 &1824950178108738 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224644708036382968} + - component: {fileID: 222678310988159146} + - component: {fileID: 114418020196636122} + m_Layer: 5 + m_Name: NumPlayersText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1881697106387964 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224843604289830130} + - component: {fileID: 222513181673775614} + - component: {fileID: 114647180428938562} + m_Layer: 5 + m_Name: RoomNameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1998399163919876 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224267795040374722} + - component: {fileID: 222974407545166384} + - component: {fileID: 114067761447900238} + - component: {fileID: 114335299875549944} + - component: {fileID: 114427775473896594} + m_Layer: 5 + m_Name: RoomPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114067761447900238 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998399163919876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114335299875549944 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998399163919876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114067761447900238} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114418020196636122 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1824950178108738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 1/1 +--- !u!114 &114427775473896594 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998399163919876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc32fa0c6cf90d34aae4ea09f8b4bddf, type: 3} + m_Name: + m_EditorClassIdentifier: + roomNameText: {fileID: 114647180428938562} + numPlayersText: {fileID: 114418020196636122} +--- !u!114 &114647180428938562 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881697106387964} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Available Room 1 +--- !u!222 &222513181673775614 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881697106387964} +--- !u!222 &222678310988159146 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1824950178108738} +--- !u!222 &222974407545166384 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998399163919876} +--- !u!224 &224267795040374722 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998399163919876} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224843604289830130} + - {fileID: 224644708036382968} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 150, y: -10} + m_SizeDelta: {x: 280, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &224644708036382968 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1824950178108738} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224267795040374722} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 1, y: 1} +--- !u!224 &224843604289830130 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881697106387964} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224267795040374722} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0, y: 1} diff --git a/Project Undercover/Assets/Resources/RoomPanel.prefab.meta b/Project Undercover/Assets/Resources/RoomPanel.prefab.meta new file mode 100644 index 0000000..8511cb1 --- /dev/null +++ b/Project Undercover/Assets/Resources/RoomPanel.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4d20a5c7076577d4099f0f1589e474aa +timeCreated: 1506579155 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scenes/Launcher.unity b/Project Undercover/Assets/Scenes/Launcher.unity index 823e21e..efd86c9 100644 --- a/Project Undercover/Assets/Scenes/Launcher.unity +++ b/Project Undercover/Assets/Scenes/Launcher.unity @@ -120,7 +120,7 @@ GameObject: - component: {fileID: 22636100} - component: {fileID: 22636102} m_Layer: 5 - m_Name: Panel + m_Name: NameSelectorPanel m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -228,9 +228,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bfae5ad9cd8c6ab47a2d6543a20e2d7c, type: 3} m_Name: m_EditorClassIdentifier: + MaxPlayersPerRoom: 4 controlPanel: {fileID: 302761213} progressLabel: {fileID: 603106572} - MaxPlayersPerRoom: 4 + nameSelectorPanel: {fileID: 22636098} + roomSelectorPanel: {fileID: 1435142554} + availableRoomsPanel: {fileID: 580129343} + roomStatusPanelPrefab: {fileID: 1998399163919876, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} --- !u!4 &32780180 Transform: m_ObjectHideFlags: 0 @@ -244,6 +249,44 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &41482506 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 41482507} + m_Layer: 5 + m_Name: SelectRoomPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &41482507 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 41482506} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1035400198} + - {fileID: 580129344} + - {fileID: 1051807739} + - {fileID: 1174787944} + - {fileID: 1009736659} + m_Father: {fileID: 1435142555} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &302761213 GameObject: m_ObjectHideFlags: 0 @@ -401,6 +444,198 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 945d1d1b53c2d9240a91962286a0ae06, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &314300658 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 580129344} + m_Modifications: + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_SizeDelta.x + value: 280 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4d20a5c7076577d4099f0f1589e474aa, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &580129343 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 580129344} + - component: {fileID: 580129346} + - component: {fileID: 580129345} + - component: {fileID: 580129347} + m_Layer: 5 + m_Name: AvailableRoomsPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &580129344 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580129343} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1605851910} + m_Father: {fileID: 41482507} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 300, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &580129345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580129343} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &580129346 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580129343} +--- !u!114 &580129347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580129343} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 10 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 --- !u!1 &603106570 GameObject: m_ObjectHideFlags: 0 @@ -549,6 +784,80 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 606582670} +--- !u!1 &798783880 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 798783881} + - component: {fileID: 798783883} + - component: {fileID: 798783882} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &798783881 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798783880} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1051807739} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &798783882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798783880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Join Room +--- !u!222 &798783883 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798783880} --- !u!1 &871952079 GameObject: m_ObjectHideFlags: 0 @@ -635,6 +944,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 22636099} + - {fileID: 1435142555} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -643,6 +953,128 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1009736658 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1009736659} + - component: {fileID: 1009736662} + - component: {fileID: 1009736661} + - component: {fileID: 1009736660} + m_Layer: 5 + m_Name: CreateRoomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1009736659 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009736658} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1139586349} + m_Father: {fileID: 41482507} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 10} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1009736660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009736658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1009736661} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32780179} + m_MethodName: CreateNewRoom + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1009736661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009736658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1009736662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009736658} --- !u!1 &1010525981 GameObject: m_ObjectHideFlags: 0 @@ -691,20 +1123,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -722,6 +1140,265 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1035400197 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1035400198} + - component: {fileID: 1035400200} + - component: {fileID: 1035400199} + m_Layer: 5 + m_Name: HeaderText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1035400198 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035400197} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 41482507} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -30} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1035400199 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035400197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 40 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 60 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Available Rooms +--- !u!222 &1035400200 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035400197} +--- !u!1 &1051807738 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1051807739} + - component: {fileID: 1051807742} + - component: {fileID: 1051807741} + - component: {fileID: 1051807740} + m_Layer: 5 + m_Name: JoinRoomButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1051807739 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1051807738} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 798783881} + m_Father: {fileID: 41482507} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 70, y: 70} + m_SizeDelta: {x: 120, y: 30} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1051807740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1051807738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1051807741} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1051807741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1051807738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1051807742 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1051807738} +--- !u!1 &1139586348 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1139586349} + - component: {fileID: 1139586351} + - component: {fileID: 1139586350} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1139586349 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1139586348} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1009736659} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1139586350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1139586348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Create Room +--- !u!222 &1139586351 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1139586348} --- !u!1 &1147174347 GameObject: m_ObjectHideFlags: 0 @@ -844,6 +1521,128 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1147174347} +--- !u!1 &1174787943 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1174787944} + - component: {fileID: 1174787947} + - component: {fileID: 1174787946} + - component: {fileID: 1174787945} + m_Layer: 5 + m_Name: RefreshRoomsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1174787944 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1174787943} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1365427910} + m_Father: {fileID: 41482507} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: -70, y: 70} + m_SizeDelta: {x: 120, y: 30} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1174787945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1174787943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1174787946} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32780179} + m_MethodName: RefreshRoomsList + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1174787946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1174787943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1174787947 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1174787943} --- !u!1 &1197867400 GameObject: m_ObjectHideFlags: 0 @@ -995,6 +1794,80 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1365427909 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1365427910} + - component: {fileID: 1365427912} + - component: {fileID: 1365427911} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1365427910 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365427909} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1174787944} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1365427911 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365427909} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Refresh Rooms +--- !u!222 &1365427912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365427909} --- !u!1 &1370458406 GameObject: m_ObjectHideFlags: 0 @@ -1069,3 +1942,77 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1370458406} +--- !u!1 &1435142554 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1435142555} + - component: {fileID: 1435142557} + - component: {fileID: 1435142556} + m_Layer: 5 + m_Name: RoomSelectorPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1435142555 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1435142554} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 41482507} + m_Father: {fileID: 871952083} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 400, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1435142556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1435142554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1435142557 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1435142554} +--- !u!224 &1605851910 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224267795040374722, guid: 4d20a5c7076577d4099f0f1589e474aa, + type: 2} + m_PrefabInternal: {fileID: 314300658} diff --git a/Project Undercover/Assets/Scripts/Launcher.cs b/Project Undercover/Assets/Scripts/Launcher.cs index 3c3d1ab..f14ee7e 100644 --- a/Project Undercover/Assets/Scripts/Launcher.cs +++ b/Project Undercover/Assets/Scripts/Launcher.cs @@ -5,16 +5,20 @@ namespace Com.MyCompany.MyGame { public class Launcher : Photon.PunBehaviour { - #region Public Variables + public byte MaxPlayersPerRoom = 4; + [Tooltip("The Ui Panel to let the user enter name, connect and play")] public GameObject controlPanel; + [Tooltip("The UI Label to inform the user that the connection is in progress")] public Text progressLabel; - public byte MaxPlayersPerRoom = 4; - #endregion + public GameObject nameSelectorPanel, roomSelectorPanel; + + public GameObject availableRoomsPanel; + + public GameObject roomStatusPanelPrefab; - #region Private Variables string _gameVersion = "1"; /// /// Keep track of the current process. Since connection is asynchronous and is based on several callbacks from Photon, @@ -22,13 +26,7 @@ namespace Com.MyCompany.MyGame /// Typically this is used for the OnConnectedToMaster() callback. /// bool isConnecting; - #endregion - - #region MonoBehaviour CallBacks - /// - /// MonoBehaviour method called on GameObject by Unity during early initialization phase. - /// void Awake() { // #Critical @@ -42,73 +40,80 @@ namespace Com.MyCompany.MyGame PhotonNetwork.automaticallySyncScene = true; } - - /// - /// MonoBehaviour method called on GameObject by Unity during initialization phase. - /// void Start() { - // progressLabel.SetActive(false); controlPanel.SetActive(true); - //Connect(); } - #endregion - - #region Public Methods - /// - /// Start the connection process. - /// - If already connected, we attempt joining a random room - /// - if not yet connected, Connect this application instance to Photon Cloud Network - /// public void Connect() { - // keep track of the will to join a room, because when we come back from the game we will get a callback that we are connected, so we need to know what to do then isConnecting = true; progressLabel.text = "Connecting..."; // we check if we are connected or not, we join if we are , else we initiate the connection to the server. if (PhotonNetwork.connected) { - // #Critical we need at this point to attempt joining a Random Room. - // If it fails, we'll get notified in OnPhotonRandomJoinFailed() and we'll create one. - PhotonNetwork.JoinRandomRoom(); + PhotonNetwork.JoinLobby(); } else { - // #Critical, we must first and foremost connect to Photon Online Server. PhotonNetwork.ConnectUsingSettings(_gameVersion); } } - #endregion - - #region Photon.PunBehaviour CallBacks public override void OnConnectedToMaster() { - Debug.Log("DemoAnimator/Launcher: OnConnectedToMaster() was called by PUN"); + Debug.Log("Launcher: OnConnectedToMaster() was called by PUN"); // we don't want to do anything if we are not attempting to join a room. // this case where isConnecting is false is typically when you lost or quit the game, when this level is loaded, OnConnectedToMaster will be called, in that case // we don't want to do anything. if (isConnecting) { // #Critical: The first we try to do is to join a potential existing room. If there is, good, else, we'll be called back with OnPhotonRandomJoinFailed() - PhotonNetwork.JoinRandomRoom(); + PhotonNetwork.JoinLobby(); + //PhotonNetwork.JoinRandomRoom(); } } + public override void OnJoinedLobby() + { + Debug.Log("Launcher: Entered Lobby"); + nameSelectorPanel.SetActive(false); + roomSelectorPanel.SetActive(true); + RefreshRoomsList(); + } + + public void RefreshRoomsList() + { + RoomInfo[] roomsList = PhotonNetwork.GetRoomList(); + Debug.Log("Number of rooms available: " + roomsList.Length); + foreach (Transform child in availableRoomsPanel.transform) + { + Destroy(child.gameObject); + } + foreach (RoomInfo roomInfo in roomsList) + { + var roomStatusPanel = Instantiate(roomStatusPanelPrefab, availableRoomsPanel.transform); + roomStatusPanel.GetComponent().SetInformation(roomInfo); + } + } + + public void CreateNewRoom() + { + PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); + } public override void OnDisconnectedFromPhoton() { - Debug.LogWarning("DemoAnimator/Launcher: OnDisconnectedFromPhoton() was called by PUN"); + Debug.LogWarning("Launcher: OnDisconnectedFromPhoton() was called by PUN"); } + /* public override void OnPhotonRandomJoinFailed(object[] codeAndMsg) { - Debug.Log("Launcher:OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one." + - "\nCalling: PhotonNetwork.CreateRoom(null, new RoomOptions() {maxPlayers = MaxPlayersPerRoom}, null);"); + Debug.Log("Launcher:OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one."); // #Critical: we failed to join a random room, maybe none exists or they are all full. No worries, we create a new room. PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); - } + }*/ public override void OnJoinedRoom() { @@ -116,6 +121,5 @@ namespace Com.MyCompany.MyGame // #Critical: We only load if we are the first player, else we rely on PhotonNetwork.automaticallySyncScene to sync our instance scene. PhotonNetwork.LoadLevel("Lobby"); } - #endregion } } diff --git a/Project Undercover/Assets/Scripts/PlayerNameInputField.cs b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs index d35373c..1cc87ff 100644 --- a/Project Undercover/Assets/Scripts/PlayerNameInputField.cs +++ b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs @@ -7,9 +7,6 @@ using System.Collections; namespace Com.MyCompany.MyGame { - /// - /// Player name input field. Let the user input his name, will appear above the player in the game. - /// [RequireComponent(typeof(InputField))] public class PlayerNameInputField : MonoBehaviour { @@ -31,10 +28,6 @@ namespace Com.MyCompany.MyGame PhotonNetwork.playerName = defaultName; } - /// - /// Sets the name of the player, and save it in the PlayerPrefs for future sessions. - /// - /// The name of the Player public void SetPlayerName(string value) { // force a trailing space string in case value is an empty string, else playerName would not be updated. diff --git a/Project Undercover/Assets/Scripts/RoomStatusPanel.cs b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs new file mode 100644 index 0000000..25824e6 --- /dev/null +++ b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs @@ -0,0 +1,16 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class RoomStatusPanel : MonoBehaviour { + + public Text roomNameText; + public Text numPlayersText; + + public void SetInformation(RoomInfo info) + { + roomNameText.text = info.Name; + numPlayersText.text = info.PlayerCount.ToString() + "/" + info.MaxPlayers.ToString(); + } +} diff --git a/Project Undercover/Assets/Scripts/RoomStatusPanel.cs.meta b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs.meta new file mode 100644 index 0000000..519cce4 --- /dev/null +++ b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bc32fa0c6cf90d34aae4ea09f8b4bddf +timeCreated: 1506578516 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/ProjectSettings/ProjectSettings.asset b/Project Undercover/ProjectSettings/ProjectSettings.asset index 99e60e7..8bb7197 100644 --- a/Project Undercover/ProjectSettings/ProjectSettings.asset +++ b/Project Undercover/ProjectSettings/ProjectSettings.asset @@ -368,6 +368,9 @@ PlayerSettings: switchUdpSendBufferSize: 9 switchUdpReceiveBufferSize: 42 switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: From 80ad880d651731b26e5520e60e6e57ef09f0e3fe Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 28 Sep 2017 01:42:24 -0500 Subject: [PATCH 5/8] room selector for lobby added --- .../Assets/Resources/RoomPanel.prefab | 14 +- .../Assets/Scenes/Launcher.unity | 198 +--------------- Project Undercover/Assets/Scripts/Launcher.cs | 218 +++++++++--------- .../Assets/Scripts/RoomStatusPanel.cs | 23 +- 4 files changed, 148 insertions(+), 305 deletions(-) diff --git a/Project Undercover/Assets/Resources/RoomPanel.prefab b/Project Undercover/Assets/Resources/RoomPanel.prefab index 7e5b7a3..74b9b71 100644 --- a/Project Undercover/Assets/Resources/RoomPanel.prefab +++ b/Project Undercover/Assets/Resources/RoomPanel.prefab @@ -129,7 +129,18 @@ MonoBehaviour: m_TargetGraphic: {fileID: 114067761447900238} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 114427775473896594} + m_MethodName: RoomSelected + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null --- !u!114 &114418020196636122 @@ -178,6 +189,7 @@ MonoBehaviour: m_EditorClassIdentifier: roomNameText: {fileID: 114647180428938562} numPlayersText: {fileID: 114418020196636122} + launcher: {fileID: 0} --- !u!114 &114647180428938562 MonoBehaviour: m_ObjectHideFlags: 1 diff --git a/Project Undercover/Assets/Scenes/Launcher.unity b/Project Undercover/Assets/Scenes/Launcher.unity index efd86c9..48001e6 100644 --- a/Project Undercover/Assets/Scenes/Launcher.unity +++ b/Project Undercover/Assets/Scenes/Launcher.unity @@ -276,7 +276,6 @@ RectTransform: m_Children: - {fileID: 1035400198} - {fileID: 580129344} - - {fileID: 1051807739} - {fileID: 1174787944} - {fileID: 1009736659} m_Father: {fileID: 1435142555} @@ -784,80 +783,6 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 606582670} ---- !u!1 &798783880 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 798783881} - - component: {fileID: 798783883} - - component: {fileID: 798783882} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &798783881 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 798783880} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1051807739} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &798783882 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 798783880} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Join Room ---- !u!222 &798783883 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 798783880} --- !u!1 &871952079 GameObject: m_ObjectHideFlags: 0 @@ -983,12 +908,12 @@ RectTransform: m_Children: - {fileID: 1139586349} m_Father: {fileID: 41482507} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} m_AnchoredPosition: {x: 0, y: 10} - m_SizeDelta: {x: 160, y: 30} + m_SizeDelta: {x: 200, y: 30} m_Pivot: {x: 0.5, y: 0} --- !u!114 &1009736660 MonoBehaviour: @@ -1207,124 +1132,13 @@ MonoBehaviour: m_HorizontalOverflow: 1 m_VerticalOverflow: 1 m_LineSpacing: 1 - m_Text: Available Rooms + m_Text: Rooms --- !u!222 &1035400200 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1035400197} ---- !u!1 &1051807738 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1051807739} - - component: {fileID: 1051807742} - - component: {fileID: 1051807741} - - component: {fileID: 1051807740} - m_Layer: 5 - m_Name: JoinRoomButton - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1051807739 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051807738} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 798783881} - m_Father: {fileID: 41482507} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 70, y: 70} - m_SizeDelta: {x: 120, y: 30} - m_Pivot: {x: 0.5, y: 0} ---- !u!114 &1051807740 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051807738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1051807741} - m_OnClick: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1051807741 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051807738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1051807742 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051807738} --- !u!1 &1139586348 GameObject: m_ObjectHideFlags: 0 @@ -1392,7 +1206,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: Create Room + m_Text: Create New Room --- !u!222 &1139586351 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1551,11 +1365,11 @@ RectTransform: m_Children: - {fileID: 1365427910} m_Father: {fileID: 41482507} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: -70, y: 70} + m_AnchoredPosition: {x: 0, y: 70} m_SizeDelta: {x: 120, y: 30} m_Pivot: {x: 0.5, y: 0} --- !u!114 &1174787945 diff --git a/Project Undercover/Assets/Scripts/Launcher.cs b/Project Undercover/Assets/Scripts/Launcher.cs index f14ee7e..755c5d0 100644 --- a/Project Undercover/Assets/Scripts/Launcher.cs +++ b/Project Undercover/Assets/Scripts/Launcher.cs @@ -1,125 +1,121 @@ using UnityEngine; using UnityEngine.UI; -namespace Com.MyCompany.MyGame + +public class Launcher : Photon.PunBehaviour { - public class Launcher : Photon.PunBehaviour + public byte MaxPlayersPerRoom = 4; + + [Tooltip("The Ui Panel to let the user enter name, connect and play")] + public GameObject controlPanel; + + [Tooltip("The UI Label to inform the user that the connection is in progress")] + public Text progressLabel; + + public GameObject nameSelectorPanel, roomSelectorPanel; + + public GameObject availableRoomsPanel; + + public GameObject roomStatusPanelPrefab; + + string _gameVersion = "1"; + bool isConnecting; + + void Awake() { - public byte MaxPlayersPerRoom = 4; + // #Critical + // we don't join the lobby. There is no need to join a lobby to get the list of rooms. + PhotonNetwork.autoJoinLobby = false; - [Tooltip("The Ui Panel to let the user enter name, connect and play")] - public GameObject controlPanel; + // #Critical + // This makes sure we can use PhotonNetwork.LoadLevel() on the master client + // and all clients in the same room sync their level automatically + PhotonNetwork.automaticallySyncScene = true; + } - [Tooltip("The UI Label to inform the user that the connection is in progress")] - public Text progressLabel; + void Start() + { + controlPanel.SetActive(true); + } - public GameObject nameSelectorPanel, roomSelectorPanel; - - public GameObject availableRoomsPanel; - - public GameObject roomStatusPanelPrefab; - - string _gameVersion = "1"; - /// - /// Keep track of the current process. Since connection is asynchronous and is based on several callbacks from Photon, - /// we need to keep track of this to properly adjust the behavior when we receive call back by Photon. - /// Typically this is used for the OnConnectedToMaster() callback. - /// - bool isConnecting; - - void Awake() + public void Connect() + { + isConnecting = true; + progressLabel.text = "Connecting..."; + if (PhotonNetwork.connected) { - // #Critical - // we don't join the lobby. There is no need to join a lobby to get the list of rooms. - PhotonNetwork.autoJoinLobby = false; - - - // #Critical - // This makes sure we can use PhotonNetwork.LoadLevel() on the master client - // and all clients in the same room sync their level automatically - PhotonNetwork.automaticallySyncScene = true; + PhotonNetwork.JoinLobby(); } - - void Start() + else { - controlPanel.SetActive(true); - } - - public void Connect() - { - isConnecting = true; - progressLabel.text = "Connecting..."; - // we check if we are connected or not, we join if we are , else we initiate the connection to the server. - if (PhotonNetwork.connected) - { - PhotonNetwork.JoinLobby(); - } - else - { - PhotonNetwork.ConnectUsingSettings(_gameVersion); - } - } - - public override void OnConnectedToMaster() - { - Debug.Log("Launcher: OnConnectedToMaster() was called by PUN"); - // we don't want to do anything if we are not attempting to join a room. - // this case where isConnecting is false is typically when you lost or quit the game, when this level is loaded, OnConnectedToMaster will be called, in that case - // we don't want to do anything. - if (isConnecting) - { - // #Critical: The first we try to do is to join a potential existing room. If there is, good, else, we'll be called back with OnPhotonRandomJoinFailed() - PhotonNetwork.JoinLobby(); - //PhotonNetwork.JoinRandomRoom(); - } - } - - public override void OnJoinedLobby() - { - Debug.Log("Launcher: Entered Lobby"); - nameSelectorPanel.SetActive(false); - roomSelectorPanel.SetActive(true); - RefreshRoomsList(); - } - - public void RefreshRoomsList() - { - RoomInfo[] roomsList = PhotonNetwork.GetRoomList(); - Debug.Log("Number of rooms available: " + roomsList.Length); - foreach (Transform child in availableRoomsPanel.transform) - { - Destroy(child.gameObject); - } - foreach (RoomInfo roomInfo in roomsList) - { - var roomStatusPanel = Instantiate(roomStatusPanelPrefab, availableRoomsPanel.transform); - roomStatusPanel.GetComponent().SetInformation(roomInfo); - } - } - - public void CreateNewRoom() - { - PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); - } - - public override void OnDisconnectedFromPhoton() - { - Debug.LogWarning("Launcher: OnDisconnectedFromPhoton() was called by PUN"); - } - - /* - public override void OnPhotonRandomJoinFailed(object[] codeAndMsg) - { - Debug.Log("Launcher:OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one."); - // #Critical: we failed to join a random room, maybe none exists or they are all full. No worries, we create a new room. - PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); - }*/ - - public override void OnJoinedRoom() - { - Debug.Log("Launcher: OnJoinedRoom() called by PUN. Now this client is in a room."); - // #Critical: We only load if we are the first player, else we rely on PhotonNetwork.automaticallySyncScene to sync our instance scene. - PhotonNetwork.LoadLevel("Lobby"); + PhotonNetwork.ConnectUsingSettings(_gameVersion); } } + + public override void OnConnectedToMaster() + { + Debug.Log("Launcher: OnConnectedToMaster() was called by PUN"); + if (isConnecting) + { + PhotonNetwork.JoinLobby(); + } + } + + public override void OnJoinedLobby() + { + Debug.Log("Launcher: Entered Lobby"); + nameSelectorPanel.SetActive(false); + roomSelectorPanel.SetActive(true); + RefreshRoomsList(); + } + + public override void OnPhotonJoinRoomFailed(object[] codeAndMsg) + { + RefreshRoomsList(); + } + + public override void OnReceivedRoomListUpdate() + { + RefreshRoomsList(); + } + + public void RefreshRoomsList() + { + RoomInfo[] roomsList = PhotonNetwork.GetRoomList(); + foreach (Transform child in availableRoomsPanel.transform) + { + Destroy(child.gameObject); + } + foreach (RoomInfo roomInfo in roomsList) + { + var panel = Instantiate(roomStatusPanelPrefab, availableRoomsPanel.transform); + var roomStatusPanel = panel.GetComponent(); + roomStatusPanel.SetInformation(roomInfo); + roomStatusPanel.launcher = this; + } + } + + public void RoomSelected(RoomStatusPanel panel) + { + PhotonNetwork.JoinRoom(panel.GetRoomName()); + } + + public void CreateNewRoom() + { + string roomName = PhotonNetwork.playerName + "'s Room"; + PhotonNetwork.CreateRoom(roomName, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); + } + + public override void OnDisconnectedFromPhoton() + { + Debug.LogWarning("Launcher: OnDisconnectedFromPhoton() was called by PUN"); + } + + public override void OnJoinedRoom() + { + Debug.Log("Launcher: OnJoinedRoom() called by PUN. Now this client is in a room."); + // #Critical: We only load if we are the first player, else we rely on PhotonNetwork.automaticallySyncScene to sync our instance scene. + PhotonNetwork.LoadLevel("Lobby"); + } } + diff --git a/Project Undercover/Assets/Scripts/RoomStatusPanel.cs b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs index 25824e6..d7aa506 100644 --- a/Project Undercover/Assets/Scripts/RoomStatusPanel.cs +++ b/Project Undercover/Assets/Scripts/RoomStatusPanel.cs @@ -7,10 +7,31 @@ public class RoomStatusPanel : MonoBehaviour { public Text roomNameText; public Text numPlayersText; + public Launcher launcher; + private int numPlayers, maxPlayers; public void SetInformation(RoomInfo info) { roomNameText.text = info.Name; - numPlayersText.text = info.PlayerCount.ToString() + "/" + info.MaxPlayers.ToString(); + numPlayers = info.PlayerCount; + maxPlayers = info.MaxPlayers; + numPlayersText.text = numPlayers.ToString() + "/" + maxPlayers.ToString(); + if (numPlayers == maxPlayers) + { + numPlayersText.color = Color.red; + } + } + + public void RoomSelected() + { + if (numPlayers <= maxPlayers) + { + launcher.RoomSelected(this); + } + } + + public string GetRoomName() + { + return roomNameText.text; } } From dac5b13d03fe0ca51725a3b5097aac45074a505c Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 28 Sep 2017 01:49:52 -0500 Subject: [PATCH 6/8] changed network preferences --- .../Assets/Resources/PhotonServerSettings.asset | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project Undercover/Assets/Resources/PhotonServerSettings.asset b/Project Undercover/Assets/Resources/PhotonServerSettings.asset index f3a3f3b..e80609e 100644 --- a/Project Undercover/Assets/Resources/PhotonServerSettings.asset +++ b/Project Undercover/Assets/Resources/PhotonServerSettings.asset @@ -13,10 +13,10 @@ MonoBehaviour: m_EditorClassIdentifier: AppID: 50077b63-ed3c-409e-b651-7381c8f9cd30 VoiceAppID: - ChatAppID: + ChatAppID: 50077b63-ed3c-409e-b651-7381c8f9cd30 HostType: 4 - PreferredRegion: 0 - EnabledRegions: -1022 + PreferredRegion: 1 + EnabledRegions: -990 Protocol: 0 ServerAddress: ServerPort: 5055 From 7945783e6b48522e6d33dc8d5df4c29fefa3ca73 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 28 Sep 2017 02:07:40 -0500 Subject: [PATCH 7/8] only connects to US server now --- Project Undercover/Assets/Resources/PhotonServerSettings.asset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project Undercover/Assets/Resources/PhotonServerSettings.asset b/Project Undercover/Assets/Resources/PhotonServerSettings.asset index e80609e..0c5d811 100644 --- a/Project Undercover/Assets/Resources/PhotonServerSettings.asset +++ b/Project Undercover/Assets/Resources/PhotonServerSettings.asset @@ -14,7 +14,7 @@ MonoBehaviour: AppID: 50077b63-ed3c-409e-b651-7381c8f9cd30 VoiceAppID: ChatAppID: 50077b63-ed3c-409e-b651-7381c8f9cd30 - HostType: 4 + HostType: 1 PreferredRegion: 1 EnabledRegions: -990 Protocol: 0 From d5772a143d7dde986cd7d6748823c1025ba8308f Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 28 Sep 2017 02:35:03 -0500 Subject: [PATCH 8/8] fixed spy's icon during gameplay --- Project Undercover/Assets/Materials/UI.mat | 83 +++++++++++++ .../Assets/Materials/UI.mat.meta | 9 ++ .../Assets/Resources/NPC.prefab | 4 +- .../Assets/Resources/Spy.prefab | 114 +++++++++--------- Project Undercover/Assets/Scenes/scene.unity | 84 ------------- .../Assets/Scripts/PlayerController.cs | 2 - Project Undercover/Assets/Sprites.meta | 9 ++ Project Undercover/Assets/Sprites/mask.png | Bin 0 -> 293780 bytes .../Assets/Sprites/mask.png.meta | 82 +++++++++++++ 9 files changed, 239 insertions(+), 148 deletions(-) create mode 100644 Project Undercover/Assets/Materials/UI.mat create mode 100644 Project Undercover/Assets/Materials/UI.mat.meta create mode 100644 Project Undercover/Assets/Sprites.meta create mode 100644 Project Undercover/Assets/Sprites/mask.png create mode 100644 Project Undercover/Assets/Sprites/mask.png.meta diff --git a/Project Undercover/Assets/Materials/UI.mat b/Project Undercover/Assets/Materials/UI.mat new file mode 100644 index 0000000..43d88ed --- /dev/null +++ b/Project Undercover/Assets/Materials/UI.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI + m_Shader: {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Project Undercover/Assets/Materials/UI.mat.meta b/Project Undercover/Assets/Materials/UI.mat.meta new file mode 100644 index 0000000..70a6ad8 --- /dev/null +++ b/Project Undercover/Assets/Materials/UI.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3c9ba309d7999b489463b2ebe102c8b +timeCreated: 1506583274 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/NPC.prefab b/Project Undercover/Assets/Resources/NPC.prefab index 6c936f6..ac864d3 100644 --- a/Project Undercover/Assets/Resources/NPC.prefab +++ b/Project Undercover/Assets/Resources/NPC.prefab @@ -483,12 +483,12 @@ NavMeshAgent: m_GameObject: {fileID: 1057615597006810} m_Enabled: 1 m_AgentTypeID: 0 - m_Radius: 0.3 + m_Radius: 0.1 m_Speed: 1 m_Acceleration: 1000 avoidancePriority: 50 m_AngularSpeed: 1000 - m_StoppingDistance: 0 + m_StoppingDistance: 0.1 m_AutoTraverseOffMeshLink: 1 m_AutoBraking: 1 m_AutoRepath: 1 diff --git a/Project Undercover/Assets/Resources/Spy.prefab b/Project Undercover/Assets/Resources/Spy.prefab index 42786e6..bf3dede 100644 --- a/Project Undercover/Assets/Resources/Spy.prefab +++ b/Project Undercover/Assets/Resources/Spy.prefab @@ -27,23 +27,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1036170259174936 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224270912928746930} - - component: {fileID: 222756374511622092} - - component: {fileID: 114606643333230990} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 --- !u!1 &1257584423858482 GameObject: m_ObjectHideFlags: 0 @@ -144,6 +127,23 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!1 &1792329136282156 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224202104643401038} + - component: {fileID: 222239225668429162} + - component: {fileID: 114847445332502238} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &1793856925762854 GameObject: m_ObjectHideFlags: 1 @@ -536,39 +536,6 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 10 ---- !u!114 &114606643333230990 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1036170259174936} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: Spy --- !u!114 &114717847564585420 MonoBehaviour: m_ObjectHideFlags: 1 @@ -584,6 +551,33 @@ MonoBehaviour: cameraRigPrefab: {fileID: 1009033979625728, guid: 1764211b5690c164d82aa46fa4ec707d, type: 2} cameraTarget: {fileID: 4793872894975840} +--- !u!114 &114847445332502238 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1792329136282156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: a3c9ba309d7999b489463b2ebe102c8b, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 4947646404ca2a24b822946403e33658, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 --- !u!114 &114874158646270740 MonoBehaviour: m_ObjectHideFlags: 1 @@ -608,12 +602,12 @@ NavMeshAgent: m_GameObject: {fileID: 1802754264274306} m_Enabled: 1 m_AgentTypeID: 0 - m_Radius: 0.3 + m_Radius: 0.1 m_Speed: 1 m_Acceleration: 1000 avoidancePriority: 50 m_AngularSpeed: 1000 - m_StoppingDistance: 0 + m_StoppingDistance: 0.1 m_AutoTraverseOffMeshLink: 1 m_AutoBraking: 1 m_AutoRepath: 1 @@ -621,12 +615,12 @@ NavMeshAgent: m_BaseOffset: 1 m_WalkableMask: 4294967295 m_ObstacleAvoidanceType: 4 ---- !u!222 &222756374511622092 +--- !u!222 &222239225668429162 CanvasRenderer: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1036170259174936} + m_GameObject: {fileID: 1792329136282156} --- !u!223 &223669680760996550 Canvas: m_ObjectHideFlags: 1 @@ -647,12 +641,12 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 ---- !u!224 &224270912928746930 +--- !u!224 &224202104643401038 RectTransform: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1036170259174936} + m_GameObject: {fileID: 1792329136282156} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -662,8 +656,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.2} + m_SizeDelta: {x: 50, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!224 &224646681756712024 RectTransform: @@ -675,12 +669,12 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.02, y: 0.02, z: 1} m_Children: - - {fileID: 224270912928746930} + - {fileID: 224202104643401038} m_Father: {fileID: 4378487762680274} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0.358} + m_AnchoredPosition: {x: 0, y: 0.3} m_SizeDelta: {x: 1, y: 1} m_Pivot: {x: 0.5, y: 0.5} diff --git a/Project Undercover/Assets/Scenes/scene.unity b/Project Undercover/Assets/Scenes/scene.unity index 24102a9..977c890 100644 --- a/Project Undercover/Assets/Scenes/scene.unity +++ b/Project Undercover/Assets/Scenes/scene.unity @@ -449,20 +449,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -745,20 +731,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -1653,20 +1625,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -1859,20 +1817,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -2212,20 +2156,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 @@ -3414,20 +3344,6 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 diff --git a/Project Undercover/Assets/Scripts/PlayerController.cs b/Project Undercover/Assets/Scripts/PlayerController.cs index fec3ed3..62e6863 100644 --- a/Project Undercover/Assets/Scripts/PlayerController.cs +++ b/Project Undercover/Assets/Scripts/PlayerController.cs @@ -39,6 +39,4 @@ public class PlayerController : MonoBehaviour spy.HandShake(); } } - - } \ No newline at end of file diff --git a/Project Undercover/Assets/Sprites.meta b/Project Undercover/Assets/Sprites.meta new file mode 100644 index 0000000..64a47a3 --- /dev/null +++ b/Project Undercover/Assets/Sprites.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 766fbb48f53556d45b788200f67a9260 +folderAsset: yes +timeCreated: 1506583371 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Sprites/mask.png b/Project Undercover/Assets/Sprites/mask.png new file mode 100644 index 0000000000000000000000000000000000000000..874dbc17f2d44bf3709c527bb9b1e906c7dcdfc1 GIT binary patch literal 293780 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 aCI9~mh_ZbDeRcX$kWNomKbLh*2~7Y}LSgm* literal 0 HcmV?d00001 diff --git a/Project Undercover/Assets/Sprites/mask.png.meta b/Project Undercover/Assets/Sprites/mask.png.meta new file mode 100644 index 0000000..f305b3f --- /dev/null +++ b/Project Undercover/Assets/Sprites/mask.png.meta @@ -0,0 +1,82 @@ +fileFormatVersion: 2 +guid: 4947646404ca2a24b822946403e33658 +timeCreated: 1506583394 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: 1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: