add new room 2-sit,add assetbundle loader,read rooms and meeting list form api and show in list

This commit is contained in:
mher 2025-06-15 14:38:42 +03:30
parent 9fd622fc29
commit 0a29a0b48d
102 changed files with 3303 additions and 465 deletions

View File

@ -1565,6 +1565,7 @@
<ProjectReference Include="PhotonVoice.API.csproj" />
<ProjectReference Include="PhotonVoice.csproj" />
<ProjectReference Include="Fusion.Unity.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.StarterAssets.Editor.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.QuickStart.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.AvatarRenders.csproj" />
<ProjectReference Include="ReadyPlayerMe.AvatarCreator.csproj" />
@ -1574,6 +1575,7 @@
<ProjectReference Include="MicAmplifierEditor.Editor.csproj" />
<ProjectReference Include="Paroxe.PDFRenderer.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.SpatialKeyboard.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.StarterAssets.csproj" />
<ProjectReference Include="Voice.FMOD.Editor.csproj" />
<ProjectReference Include="PhotonVoice.Fusion.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.AvatarCreatorWizard.csproj" />

View File

@ -146,6 +146,7 @@
<Compile Include="Assets\BNG Framework\Scripts\UI\VRCanvas.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Extras\SlidingDoorMover.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Core\SmoothLocomotion.cs" />
<Compile Include="Assets\Scripts\ScreenShot\ScreenShot.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Extras\TimeController.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Core\TrackedDevice.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Weapons\AmmoDispenser.cs" />
@ -181,6 +182,7 @@
<Compile Include="Assets\BNG Framework\Scripts\Helpers\HandRepresentationHelper.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Components\Tooltip.cs" />
<Compile Include="Assets\Photon\FusionXRHost\Scripts\Grabbing\NetworkGrabber.cs" />
<Compile Include="Assets\Script\ImportModel\DownloadGlb.cs" />
<Compile Include="Assets\BNG Framework\Scripts\Extras\FPSText.cs" />
<Compile Include="Assets\Coworking office\PostProcessing\Runtime\Models\AmbientOcclusionModel.cs" />
<Compile Include="Assets\Photon\FusionXRHost\Scripts\Locomotion\Fader.cs" />
@ -1937,6 +1939,7 @@
<ProjectReference Include="PhotonVoice.API.csproj" />
<ProjectReference Include="PhotonVoice.csproj" />
<ProjectReference Include="Fusion.Unity.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.StarterAssets.Editor.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.QuickStart.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.AvatarRenders.csproj" />
<ProjectReference Include="ReadyPlayerMe.AvatarCreator.csproj" />
@ -1946,6 +1949,7 @@
<ProjectReference Include="MicAmplifierEditor.Editor.csproj" />
<ProjectReference Include="Paroxe.PDFRenderer.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.SpatialKeyboard.Editor.csproj" />
<ProjectReference Include="Unity.XR.Interaction.Toolkit.Samples.StarterAssets.csproj" />
<ProjectReference Include="Voice.FMOD.Editor.csproj" />
<ProjectReference Include="PhotonVoice.Fusion.csproj" />
<ProjectReference Include="ReadyPlayerMe.Samples.AvatarCreatorWizard.csproj" />

View File

@ -34,7 +34,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
@ -55,7 +55,7 @@ TextureImporter:
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
textureShape: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
@ -70,9 +70,9 @@ TextureImporter:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 0
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

View File

@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Lighting Settings
serializedVersion: 9
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 1
m_LightmapMaxSize: 2048
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 40
m_Padding: 2
m_LightmapCompression: 3
m_AO: 1
m_AOMaxDistance: 0.1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 1
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 50a55ab1a6f16c346b97d3f1db92f513
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,142 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3982346471357629615
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Material
m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _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}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Tex:
m_Texture: {fileID: 8900000, guid: 548d20378fd665e4aa0056817dccf79d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _Exposure: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Rotation: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d89f0d8b91d053f4fbc6305a7da8abde
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

8
Assets/AssetBundles.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 87db1c84e21d0064b92f0b9784c752b5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a4d2c4a6a0247154b9ba9a845cbc5957
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -4,11 +4,10 @@ TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
forceTextureCase: -1
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Montserrat
fontNames:
- Montserrat
fallbackFontReferences:

View File

@ -219,6 +219,9 @@ namespace BNG {
enabled = false;
}
}
else{
return;
}
// Are we pressing button to check for teleport?
aimingTeleport = KeyDownForTeleport();

View File

@ -12,21 +12,14 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3}
m_Name: Vazir SDF
m_EditorClassIdentifier:
hashCode: -1448666521
material: {fileID: 9007623695884566715}
materialHashCode: 714370151
m_Version: 1.1.0
m_SourceFontFileGUID: be27cb0ebbaeb544593165882587d50b
m_SourceFontFile_EditorRef: {fileID: 12800000, guid: be27cb0ebbaeb544593165882587d50b,
type: 3}
m_SourceFontFile: {fileID: 0}
m_AtlasPopulationMode: 0
m_FaceInfo:
m_FaceIndex: 0
m_FamilyName: Vazir
m_StyleName: Regular
m_PointSize: 35
m_Scale: 1
m_UnitsPerEM: 0
m_LineHeight: 54.6875
m_AscentLine: 36.743164
m_CapLine: 25
@ -42,6 +35,31 @@ MonoBehaviour:
m_StrikethroughOffset: 7.6
m_StrikethroughThickness: 1.7089844
m_TabWidth: 10
m_Material: {fileID: 9007623695884566715}
m_SourceFontFileGUID: be27cb0ebbaeb544593165882587d50b
m_CreationSettings:
sourceFontFileName:
sourceFontFileGUID: be27cb0ebbaeb544593165882587d50b
faceIndex: 0
pointSizeSamplingMode: 0
pointSize: 35
padding: 5
paddingMode: 0
packingMode: 4
atlasWidth: 512
atlasHeight: 512
characterSetSelectionMode: 6
characterSequence: 060C,061B,061F,0621,0622,0623,0624,0625,0626,0627,0628,0629,062A,062B,062C,062D,062E,062F,0630,0631,0632,0633,0634,0635,0636,0637,0638,0639,063A,0640,0641,0642,0643,0644,0645,0646,0647,0648,0649,064A,067E,0686,0698,06A9,06AF,FEE1,FED1,06CC,FB56,FB57,FB58,FB59,FB7A,FB7B,FB7C,FB7D,FB8A,FB8B,FB8C,FB8D,FB92,FB93,FB94,FB95,FB8E,FB8F,FB90,FB91,FBFC-FBFF,FE70-FEFF,064b-065f,0670,FC5E-FC63,0660-0669,06F0-06F9
referencedFontAssetGUID:
referencedTextAssetGUID:
fontStyle: 0
fontStyleModifier: 0
renderMode: 4134
includeFontFeatures: 1
m_SourceFontFile: {fileID: 0}
m_SourceFontFilePath:
m_AtlasPopulationMode: 0
InternalDynamicOS: 0
m_GlyphTable:
- m_Index: 152
m_Metrics:
@ -4665,7 +4683,12 @@ MonoBehaviour:
- {fileID: 4102001370814347148}
m_AtlasTextureIndex: 0
m_IsMultiAtlasTexturesEnabled: 0
m_GetFontFeatures: 1
m_ClearDynamicDataOnBuild: 0
m_AtlasWidth: 512
m_AtlasHeight: 512
m_AtlasPadding: 5
m_AtlasRenderMode: 4134
m_UsedGlyphRects:
- m_X: 0
m_Y: 0
@ -6136,57 +6159,14 @@ MonoBehaviour:
m_Y: 475
m_Width: 50
m_Height: 36
m_fontInfo:
Name:
PointSize: 0
Scale: 0
CharacterCount: 0
LineHeight: 0
Baseline: 0
Ascender: 0
CapHeight: 0
Descender: 0
CenterLine: 0
SuperscriptOffset: 0
SubscriptOffset: 0
SubSize: 0
Underline: 0
UnderlineThickness: 0
strikethrough: 0
strikethroughThickness: 0
TabWidth: 0
Padding: 0
AtlasWidth: 0
AtlasHeight: 0
atlas: {fileID: 0}
m_AtlasWidth: 512
m_AtlasHeight: 512
m_AtlasPadding: 5
m_AtlasRenderMode: 4134
m_glyphInfoList: []
m_KerningTable:
kerningPairs: []
m_FontFeatureTable:
m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: []
m_GlyphPairAdjustmentRecords: []
fallbackFontAssets: []
m_MarkToBaseAdjustmentRecords: []
m_MarkToMarkAdjustmentRecords: []
m_ShouldReimportFontFeatures: 0
m_FallbackFontAssetTable: []
m_CreationSettings:
sourceFontFileName:
sourceFontFileGUID: be27cb0ebbaeb544593165882587d50b
pointSizeSamplingMode: 0
pointSize: 35
padding: 5
packingMode: 4
atlasWidth: 512
atlasHeight: 512
characterSetSelectionMode: 6
characterSequence: 060C,061B,061F,0621,0622,0623,0624,0625,0626,0627,0628,0629,062A,062B,062C,062D,062E,062F,0630,0631,0632,0633,0634,0635,0636,0637,0638,0639,063A,0640,0641,0642,0643,0644,0645,0646,0647,0648,0649,064A,067E,0686,0698,06A9,06AF,FEE1,FED1,06CC,FB56,FB57,FB58,FB59,FB7A,FB7B,FB7C,FB7D,FB8A,FB8B,FB8C,FB8D,FB92,FB93,FB94,FB95,FB8E,FB8F,FB90,FB91,FBFC-FBFF,FE70-FEFF,064b-065f,0670,FC5E-FC63,0660-0669,06F0-06F9
referencedFontAssetGUID:
referencedTextAssetGUID:
fontStyle: 0
fontStyleModifier: 0
renderMode: 4134
includeFontFeatures: 1
m_FontWeightTable:
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
@ -6215,6 +6195,33 @@ MonoBehaviour:
boldSpacing: 7
italicStyle: 35
tabSize: 10
m_fontInfo:
Name:
PointSize: 0
Scale: 0
CharacterCount: 0
LineHeight: 0
Baseline: 0
Ascender: 0
CapHeight: 0
Descender: 0
CenterLine: 0
SuperscriptOffset: 0
SubscriptOffset: 0
SubSize: 0
Underline: 0
UnderlineThickness: 0
strikethrough: 0
strikethroughThickness: 0
TabWidth: 0
Padding: 0
AtlasWidth: 0
AtlasHeight: 0
m_glyphInfoList: []
m_KerningTable:
kerningPairs: []
fallbackFontAssets: []
atlas: {fileID: 0}
--- !u!28 &4102001370814347148
Texture2D:
m_ObjectHideFlags: 0
@ -6225,10 +6232,8 @@ Texture2D:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 2
serializedVersion: 3
m_Width: 512
m_Height: 512
m_CompleteImageSize: 262144
@ -6237,7 +6242,8 @@ Texture2D:
m_MipCount: 1
m_IsReadable: 0
m_IsPreProcessed: 0
m_IgnoreMasterTextureLimit: 0
m_IgnoreMipmapLimit: 0
m_MipmapLimitGroupName:
m_StreamingMipmaps: 0
m_StreamingMipmapsPriority: 0
m_VTOnly: 0
@ -6370,3 +6376,4 @@ Material:
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -3,8 +3,8 @@ guid: 575337e635cd9ba449c8606ebec1f846
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
fontSize: 200
forceTextureCase: -1
characterSpacing: 0
characterPadding: 1
includeFontData: 1
@ -13,6 +13,8 @@ TrueTypeFontImporter:
fallbackFontReferences:
- {fileID: 12800000, guid: 60c217f3db68db4449cc6f2188365185, type: 3}
- {fileID: 12800000, guid: e2ee5a696599a644697bcfc244e6747e, type: 3}
- {fileID: 12800000, guid: be27cb0ebbaeb544593165882587d50b, type: 3}
- {fileID: 12800000, guid: 38dde9f5e50a2c541a5d747fa989c9f6, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1

View File

@ -3,8 +3,8 @@ guid: be27cb0ebbaeb544593165882587d50b
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
fontSize: 198
forceTextureCase: -1
characterSpacing: 0
characterPadding: 1
includeFontData: 1

View File

@ -0,0 +1,39 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CameraLayer
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0
serializedVersion: 6
m_Width: 1920
m_Height: 1080
m_AntiAliasing: 4
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 8
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_UseDynamicScaleExplicit: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 94acf02510cfb02449715e586b712709
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/CoachingRoom.unity (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 83dc4faec09f89a4ca317b09af0f14c2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName: futuristicroom10
assetBundleVariant: 12

View File

@ -25,6 +25,8 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
- _SPECULAR_SETUP
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
@ -102,7 +104,7 @@ Material:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 1
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
@ -130,7 +132,7 @@ Material:
- _SrcBlendAlpha: 1
- _Surface: 1
- _UVSec: 0
- _WorkflowMode: 1
- _WorkflowMode: 0
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 0}

View File

@ -1,9 +1,16 @@
fileFormatVersion: 2
guid: 87ea2079a91b3e74f84b5cb700abb4d6
AssetOrigin:
serializedVersion: 1
productId: 199010
packageName: Dark Theme UI
packageVersion: 1.1
assetPath: Assets/Dark UI/Free/128.png
uploadId: 700413
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
@ -20,10 +27,12 @@ TextureImporter:
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@ -32,9 +41,9 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
@ -62,8 +71,10 @@ TextureImporter:
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 3
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@ -73,12 +84,40 @@ TextureImporter:
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
@ -88,16 +127,11 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 199010
packageName: Dark Theme UI
packageVersion: 1.1
assetPath: Assets/Dark UI/Free/128.png
uploadId: 700413

View File

@ -1,72 +1,111 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Android;
using static ENMenu;
public class EN : MonoBehaviour
{
//[System.Serializable]
//public class User
//{
// public int id;
// public string name;
// public string job;
// public GameObject character;
//}
public static EN instance;
public List<User> users = new List<User>();
public User SelectedUser;
public User Me;
// ✅ Lists for meetings and spaces
public List<Meeting> meetings = new List<Meeting>();
public List<UserSpace> spaces = new List<UserSpace>();
public string selectedSpaceUrl;
public string selectedSpaceId;
public GameObject Error;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Awake()
{
if(EN.instance)
if (EN.instance)
{
Destroy(gameObject);
return;
}
DontDestroyOnLoad(this.gameObject);
instance = this;
}
public void Start()
{
if (!Permission.HasUserAuthorizedPermission(Permission.Microphone))
{
Permission.RequestUserPermission(Permission.Microphone);
}
// StartCoroutine(webservice.instance. LoginRequest(OnLoginSuccess));
// Optionally preload meetings and spaces if Me is available
// StartCoroutine(webservice.instance.GetUserMeetings(OnMeetingsLoaded));
// StartCoroutine(webservice.instance.GetSpaces(OnSpacesLoaded));
}
// ✅ Callback to populate meetings list
public void OnMeetingsLoaded(MeetingResponse response)
{
if (response != null && response.meetings != null)
{
meetings = response.meetings;
Debug.Log("Meetings loaded: " + meetings.Count);
}
else
{
showError("خطا", "بارگذاری جلسات با خطا مواجه شد");
}
}
// ✅ Callback to populate spaces list
public void OnSpacesLoaded(SpaceResponse response)
{
if (response != null && response.spaces != null)
{
spaces = response.spaces;
if (spaces != null && spaces.Count > 0 && spaces[0].assetBundleRoomId != null)
{
selectedSpaceUrl = spaces[0].assetBundleRoomId.url;
}
public GameObject Error;
else
{
Debug.LogWarning("No available spaces or assetBundleRoomId is null.");
selectedSpaceUrl = null; // or some fallback
}
public void showError(string title,string description)
Debug.Log("Spaces loaded: " + spaces.Count);
}
else
{
showError("خطا", "بارگذاری فضاها با خطا مواجه شد");
}
}
public void showError(string title, string description)
{
CancelInvoke("hideError");
gameObject.transform .position= GameObject.FindGameObjectWithTag("anocher").transform.position;
gameObject.transform .rotation= GameObject.FindGameObjectWithTag("anocher").transform.rotation;
gameObject.transform.position = GameObject.FindGameObjectWithTag("anocher").transform.position;
gameObject.transform.rotation = GameObject.FindGameObjectWithTag("anocher").transform.rotation;
Error.SetActive(true);
Error.transform.Find("error/title").GetComponentInChildren<RTLTMPro.RTLTextMeshPro>().text = title;
Error.transform.Find("error/description").GetComponentInChildren<RTLTMPro.RTLTextMeshPro>().text = description;
Invoke("hideError", 6);
}
public void hideError()
{
Error.SetActive(false);
}
// Update is called once per frame
void Update()
{
}
internal void Print(string j)
{
print(j);

View File

@ -7,15 +7,19 @@ using Siccity.GLTFUtility;
using BNG;
using Fusion.XR.Host.Rig;
using Fusion;
using System.Threading;
using System.Linq;
public class ENMenu : NetworkBehaviour
{
SceneDownloader SceneDownloader;
public GameObject itemPr;
public Transform menu;
public List<GameObject> items = new List<GameObject>();
public GameObject tablet;
public UnityEngine.UI.Button button;
public UnityEngine.UI.Button buttonLoadSpace;
public GameObject loading;
public GameObject LoginMenu;
public GameObject Rooms;
@ -36,9 +40,11 @@ public class ENMenu : NetworkBehaviour
void Start()
{
SceneDownloader=GetComponent<SceneDownloader>();
Invoke("PlayWelcome", delay);
EN.instance.SelectedUser = EN.instance.users[0];
EN.instance.SelectedUser = EN.instance.users.Count > 0 ? EN.instance.users[0] : null;
string user = PlayerPrefs.GetString("user", "");
if (!string.IsNullOrEmpty(user))
@ -49,8 +55,8 @@ public class ENMenu : NetworkBehaviour
var data = new Dictionary<string, string>
{
{ "password", code.text.ToString() },
{ "mobile_number", phone.text.ToString() }
{ "password", code.text },
{ "mobile_number", phone.text }
};
StartCoroutine(webservice.instance.LoginRequest(data, OnLoginSuccess));
@ -77,24 +83,24 @@ public class ENMenu : NetworkBehaviour
public void Login()
{
LoginMenu.gameObject.SetActive(false);
loading.gameObject.SetActive(true);
LoginMenu.SetActive(false);
loading.SetActive(true);
var data = new Dictionary<string, string>
{
{ "password", code.text.ToString() },
{ "mobile_number", phone.text.ToString() }
{ "password", code.text },
{ "mobile_number", phone.text }
};
PlayerPrefs.SetString("mobile_number", phone.text.ToString());
PlayerPrefs.SetString("password", code.text.ToString());
PlayerPrefs.SetString("mobile_number", phone.text);
PlayerPrefs.SetString("password", code.text);
StartCoroutine(webservice.instance.LoginRequest(data, OnLoginSuccess));
}
void OnLoginSuccess(User response)
{
loading.gameObject.SetActive(false);
loading.SetActive(false);
if (response != null)
{
@ -106,17 +112,24 @@ public class ENMenu : NetworkBehaviour
GuestButton.SetActive(false);
ExitButton.SetActive(true);
EnterButton.SetActive(true);
Debug.Log("Login successful");
// Call GetInfo after successful login
// After login success, load user info
StartCoroutine(webservice.instance.GetInfoRequest(OnGetInfoSuccess));
// Also, load meetings and spaces
StartCoroutine(webservice.instance.GetUserMeetings(EN.instance.OnMeetingsLoaded));
StartCoroutine(webservice.instance.GetSpaces(EN.instance.OnSpacesLoaded));
}
else
{
switch (webservice.instance.lastErrorType)
{
case ErrorType.Authentication:
LoginMenu.gameObject.SetActive(true);
LoginMenu.SetActive(true);
EN.instance.showError("خطا در ورود", webservice.instance.lastErrorResponse?.message ?? "نام کاربری یا رمز عبور اشتباه است");
break;
case ErrorType.Network:
@ -136,9 +149,8 @@ public class ENMenu : NetworkBehaviour
{
if (response != null)
{
// Update user information with GetInfo response
EN.instance.Me.characterUrl = response.customer.profile_glb;
EN.instance.Me.character=playerPref;
EN.instance.Me.character = playerPref;
Debug.Log("GetInfo successful - Character URL: " + response.customer.profile_glb);
}
else
@ -160,11 +172,9 @@ public class ENMenu : NetworkBehaviour
if (clip != null)
{
GameObject audioObject = new GameObject("AudioSource_" + soundName);
AudioSource audioSource = audioObject.AddComponent<AudioSource>();
audioSource.volume = volume;
audioSource.spatialBlend = 0;
audioSource.clip = clip;
audioSource.Play();
@ -183,20 +193,26 @@ public class ENMenu : NetworkBehaviour
public void Select(GameObject i)
{
EN.instance.SelectedUser = EN.instance.users[int.Parse(i.name)];
if (int.TryParse(i.name, out int index) && index >= 0 && index < EN.instance.users.Count)
{
EN.instance.SelectedUser = EN.instance.users[index];
}
}
public void SelectEnviroment(GameObject i)
public void SelectEnvironment(GameObject i)
{
Application.LoadLevel(int.Parse(i.name) + 1);
if (int.TryParse(i.name, out int index))
{
Application.LoadLevel(index + 1);
}
}
void Update()
{
tablet.gameObject.SetActive(!EN.instance.Error.gameObject.activeSelf);
tablet.SetActive(!EN.instance.Error.activeSelf);
button.interactable = phone.text.Length > 10 && code.text.Length > 3;
if (Application.isEditor)
tablet.transform.parent = null;
}
}

8
Assets/Editor.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cd2afaeda1505d74d8dd3b7729983408
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,31 @@
using UnityEditor;
using UnityEngine;
public class AssetBundleCreator
{
[MenuItem("Tools/Build AssetBundles/Android")]
public static void BuildAndroidAssetBundles()
{
string outputPath = "AssetBundles/Android";
if (!System.IO.Directory.Exists(outputPath))
{
System.IO.Directory.CreateDirectory(outputPath);
}
// Recommended: Force include shaders to prevent pink materials
BuildAssetBundleOptions options =
BuildAssetBundleOptions.StrictMode | // Ensures strict dependency checking
BuildAssetBundleOptions.ForceRebuildAssetBundle; // Ensures a clean rebuild
// Build the AssetBundles
BuildPipeline.BuildAssetBundles(
outputPath,
options,
BuildTarget.Android
);
Debug.Log("✅ Android AssetBundles built at: " + outputPath);
AssetDatabase.Refresh(); // Refresh Unity's asset database
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 29fd4556041338043b18d2872ca1afc9

View File

@ -69,7 +69,9 @@ MonoBehaviour:
- rid: 420368092579495945
- rid: 420368092579495946
- rid: 420368092579495948
- rid: 7351829830484885594
- rid: 420368092579495952
- rid: 7351829830484885598
- rid: 420368092579495955
m_AssetVersion: 8
m_ObsoleteDefaultVolumeProfile: {fileID: 0}

View File

@ -27,7 +27,7 @@ public class InternetChecker : MonoBehaviour
{
UnityWebRequest request = new UnityWebRequest("https://www.google.com");
request.method = UnityWebRequest.kHttpVerbHEAD;
print("ERROR");
//print("ERROR");
yield return request.SendWebRequest();
#if UNITY_2020_1_OR_NEWER

View File

@ -0,0 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CameraLayer
m_Shader: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 8400000, guid: 94acf02510cfb02449715e586b712709, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: []
m_Colors: []
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5dfbb1afc25d8c3429842e5bfe2bbb74
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,156 +2,138 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PDFPlaneMaterial
m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 5
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _GLOSSINESS_FROM_BASE_ALPHA
- _SPECULAR_COLOR
m_InvalidKeywords: []
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 2
serializedVersion: 3
m_TexEnvs:
data:
first:
name: _MainTex
second:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _BumpMap
second:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailNormalMap
second:
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _ParallaxMap
second:
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _OcclusionMap
second:
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _EmissionMap
second:
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailMask
second:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _DetailAlbedoMap
second:
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _MetallicGlossMap
second:
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
data:
first:
name: _SpecGlossMap
second:
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
data:
first:
name: _SrcBlend
second: 1
data:
first:
name: _DstBlend
second: 0
data:
first:
name: _Cutoff
second: 0.5
data:
first:
name: _Parallax
second: 0.02
data:
first:
name: _ZWrite
second: 1
data:
first:
name: _Glossiness
second: 0.5
data:
first:
name: _BumpScale
second: 1
data:
first:
name: _OcclusionStrength
second: 1
data:
first:
name: _DetailNormalMapScale
second: 1
data:
first:
name: _UVSec
second: 0
data:
first:
name: _Mode
second: 0
data:
first:
name: _Metallic
second: 0
data:
first:
name: _EmissionScaleUI
second: 0
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 0
- _Glossiness: 0.5
- _GlossinessSource: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Shininess: 0
- _Smoothness: 0.5
- _SmoothnessSource: 1
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _ZWrite: 1
m_Colors:
data:
first:
name: _EmissionColor
second: {r: 0, g: 0, b: 0, a: 1}
data:
first:
name: _Color
second: {r: 1, g: 1, b: 1, a: 1}
data:
first:
name: _SpecColor
second: {r: 0.2, g: 0.2, b: 0.2, a: 1}
data:
first:
name: _EmissionColorUI
second: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8218264903885036047
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

View File

@ -18,7 +18,7 @@ MonoBehaviour:
AppIdVoice: 1fba3dfc-beb8-4854-8cf3-f3e90d096822
AppVersion:
UseNameServer: 1
FixedRegion: in
FixedRegion: tr
Server:
Port: 0
ProxyServer:

View File

@ -3,15 +3,17 @@ using Fusion.Sockets;
using Fusion.XR.Host.Rig;
using Photon.Realtime;
using System;
using System.Linq;
using System.Collections.Generic;
using System.Security.Policy;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Rendering;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using static Unity.Collections.Unicode;
using System.Text.RegularExpressions;
namespace Fusion.Addons.ConnectionManagerAddon
{
/**
@ -22,6 +24,7 @@ namespace Fusion.Addons.ConnectionManagerAddon
**/
public class ConnectionManager : MonoBehaviour, INetworkRunnerCallbacks
{
//public AssetBundleDownloaderAndLoader assetBundleDownloaderAndLoader;
public GameObject[] chairs;
public bool presentation;
public GameObject Loading;
@ -38,6 +41,26 @@ namespace Fusion.Addons.ConnectionManagerAddon
public string propertyName;
public string value;
}
public void AssignMapReferences()
{
if (usersPlace.Length == 0 || chairs.Length == 0)
Debug.LogWarning("[ConnectionManager] usersPlace or chairs not found after AssetBundle load.");
else
Debug.Log("[ConnectionManager] usersPlace and chairs assigned.");
roomName=EN.instance.selectedSpaceId;
}
int ExtractNumber(string name)
{
var match = Regex.Match(name, @"\d+");
return match.Success ? int.Parse(match.Value) : int.MaxValue;
}
public void Update()
{
if (Application.loadedLevelName.Equals("Lobby"))
@ -46,16 +69,19 @@ namespace Fusion.Addons.ConnectionManagerAddon
{
FusionRig.instance.transform.position = usersPlace[0].transform.position;
}
if (runner.IsConnectedToServer&&presentation&&!PlayerTeleport.instance.chair&&runner.LocalPlayer.PlayerId>1)
if (runner.IsConnectedToServer&&presentation&&!PlayerTeleport.instance.chair&&runner.LocalPlayer.PlayerId>=0)
{
chairs[runner.LocalPlayer.PlayerId].GetComponent<Chair>().SetSit();
}
Loading.gameObject.SetActive(!runner||! runner.IsConnectedToServer);
}
[Header("Room configuration")]
public GameMode gameMode = GameMode.Shared;
public string roomName = "SampleFusion";
[SerializeField]private string roomName = "SampleFusion";
public bool connectOnStart = true;
[Tooltip("Set it to 0 to use the DefaultPlayers value, from the Global NetworkProjectConfig (simulation section)")]
public int playerCount = 0;
@ -89,13 +115,16 @@ namespace Fusion.Addons.ConnectionManagerAddon
private void Awake()
{
//assetBundleDownloaderAndLoader=GetComponent<AssetBundleDownloaderAndLoader>();
if (!EN.instance)
{
//Application.LoadLevel(0);
Application.LoadLevel(0);
Destroy(gameObject);
return;
}
AssignMapReferences();
// Check if a runner exist on the same game object
if (runner == null) runner = GetComponent<NetworkRunner>();
instance = this;
@ -115,7 +144,7 @@ namespace Fusion.Addons.ConnectionManagerAddon
private async void Start()
{
chairs = GameObject.FindGameObjectsWithTag("chair");
//chairs = GameObject.FindGameObjectsWithTag("chair");
//Invoke("createChairs", 5);
PlaySound("intro");
// Launch the connection at start

BIN
Assets/Prefabs/1.prefab (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 68b46b983ad510149bee875b9fcaf627
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Prefabs/X_Room_03_04-03-18-002 - Copy.glb (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: ec149ee6d067e1c49a85d7381baeaf96
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3}
editorImportSettings:
generateSecondaryUVSet: 0
importSettings:
nodeNameMethod: 1
animationMethod: 2
generateMipMaps: 1
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2
assetDependencies: []
reportItems: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e3d9a7f6eb7f266438db417acb25cd66
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: e70703469e9a9f5478232cfe73e395ce
labels:
- FusionPrefab
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4991990423166999442
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
@ -8,7 +21,9 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blocks
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _NORMALMAP
@ -17,11 +32,18 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
m_Scale: {x: 1, y: 1}
@ -43,7 +65,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
@ -58,12 +80,39 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
@ -71,12 +120,21 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 0.6, b: 0, a: 1}
- _BaseColor: {r: 1, g: 0.6, b: 0, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -8,7 +8,9 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GridFloor
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _NORMALMAP
@ -17,18 +19,25 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
m_Scale: {x: 5, y: 5}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Scale: {x: 0.2, y: 0.2}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
@ -43,8 +52,8 @@ Material:
m_Scale: {x: 5, y: 5}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
m_Scale: {x: 5, y: 5}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
@ -58,12 +67,39 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
@ -71,12 +107,34 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.27058825, g: 0.65882355, b: 0.8784314, a: 1}
- _BaseColor: {r: 0.2705882, g: 0.65882355, b: 0.8784314, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8876155319544260431
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

View File

@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4619473865430559386
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
@ -8,25 +21,34 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Ground
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 20, y: 20}
m_Offset: {x: 0, y: 0}
- _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_Scale: {x: 0.05, y: 0.05}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
@ -42,7 +64,7 @@ Material:
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 20, y: 20}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
@ -56,12 +78,39 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
@ -69,12 +118,21 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.50980395, g: 0.627451, b: 0.6901961, a: 1}
- _BaseColor: {r: 0.5098039, g: 0.62745106, b: 0.6901961, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -8,15 +8,21 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GrabHandle
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Shader: {fileID: -6465566751694194690, guid: 0927d29e476ce5843b1f7d2a96943c51,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -44,10 +50,18 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
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}
- _NormalMap:
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}
@ -56,9 +70,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _BUILTIN_AlphaClip: 0
- _BUILTIN_Blend: 0
- _BUILTIN_CullMode: 2
- _BUILTIN_DstBlend: 0
- _BUILTIN_QueueControl: -1
- _BUILTIN_QueueOffset: 0
- _BUILTIN_SrcBlend: 1
- _BUILTIN_Surface: 0
- _BUILTIN_ZTest: 4
- _BUILTIN_ZWrite: 1
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _BumpScale: 1
- _CastShadows: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
@ -67,14 +110,55 @@ Material:
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.2
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _RimPower: 5
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
m_Colors:
- _BaseColor: {r: 0.44339618, g: 0.44339618, b: 0.44339618, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _NormalOffset: {r: 0, g: 0, b: 0, a: 0}
- _NormalTiling: {r: 1, g: 1, b: 0, a: 0}
- _RimColor: {r: 1, g: 1, b: 1, a: 0.5803922}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &3572587442085198344
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0
--- !u!114 &8779885048964753496
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

View File

@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4450609276103759250
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
@ -8,20 +21,25 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ScaleHandle
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Shader: {fileID: -6465566751694194690, guid: 0927d29e476ce5843b1f7d2a96943c51,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
m_InvalidKeywords:
- _ALPHABLEND_ON
- _GLOSSYREFLECTIONS_OFF
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Transparent
disabledShaderPasses: []
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@ -53,10 +71,18 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTexture:
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}
- _NormalMap:
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}
@ -69,34 +95,91 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _BUILTIN_AlphaClip: 0
- _BUILTIN_Blend: 0
- _BUILTIN_CullMode: 2
- _BUILTIN_DstBlend: 0
- _BUILTIN_QueueControl: -1
- _BUILTIN_QueueOffset: 0
- _BUILTIN_SrcBlend: 1
- _BUILTIN_Surface: 0
- _BUILTIN_ZTest: 4
- _BUILTIN_ZWrite: 1
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _BumpScale: 1
- _CastShadows: 1
- _ColorMask: 15
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlend: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 0.2
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _RimPower: 5
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 1
- _SpecularHighlights: 0
- _SrcBlend: 5
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _Strength: 0.2
- _Surface: 0
- _UVSec: 0
- _UseUIAlphaClip: 0
- _ZWrite: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
m_Colors:
- _BaseColor: {r: 0.44339618, g: 0.44339618, b: 0.44339618, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 0.050980393}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _NormalOffset: {r: 0, g: 0, b: 0, a: 0}
- _NormalTiling: {r: 1, g: 1, b: 0, a: 0}
- _RimColor: {r: 1, g: 1, b: 1, a: 0.5803922}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &5696284256474513518
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0

View File

@ -3,7 +3,7 @@ guid: 30a9256eb7d98ad4188fe103a8e7143b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
@ -20,11 +20,12 @@ TextureImporter:
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@ -33,11 +34,11 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
@ -63,9 +64,10 @@ TextureImporter:
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@ -75,9 +77,10 @@ TextureImporter:
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
@ -87,9 +90,10 @@ TextureImporter:
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@ -99,9 +103,10 @@ TextureImporter:
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
@ -111,12 +116,14 @@ TextureImporter:
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
@ -126,10 +133,11 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
spritePackingTag:
mipmapLimitGroupName:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Scenes/test.unity (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e0e66433570f71447b1bba45992e9ac1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,103 @@
using System;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;
using Fusion;
public class AssetBundleNetworkDownloader : NetworkBehaviour
{
[Header("Reference")]
public GameObject map; // Where to spawn downloaded content
[Networked, OnChangedRender(nameof(OnUrlChanged))]
private NetworkString<_512> BundleUrl { get; set; }
[NonSerialized] public bool serverDownloaded = false;
private string _previousUrl = null;
public override void Spawned()
{
Debug.Log($"[AssetBundleDownloader] Spawned for {Object.InputAuthority}");
if (Object.HasInputAuthority)
{
string url = EN.instance.mapUrl;
if (!string.IsNullOrEmpty(url))
{
Debug.Log($"[AssetBundleDownloader] Setting BundleUrl to {url}");
BundleUrl = url;
}
else
{
Debug.LogWarning("[AssetBundleDownloader] Empty mapUrl in EN.instance");
}
}
else
{
// Late joiner: use already set BundleUrl
if (!string.IsNullOrEmpty(BundleUrl.ToString()))
{
_previousUrl = BundleUrl.ToString();
Debug.Log($"[AssetBundleDownloader] Late joiner loading bundle: {_previousUrl}");
_ = DownloadAndInstantiate(_previousUrl);
}
}
}
private void OnUrlChanged()
{
Debug.Log($"[AssetBundleDownloader] OnUrlChanged triggered: {BundleUrl}");
string newUrl = BundleUrl.ToString();
if (!string.IsNullOrEmpty(newUrl) && newUrl != _previousUrl)
{
_previousUrl = newUrl;
_ = DownloadAndInstantiate(newUrl);
}
}
private async Task DownloadAndInstantiate(string url)
{
serverDownloaded = false;
using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(url))
{
var op = uwr.SendWebRequest();
while (!op.isDone)
await Task.Yield();
if (uwr.result != UnityWebRequest.Result.Success)
{
Debug.LogError($"[AssetBundleDownloader] Download failed: {uwr.error}");
return;
}
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr);
if (bundle == null)
{
Debug.LogError("[AssetBundleDownloader] Failed to load AssetBundle content");
return;
}
string[] assetNames = bundle.GetAllAssetNames();
if (assetNames.Length > 0)
{
GameObject prefab = bundle.LoadAsset<GameObject>(assetNames[0]);
if (prefab != null)
{
GameObject obj = Instantiate(prefab, map ? map.transform.position : Vector3.zero, Quaternion.identity);
obj.tag = "NetworkAssetBundle";
Debug.Log("[AssetBundleDownloader] Asset instantiated.");
}
}
else
{
Debug.LogWarning("[AssetBundleDownloader] No assets found in bundle.");
}
bundle.Unload(false); // Keep loaded assets in memory
serverDownloaded = true;
}
}
}

View File

@ -0,0 +1,62 @@
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;
using Fusion;
using System.Linq;
public class AssetBundleDownloaderAndLoader : MonoBehaviour
{
public string assetBundleUrl;
public GameObject loadedMapPrefab;
public async Task<bool> DownloadAndPrepareMap()
{
string spaceUrl = EN.instance.spaces.FirstOrDefault()?.assetBundleRoomId?.url;
if (string.IsNullOrEmpty(spaceUrl))
{
Debug.LogError("[Loader] No AssetBundle URL found.");
return false;
}
assetBundleUrl = "http://194.62.43.230:8000/" + spaceUrl;
Debug.Log("[Loader] Downloading AssetBundle from: " + assetBundleUrl);
using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(assetBundleUrl))
{
var operation = uwr.SendWebRequest();
while (!operation.isDone)
await Task.Yield();
if (uwr.result != UnityWebRequest.Result.Success)
{
Debug.LogError("[Loader] AssetBundle download failed: " + uwr.error);
return false;
}
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr);
if (bundle == null)
{
Debug.LogError("[Loader] Failed to load AssetBundle.");
return false;
}
string[] assetNames = bundle.GetAllAssetNames();
if (assetNames.Length == 0)
{
Debug.LogError("[Loader] No assets found in AssetBundle.");
return false;
}
loadedMapPrefab = bundle.LoadAsset<GameObject>(assetNames[0]);
if (loadedMapPrefab == null || loadedMapPrefab.GetComponent<NetworkObject>() == null)
{
Debug.LogError("[Loader] Prefab missing or missing NetworkObject.");
return false;
}
Debug.Log("[Loader] AssetBundle downloaded and prefab prepared.");
bundle.Unload(false); // Keep asset in memory
return true;
}
}
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e940b54b6013672449444115b630f774
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 308c1bcd3235bdf4c8734e142a9df82b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,215 @@
using System.Collections;
using System.Collections.Generic;
using RTLTMPro;
using TMPro;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class SceneDownloader : MonoBehaviour
{
[SerializeField] private GameObject buttonPrefab;
[SerializeField] private Transform buttonParent;
private Dictionary<string, AssetBundle> downloadedBundles = new();
private Dictionary<string, string> sceneNames = new();
void Start()
{
StartCoroutine(GenerateButtonsForSpaces());
}
public void loadSceneManually()
{
EN.instance.selectedSpaceId = "coaching";
}
private IEnumerator GenerateButtonsForSpaces()
{
while (EN.instance == null || EN.instance.spaces == null || EN.instance.spaces.Count == 0)
yield return null;
foreach (var space in EN.instance.spaces)
{
if (!string.IsNullOrEmpty(space.assetBundleRoomId?.url))
{
string fullUrl = "http://194.62.43.230:8000/" + space.assetBundleRoomId.url;
GameObject buttonObj = Instantiate(buttonPrefab, buttonParent);
buttonObj.name = "Button_" + space.name;
RTLTextMeshPro btnText = buttonObj.GetComponentInChildren<RTLTextMeshPro>();
btnText.text = space.name;
GameObject progressPanel = buttonObj.transform.Find("progressPanel").gameObject;
TMP_Text progressText = FindTextWithTag(progressPanel, "percent");
progressPanel.SetActive(false);
Button btn = buttonObj.GetComponent<Button>();
btn.onClick.AddListener(() =>
{
StartCoroutine(OnSpaceButtonClicked(space, fullUrl, progressPanel, progressText));
});
}
}
}
private IEnumerator OnSpaceButtonClicked(UserSpace space, string bundleUrl, GameObject progressPanel, TMP_Text progressText)
{
string spaceName = space.name;
if (downloadedBundles.ContainsKey(spaceName))
{
LoadScene(space);
yield break;
}
progressPanel.SetActive(true);
progressText.text = "0%";
// Use a hardcoded or dynamic hash to uniquely version your bundles
Hash128 bundleHash = Hash128.Parse("0123456789abcdef0123456789abcdef"); // replace with your actual versioning logic
// Check if bundle is already cached
bool isCached = Caching.IsVersionCached(bundleUrl, bundleHash);
if (isCached)
{
Debug.Log("Loading from cache: " + bundleUrl);
}
UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(bundleUrl, bundleHash, 0);
var operation = request.SendWebRequest();
while (!operation.isDone)
{
int percent = Mathf.RoundToInt(operation.progress * 100);
progressText.text = percent + "%";
yield return null;
}
if (request.result != UnityWebRequest.Result.Success)
{
Debug.LogError("Failed to download AssetBundle: " + request.error);
progressText.text = "Error!";
yield return new WaitForSeconds(1.5f);
progressPanel.SetActive(false);
}
else
{
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(request);
if (bundle == null)
{
progressText.text = "Load failed!";
yield return new WaitForSeconds(1.5f);
progressPanel.SetActive(false);
yield break;
}
downloadedBundles[spaceName] = bundle;
string scenePath = bundle.GetAllScenePaths()[0];
string sceneName = System.IO.Path.GetFileNameWithoutExtension(scenePath);
sceneNames[spaceName] = sceneName;
progressText.text = "Done!";
yield return new WaitForSeconds(0.5f);
progressPanel.SetActive(false);
}
}
private void LoadScene(UserSpace space)
{
string spaceName = space.name;
if (!sceneNames.ContainsKey(spaceName))
{
Debug.LogError("No scene for space: " + spaceName);
return;
}
string sceneToLoad = sceneNames[spaceName];
EN.instance.selectedSpaceId = space.assetBundleRoomId.id.ToString(); // Save scene ID for use elsewhere
SceneManager.sceneLoaded += OnSceneLoaded;
SceneManager.LoadScene(sceneToLoad);
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
Debug.Log("Scene loaded, fixing shaders and skybox...");
Renderer[] renderers = GameObject.FindObjectsOfType<Renderer>(true);
foreach (Renderer renderer in renderers)
{
foreach (Material mat in renderer.sharedMaterials)
{
FixMaterialShader(mat);
}
}
if (RenderSettings.skybox == null || RenderSettings.skybox.shader == null)
{
Material fallbackSkybox = Resources.Load<Material>("FallbackSkybox");
if (fallbackSkybox != null)
{
RenderSettings.skybox = fallbackSkybox;
Debug.Log("Applied fallback skybox.");
}
else
{
Debug.LogWarning("FallbackSkybox material not found in Resources.");
}
}
else
{
Shader skyboxShader = Shader.Find(RenderSettings.skybox.shader.name);
if (skyboxShader != null)
{
RenderSettings.skybox.shader = skyboxShader;
Debug.Log("Skybox shader fixed: " + skyboxShader.name);
}
else
{
Debug.LogWarning("Skybox shader not found: " + RenderSettings.skybox.shader.name);
}
}
SceneManager.sceneLoaded -= OnSceneLoaded;
}
private void FixMaterialShader(Material mat)
{
if (mat == null || mat.shader == null) return;
Shader foundShader = Shader.Find(mat.shader.name);
if (foundShader != null)
{
mat.shader = foundShader;
}
else
{
Debug.LogWarning("Shader not found: " + mat.shader.name);
}
}
public void UnloadAllBundles()
{
foreach (var bundle in downloadedBundles.Values)
bundle.Unload(false);
downloadedBundles.Clear();
sceneNames.Clear();
}
private TMP_Text FindTextWithTag(GameObject parent, string tag)
{
foreach (Transform child in parent.transform)
{
if (child.CompareTag(tag))
return child.GetComponent<TMP_Text>();
}
return null;
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 82927fa0a5df565418996b983dcad3dd

View File

@ -1,15 +1,47 @@
using UnityEngine;
using System.IO;
using System.Collections;
using UnityEngine.Networking;
public class ScreenShot : MonoBehaviour
{
[SerializeField] private string apiUrl = "YOUR_API_ENDPOINT_HERE"; // Replace with your API endpoint
[SerializeField] private float screenshotCooldown = 5f; // Cooldown in seconds
[Header("API Settings")]
[SerializeField] private string apiUrl = "http://my.xroomapp.com:8000/uploadImage/";
[SerializeField] private string screenshotName = "Screenshot";
[Header("Cooldown Settings")]
[SerializeField] private float screenshotCooldown = 5f;
private bool canTakeScreenshot = true;
[Header("Camera Setup")]
[SerializeField] private Camera BackCamera;
[SerializeField] private Camera selfieCamera;
[SerializeField] private RenderTexture tr;
private Camera activeCamera;
void Start()
{
SetActiveCamera(BackCamera); // Start with back camera by default
}
public void ToggleCamera()
{
if (activeCamera == BackCamera)
{
SetActiveCamera(selfieCamera);
}
else
{
SetActiveCamera(BackCamera);
}
}
private void SetActiveCamera(Camera cameraToActivate)
{
BackCamera.gameObject.SetActive(cameraToActivate == BackCamera);
selfieCamera.gameObject.SetActive(cameraToActivate == selfieCamera);
activeCamera = cameraToActivate;
}
public void TakeAndUploadScreenshot()
{
if (canTakeScreenshot)
@ -26,29 +58,48 @@ public class ScreenShot : MonoBehaviour
{
canTakeScreenshot = false;
// Wait for the end of the frame to ensure all rendering is complete
// Store currently active camera
Camera previousCamera = activeCamera;
yield return new WaitForEndOfFrame();
// Create a texture to hold the screenshot
Texture2D screenshot = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
// Store the original active RenderTexture
RenderTexture originalRT = RenderTexture.active;
// Read the screen pixels into the texture
// Create temporary RenderTexture
RenderTexture tempRT = new RenderTexture(Screen.width, Screen.height, 24);
// Render camera to the temporary RenderTexture
activeCamera.targetTexture = tempRT;
activeCamera.Render();
RenderTexture.active = tempRT;
// Read pixels into a Texture2D
Texture2D screenshot = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
screenshot.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
screenshot.Apply();
// Convert the texture to a PNG byte array
byte[] imageBytes = screenshot.EncodeToPNG();
// Cleanup: restore original targets
//activeCamera.targetTexture = null;
RenderTexture.active = originalRT;
// Clean up the texture
tempRT.Release();
Destroy(tempRT);
// Convert screenshot to PNG
byte[] imageBytes = screenshot.EncodeToPNG();
Destroy(screenshot);
// Create a form to send the image
// Upload to server
WWWForm form = new WWWForm();
form.AddField("name", screenshotName);
form.AddBinaryData("image", imageBytes, "screenshot.png", "image/png");
// Create and send the request
using (UnityWebRequest www = UnityWebRequest.Post(apiUrl, form))
{
string token = EN.instance.Me.token;
www.SetRequestHeader("Authorization", "token " + token);
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.Success)
@ -58,10 +109,15 @@ public class ScreenShot : MonoBehaviour
else
{
Debug.LogError("Error uploading screenshot: " + www.error);
EN.instance.showError("Upload Failed", www.error);
}
}
// Wait for cooldown before allowing another screenshot
// Restore active camera state
SetActiveCamera(previousCamera);
BackCamera.targetTexture=tr;
selfieCamera.targetTexture=tr;
yield return new WaitForSeconds(screenshotCooldown);
canTakeScreenshot = true;
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3667091f72f0be74382d2996a53abb23
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,129 @@
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using System.Collections;
using RTLTMPro;
public class timerStarter : MonoBehaviour
{
public TextMeshProUGUI timerText;
public RTLTextMeshPro questionText;
public GameObject startButton;
public GameObject answerButton;
public GameObject resumeButton;
public GameObject endButton;
private float countdownTime = 300f;
private float timeLeft;
private Coroutine countdownCoroutine;
private bool isPaused = false;
private int cycleCount = 0;
private const int maxCycles = 4;
// Manual messages for each cycle
public string[] questions = {
"Question 1: What is your name?",
"Question 2: What is your quest?",
"Question 3: What is your favorite color?",
"Question 4: What is the airspeed velocity of an unladen swallow?"
};
void Start()
{
ResetUI();
}
public void OnStartButtonPressed()
{
cycleCount = 0;
timeLeft = countdownTime;
SetButtons(activeStart: false, activeAnswer: true, activeResume: false, activeEnd: false);
ShowNextQuestion();
countdownCoroutine = StartCoroutine(StartCountdown());
}
public void OnAnswerButtonPressed()
{
if (countdownCoroutine != null)
{
StopCoroutine(countdownCoroutine);
}
isPaused = true;
SetButtons(activeStart: false, activeAnswer: false, activeResume: true, activeEnd: false);
}
public void OnResumeButtonPressed()
{
cycleCount++;
if (cycleCount >= maxCycles)
{
SetButtons(activeStart: false, activeAnswer: false, activeResume: false, activeEnd: true);
}
else
{
ShowNextQuestion();
SetButtons(activeStart: false, activeAnswer: true, activeResume: false, activeEnd: false);
}
isPaused = false;
countdownCoroutine = StartCoroutine(StartCountdown());
}
public void OnEndButtonPressed()
{
ResetUI();
}
IEnumerator StartCountdown()
{
while (timeLeft > 0)
{
int minutes = Mathf.FloorToInt(timeLeft / 60);
int seconds = Mathf.FloorToInt(timeLeft % 60);
timerText.text = $"{minutes:D2}:{seconds:D2}";
yield return new WaitForSeconds(1f);
timeLeft -= 1f;
if (isPaused) yield break;
}
// If time runs out mid-cycle, reset everything
ResetUI();
}
void ShowNextQuestion()
{
if (cycleCount < questions.Length)
{
questionText.text = questions[cycleCount];
}
else
{
questionText.text = "No more questions.";
}
}
void ResetUI()
{
if (countdownCoroutine != null)
{
StopCoroutine(countdownCoroutine);
}
timerText.text = "00:00";
questionText.text = "Press Start to begin.";
timeLeft = countdownTime;
isPaused = false;
cycleCount = 0;
SetButtons(activeStart: true, activeAnswer: false, activeResume: false, activeEnd: false);
}
void SetButtons(bool activeStart, bool activeAnswer, bool activeResume, bool activeEnd)
{
startButton.SetActive(activeStart);
answerButton.SetActive(activeAnswer);
resumeButton.SetActive(activeResume);
endButton.SetActive(activeEnd);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7567bc184726e3a4997e8f53ff52c940

View File

@ -0,0 +1,55 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: Android Preset
m_EditorClassIdentifier:
debugShaders:
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
type: 3}
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959,
type: 3}
probeVolumeResources:
probeVolumeDebugShader: {fileID: 0}
probeVolumeFragmentationDebugShader: {fileID: 0}
probeVolumeOffsetDebugShader: {fileID: 0}
probeVolumeSamplingDebugShader: {fileID: 0}
probeSamplingDebugMesh: {fileID: 0}
probeSamplingDebugTexture: {fileID: 0}
probeVolumeBlendStatesCS: {fileID: 0}
m_RendererFeatures: []
m_RendererFeatureMap:
m_UseNativeRenderPass: 1
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
postProcessData: {fileID: 0}
m_AssetVersion: 2
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 0
stencilCompareFunction: 8
passOperation: 2
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
m_RenderingMode: 0
m_DepthPrimingMode: 0
m_CopyDepthMode: 0
m_DepthAttachmentFormat: 0
m_DepthTextureFormat: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 83e3e009b86f0d945bfdd9bf866d03b1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9500bf724ec774a4c9c996e20a71723d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,52 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 15003, guid: 0000000000000000e000000000000000, type: 0}
m_Name: "New Android\u2122 Profile"
m_EditorClassIdentifier:
m_AssetVersion: 1
m_BuildTarget: 13
m_Subtarget: 0
m_PlatformId: b9b35072a6f44c2e863f17467ea3dc13
m_PlatformBuildProfile:
rid: 6142483560080343326
m_OverrideGlobalSceneList: 0
m_Scenes: []
m_ScriptingDefines: []
m_PlayerSettingsYaml:
m_Settings: []
references:
version: 2
RefIds:
- rid: 6142483560080343326
type: {class: AndroidPlatformBuildSettings, ns: UnityEditor.Android, asm: UnityEditor.Android.Extensions}
data:
m_Development: 0
m_ConnectProfiler: 0
m_BuildWithDeepProfilingSupport: 0
m_AllowDebugging: 0
m_WaitForManagedDebugger: 0
m_ManagedDebuggerFixedPort: 0
m_ExplicitNullChecks: 0
m_ExplicitDivideByZeroChecks: 0
m_ExplicitArrayBoundsChecks: 0
m_CompressionType: 2
m_InstallInBuildFolder: 0
m_BuildSubtarget: 0
m_BuildSystem: 1
m_ExportAsGoogleAndroidProject: 0
m_DebugSymbolLevel: 1
m_DebugSymbolFormat: 5
m_CurrentDeploymentTargetId: __builtin__target_default
m_BuildType: 2
m_BuildAppBundle: 0
m_IPAddressToConnect:
m_SymlinkSources: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 882ce14fe8455d6408b49f77566742dd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -122,9 +122,9 @@ MonoBehaviour:
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 1
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1

View File

@ -0,0 +1,136 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: Performance URP Config
m_EditorClassIdentifier:
k_AssetVersion: 12
k_AssetPreviousVersion: 12
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 83e3e009b86f0d945bfdd9bf866d03b1, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 0
m_SupportsHDR: 0
m_HDRColorBufferPrecision: 0
m_MSAA: 4
m_RenderScale: 1.04
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 1
m_FsrSharpness: 0.75
m_EnableLODCrossFade: 0
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_LightProbeSystem: 1
m_ProbeVolumeMemoryBudget: 1024
m_ProbeVolumeBlendingMemoryBudget: 256
m_SupportProbeVolumeGPUStreaming: 0
m_SupportProbeVolumeDiskStreaming: 0
m_SupportProbeVolumeScenarios: 0
m_SupportProbeVolumeScenarioBlending: 0
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 1024
m_AdditionalLightsRenderingMode: 0
m_AdditionalLightsPerObjectLimit: 1
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 512
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 0
m_ReflectionProbeBoxProjection: 0
m_ShadowDistance: 50
m_ShadowCascadeCount: 1
m_Cascade2Split: 0.095
m_Cascade3Split: {x: 0.1, y: 0.3}
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_CascadeBorder: 0.38
m_ShadowDepthBias: 1.6
m_ShadowNormalBias: 0
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 0
m_ConservativeEnclosingSphere: 1
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 1
m_AdditionalLightsCookieResolution: 512
m_AdditionalLightsCookieFormat: 3
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 0
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_VolumeProfile: {fileID: 0}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 0
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1
m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 1
m_PrefilterSSAOBlueNoise: 1
m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 1
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1
m_PrefilterUseLegacyLightmaps: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 77902b3ab8c193d4faaf76bead5c173c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 93c64469d11d5924ea2a21e749b008ab
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,44 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a689d91966dfb46499fb63f130d9b905, type: 3}
m_Name: NewPlayModeScenario
m_EditorClassIdentifier:
m_Description:
m_EnableEditors: 1
m_MainEditorInstance:
Name: Main Editor
<CorrespondingNodeId>k__BackingField: Main Editor|0_run
m_Nodes:
- Main Editor|0_run
- Main Editor|0_deploy
m_PlayerTag: t1
m_InitialScene: {fileID: 102900000, guid: 7b533dfe561bc47c8975c955fe4ef3d3, type: 3}
m_EditorInstances: []
m_LocalInstances:
- Name: tttt
<CorrespondingNodeId>k__BackingField:
m_Nodes: []
m_BuildProfile: {fileID: 11400000, guid: 882ce14fe8455d6408b49f77566742dd, type: 2}
advancedConfiguration:
m_StreamLogsToMainEditor: 1
m_LogsColor: {r: 0.3643, g: 0.581, b: 0.8679, a: 1}
m_Arguments: -screen-fullscreen 0 -screen-width 1024 -screen-height 720
m_RemoteInstances: []
m_OverridePort: 0
m_Port: 0
m_MainEditorInstanceObsolete:
rid: -2
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 51de891c750908043b14c7a45283565c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -17,7 +17,7 @@ MonoBehaviour:
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 9284b680dea7f7a4dae79d9efd0fe3b4, type: 2}
- {fileID: 11400000, guid: 83e3e009b86f0d945bfdd9bf866d03b1, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
@ -26,7 +26,7 @@ MonoBehaviour:
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 2
m_RenderScale: 1
m_RenderScale: 1.908
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
@ -76,7 +76,7 @@ MonoBehaviour:
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingMode: 1
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0
@ -100,10 +100,10 @@ MonoBehaviour:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 0
m_PrefilteringModeForwardPlus: 2
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1

View File

@ -46,7 +46,7 @@ MonoBehaviour:
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
m_RenderingMode: 0
m_RenderingMode: 2
m_DepthPrimingMode: 0
m_CopyDepthMode: 1
m_DepthAttachmentFormat: 0

View File

@ -3,7 +3,7 @@ guid: e3265ab4bf004d28a9537516768c1c75
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
fontSize: 200
forceTextureCase: -1
characterSpacing: 0
characterPadding: 1
@ -12,7 +12,7 @@ TrueTypeFontImporter:
- Liberation Sans
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 2
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1

View File

@ -34,7 +34,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
@ -71,7 +71,7 @@ TextureImporter:
buildTarget: DefaultTexturePlatform
maxTextureSize: 4096
resizeAlgorithm: 0
textureFormat: -1
textureFormat: 4
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0

Binary file not shown.

BIN
Assets/classRoom10_sit.unity (Stored with Git LFS)

Binary file not shown.

View File

@ -3,5 +3,5 @@ guid: 834a317f294323e4c843b9199a8f79fa
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
assetBundleName: futuristicroom10
assetBundleVariant: 12

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7359e61609d5ce4489c495a9248b17d3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 112000000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: cedcefc89f8b01e44a09778b8d87fd13
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,131 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4881f9a2c4d568047b316028d20a8dca, type: 3}
m_Name: classRoom10_sit Baking Set
m_EditorClassIdentifier:
singleSceneMode: 1
dialogNoProbeVolumeInSetShown: 1
settings:
m_Version: 1
dilationSettings:
enableDilation: 0
dilationDistance: 1
dilationValidityThreshold: 0.25
dilationIterations: 1
squaredDistWeighting: 1
virtualOffsetSettings:
useVirtualOffset: 1
validityThreshold: 0.25
outOfGeoOffset: 0.01
searchMultiplier: 0.2
rayOriginBias: -0.001
collisionMask:
serializedVersion: 2
m_Bits: 4294967291
m_SceneGUIDs:
- 834a317f294323e4c843b9199a8f79fa
obsoleteScenesToNotBake: []
m_LightingScenarios:
- Default
cellDescs:
m_Keys:
m_Values: []
m_SerializedPerSceneCellList:
- sceneGUID: 834a317f294323e4c843b9199a8f79fa
cellList:
cellSharedDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
scenarios:
m_Keys: []
m_Values: []
cellBricksDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
cellSupportDataAsset:
m_AssetGUID:
m_StreamableAssetPath:
m_ElementSize: 0
m_StreamableCellDescs:
m_Keys:
m_Values: []
m_Asset: {fileID: 0}
chunkSizeInBricks: 128
maxCellPosition: {x: 0, y: 0, z: 0}
minCellPosition: {x: 0, y: 0, z: 0}
globalBounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
bakedSimplificationLevels: 3
bakedMinDistanceBetweenProbes: 1
bakedProbeOcclusion: 0
bakedSkyOcclusionValue: 0
bakedSkyShadingDirectionValue: 0
bakedProbeOffset: {x: 0, y: 0, z: 0}
bakedMaskCount: 1
bakedLayerMasks:
x: 0
y: 0
z: 0
w: 0
maxSHChunkCount: -1
L0ChunkSize: 0
L1ChunkSize: 0
L2TextureChunkSize: 0
ProbeOcclusionChunkSize: 0
sharedValidityMaskChunkSize: 8192
sharedSkyOcclusionL0L1ChunkSize: 0
sharedSkyShadingDirectionIndicesChunkSize: 0
sharedDataChunkSize: 0
supportPositionChunkSize: 0
supportValidityChunkSize: 0
supportTouchupChunkSize: 0
supportLayerMaskChunkSize: 0
supportOffsetsChunkSize: 0
supportDataChunkSize: 0
lightingScenario: Default
version: 2
freezePlacement: 0
probeOffset: {x: 0, y: 0, z: 0}
simplificationLevels: 3
minDistanceBetweenProbes: 1
renderersLayerMask:
serializedVersion: 2
m_Bits: 4294967295
minRendererVolumeSize: 0.1
skyOcclusion: 0
skyOcclusionBakingSamples: 2048
skyOcclusionBakingBounces: 2
skyOcclusionAverageAlbedo: 0.6
skyOcclusionBackFaceCulling: 0
skyOcclusionShadingDirection: 0
useRenderingLayers: 0
renderingLayerMasks: []
m_SceneBakeData:
m_Keys:
- 834a317f294323e4c843b9199a8f79fa
m_Values:
- hasProbeVolume: 0
bakeScene: 1
bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 81, y: 81, z: 81}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2c9d4107c199d834e9e135e278ce9c4a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/icons/pngaaa.com-5652364.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 2d7975f4a22eded48b12e775885bc76f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,146 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-5895570464342500934
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!114 &-3736755245287547707
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Frozen white metal 1
m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _UV_CHANNEL_SELECT
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2000
stringTagMap:
MotionVector: User
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- baseColorTexture:
m_Texture: {fileID: 1744999280371285708, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- emissiveTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- metallicRoughnessTexture:
m_Texture: {fileID: 2669244593429743303, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- normalTexture:
m_Texture: {fileID: -2214381432715469515, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- occlusionTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- transmissionTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _BUILTIN_AlphaClip: 0
- _BUILTIN_Blend: 0
- _BUILTIN_CullMode: 2
- _BUILTIN_DstBlend: 0
- _BUILTIN_QueueControl: 1
- _BUILTIN_QueueOffset: 0
- _BUILTIN_SrcBlend: 1
- _BUILTIN_Surface: 0
- _BUILTIN_ZTest: 4
- _BUILTIN_ZWrite: 1
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _CastShadows: 1
- _Cull: 0
- _DstBlend: 0
- _QueueControl: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
- alphaCutoff: 0
- baseColorTexture_texCoord: 1
- emissiveExposureWeight: 0
- emissiveTexture_texCoord: 0
- metallicFactor: 1
- metallicRoughnessTexture_texCoord: 1
- normalTexture_scale: 1
- normalTexture_texCoord: 1
- occlusionTexture_strength: 1
- occlusionTexture_texCoord: 0
- roughnessFactor: 1
- transmissionFactor: 0
m_Colors:
- baseColorFactor: {r: 1, g: 1, b: 1, a: 1}
- baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- emissiveFactor: {r: 0, g: 0, b: 0, a: 1}
- emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ed68efb7938939249ab48f04a97274d6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -25,18 +25,21 @@ Material:
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_ValidKeywords:
- _RECEIVE_SHADOWS_OFF
- _SPECULAR_SETUP
m_InvalidKeywords:
- _UV_CHANNEL_SELECT
m_LightmapFlags: 2
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2000
m_CustomRenderQueue: 1973
stringTagMap:
MotionVector: User
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
@ -51,8 +54,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- metallicRoughnessTexture:
m_Texture: {fileID: 2669244593429743303, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- normalTexture:
@ -97,15 +99,15 @@ Material:
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _CastShadows: 1
- _CastShadows: 0
- _Cull: 0
- _DstBlend: 0
- _QueueControl: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _QueueControl: 0
- _QueueOffset: -27
- _ReceiveShadows: 0
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _WorkflowMode: 0
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0

145
Assets/prefab/Marble.mat Normal file
View File

@ -0,0 +1,145 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-228728997369815082
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Marble
m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _UV_CHANNEL_SELECT
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2000
stringTagMap:
MotionVector: User
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- baseColorTexture:
m_Texture: {fileID: 2800000, guid: 6c6741f5c5b329c429891ab79ca7f8fc, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- emissiveTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- metallicRoughnessTexture:
m_Texture: {fileID: 4669988254933705347, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- normalTexture:
m_Texture: {fileID: -7972291948059404516, guid: 06deb92f7835c6c4c828a4f23983556e,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- occlusionTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- transmissionTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _BUILTIN_AlphaClip: 0
- _BUILTIN_Blend: 0
- _BUILTIN_CullMode: 2
- _BUILTIN_DstBlend: 0
- _BUILTIN_QueueControl: 1
- _BUILTIN_QueueOffset: 0
- _BUILTIN_SrcBlend: 1
- _BUILTIN_Surface: 0
- _BUILTIN_ZTest: 4
- _BUILTIN_ZWrite: 1
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _CastShadows: 1
- _Cull: 0
- _DstBlend: 0
- _QueueControl: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
- alphaCutoff: 0
- baseColorTexture_texCoord: 1
- emissiveExposureWeight: 0
- emissiveTexture_texCoord: 0
- metallicFactor: 0
- metallicRoughnessTexture_texCoord: 1
- normalTexture_scale: 1
- normalTexture_texCoord: 1
- occlusionTexture_strength: 1
- occlusionTexture_texCoord: 0
- roughnessFactor: 1
- transmissionFactor: 0
m_Colors:
- baseColorFactor: {r: 1, g: 1, b: 1, a: 1}
- baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- emissiveFactor: {r: 0, g: 0, b: 0, a: 1}
- emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &1539836543854674545
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2bd35288505ad624ebae07c6f9405656
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -34,12 +34,12 @@ LightingSettings:
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_RealtimeResolution: 2.01
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRDirectSampleCount: 64
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048

View File

@ -24,7 +24,8 @@ Material:
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_ValidKeywords:
- _SPECULAR_SETUP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -125,7 +126,7 @@ Material:
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _WorkflowMode: 0
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}

BIN
Assets/prefab/X_Room_03_04-03-18-002 - Copy.glb (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 64f02ec20ac9fdd4380473c8e55ef1a3
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3}
editorImportSettings:
generateSecondaryUVSet: 0
importSettings:
nodeNameMethod: 1
animationMethod: 2
generateMipMaps: 1
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2
assetDependencies: []
reportItems: []

BIN
Assets/prefab/futuristic _Room_04-03-06-003 1.glb (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,44 @@
fileFormatVersion: 2
guid: f6977c589cb082d4e8bf12562bd53072
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3}
editorImportSettings:
generateSecondaryUVSet: 0
importSettings:
nodeNameMethod: 1
animationMethod: 2
generateMipMaps: 1
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2
assetDependencies: []
reportItems:
- type: 2
code: 20
messages:
- KHR_materials_emissive_strength
- type: 2
code: 20
messages:
- KHR_materials_specular
- type: 2
code: 20
messages:
- KHR_materials_anisotropy
- type: 2
code: 20
messages:
- KHR_materials_ior

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6c6741f5c5b329c429891ab79ca7f8fc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2800000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/tablet.prefab (Stored with Git LFS)

Binary file not shown.

View File

@ -56,7 +56,7 @@ public class tabletManager : NetworkBehaviour
{
if (!Object.HasStateAuthority)
return;
Debug.Log("video link: "+ApiConnection.instance.videoLinks[int.Parse(i.name)]);
GetComponent<VideoPlayerManager>().Show(ApiConnection.instance.videoLinks[int.Parse(i.name)]);
// ConnectionManager.instance.CreateVideo(itemPlace, video, ApiConnection.instance.videoLinks[int.Parse(i.name)]);
}

View File

@ -1,40 +1,42 @@
using UnityEngine;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;
using UnityEngine.EventSystems;
using Fusion;
using System.Collections.Generic;
using System.Collections;
using System.Collections.Generic;
public class VideoPlayerManager : NetworkBehaviour
{
public VideoPlayer videoPlayer;
public RawImage raw;
public Material sample;
public GameObject loadingScreen;
public Slider videoSlider;
public Image play;
public GameObject cast;
public Transform startPoint;
public Transform Player;
private GameObject nearestTV;
public float detectionRadius = 4f;
public LineRenderer lineRenderer;
public Transform startPoint;
public Image play;
public GameObject cast;
public Slider videoSlider;
private float lastSyncTime = 0f;
private bool isDraggingSlider = false;
public string videoUrl;
public Material sample;
[Networked]
private bool isPlaying { get; set; }
[Networked]
private bool isPlaying { get; set; } // همگام‌سازی وضعیت پخش
[Networked]
private float videoTime { get; set; } // همگام‌سازی زمان ویدیو
private float videoTime { get; set; }
void Start()
{
if (videoPlayer == null)
videoPlayer = GetComponent<VideoPlayer>();
videoPlayer.loopPointReached += OnVideoFinished;
if (lineRenderer == null)
@ -46,40 +48,41 @@ public class VideoPlayerManager : NetworkBehaviour
lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
lineRenderer.material.color = Color.yellow;
}
raw.material = new Material(sample);
RenderTexture renderTexture = new RenderTexture(1920, 1080, 16);
videoPlayer.targetTexture = renderTexture;
raw.texture = renderTexture;
// Slider drag listeners
AddSliderDragHandlers();
videoSlider.onValueChanged.AddListener(OnSliderValueChanged);
}
public GameObject loadingScreen;
void Update()
{
if (videoPlayer.isPlaying)
if (!isDraggingSlider && videoPlayer.isPlaying)
{
videoSlider.value = (float)videoPlayer.time;
}
play.color = videoPlayer.isPlaying ? Color.green : Color.white;
cast.SetActive(nearestTV);
FindNearestTV();
if (nearestTV != null)
{
DrawCurvedLine();
}
else
{
lineRenderer.enabled = false;
}
// بررسی وضعیت پخش ویدیو در کلاینت‌ها
if (nearestTV != null)
DrawCurvedLine();
else
lineRenderer.enabled = false;
// Sync play state
if (videoPlayer.isPlaying != isPlaying)
{
if (isPlaying)
{
StartCoroutine(StartVideo());
}
else videoPlayer.Pause();
else
videoPlayer.Pause();
}
}
@ -89,16 +92,15 @@ public class VideoPlayerManager : NetworkBehaviour
while (!videoPlayer.isPrepared)
{
yield return null;
// آپدیت کردن نوار پیشرفت
// progressBar.value = (float)(videoPlayer.frame / (double)videoPlayer.frameCount);
}
// وقتی ویدئو آماده بود، صفحه لودینگ را مخفی کرده و پخش ویدئو را آغاز می‌کنیم
loadingScreen.SetActive(false);
videoSlider.minValue = 0;
videoSlider.maxValue = (float)videoPlayer.length;
videoPlayer.Play();
}
// اسلایدر برای کنترل موقعیت ویدئو
public void send()
{
@ -106,9 +108,9 @@ public class VideoPlayerManager : NetworkBehaviour
{
Play();
InvokeRepeating(nameof(SyncVideoTime), 5f, 5f);
}
}
}
}
public void Cast()
{
if (Object.HasStateAuthority && nearestTV != null)
@ -116,38 +118,29 @@ public class VideoPlayerManager : NetworkBehaviour
RPC_SetScreenTexture(Object.Id, nearestTV.GetComponent<NetworkObject>().Id);
}
}
public void Play()
{
if (Object.HasStateAuthority)
{
RPC_TogglePlayPause(videoUrl);
}
public Transform Player;
}
[Rpc(RpcSources.All, RpcTargets.All)]
private void RPC_TogglePlayPause(string url)
{
videoUrl = url;
if (!string.IsNullOrEmpty(videoUrl) && url != videoPlayer.url)
{
Player.parent.gameObject.SetActive(true);
Player.gameObject.SetActive(true);
videoSlider.minValue = 0;
videoSlider.maxValue = (float)videoPlayer.length;
videoSlider.onValueChanged.RemoveAllListeners();
// در صورتی که اسلایدر تغییر کند، موقعیت ویدئو تغییر می‌کند
videoSlider.onValueChanged.AddListener(OnSliderValueChanged);
loadingScreen.SetActive(true);
videoPlayer.url = videoUrl;
}
isPlaying = !isPlaying;
videoTime = (float)videoPlayer.time;
RPC_SyncVideoState(isPlaying, videoTime);
@ -160,6 +153,7 @@ public class VideoPlayerManager : NetworkBehaviour
videoTime = syncTime;
videoPlayer.time = syncTime;
if (isPlaying) videoPlayer.Play();
else videoPlayer.Pause();
}
@ -183,22 +177,15 @@ public class VideoPlayerManager : NetworkBehaviour
if (tv.GetComponent<NetworkObject>().Id == tvId)
{
RawImage tvScreen = tv.GetComponentInChildren<RawImage>();
// AudioSource audio = tv.GetComponentInChildren<AudioSource>();
if (tvScreen != null)
{
tvScreen.texture = raw.texture;
tvScreen.material = raw.material;
//if (audio)
//{
// audio.clip = GetComponent<AudioSource>().clip;
// audio.Play();
//}
}
}
}
}
public RawImage raw;
private void FindNearestTV()
{
GameObject[] tvObjects = GameObject.FindGameObjectsWithTag("tv");
@ -248,8 +235,42 @@ public class VideoPlayerManager : NetworkBehaviour
videoUrl = u;
Invoke("send", 1);
}
void OnSliderValueChanged(float value)
public void OnSliderValueChanged(float value)
{
if (isDraggingSlider)
{
videoPlayer.time = value;
}
}
private void AddSliderDragHandlers()
{
EventTrigger trigger = videoSlider.gameObject.GetComponent<EventTrigger>();
if (trigger == null)
trigger = videoSlider.gameObject.AddComponent<EventTrigger>();
trigger.triggers = new List<EventTrigger.Entry>();
// Pointer Down
EventTrigger.Entry entryDown = new EventTrigger.Entry();
entryDown.eventID = EventTriggerType.PointerDown;
entryDown.callback.AddListener((data) => { isDraggingSlider = true; });
trigger.triggers.Add(entryDown);
// Pointer Up
EventTrigger.Entry entryUp = new EventTrigger.Entry();
entryUp.eventID = EventTriggerType.PointerUp;
entryUp.callback.AddListener((data) =>
{
isDraggingSlider = false;
if (Object.HasStateAuthority)
{
videoTime = (float)videoPlayer.time;
RPC_SyncVideoState(isPlaying, videoTime);
}
});
trigger.triggers.Add(entryUp);
}
}

View File

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Fusion;
using SimpleJSON;
using UnityEngine;
using UnityEngine.Networking;
@ -224,6 +225,68 @@ public class webservice : MonoBehaviour
onComplete?.Invoke(null);
}
}
public IEnumerator GetUserMeetings(Action<MeetingResponse> onComplete)
{
string url = "http://194.62.43.230:8000/get_user_meetings";
lastError = null;
lastErrorResponse = null;
UnityWebRequest www = UnityWebRequest.Get(url);
www.SetRequestHeader("Authorization", "token " + EN.instance.Me.token);
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.Success)
{
Debug.Log("Meetings Response: " + www.downloadHandler.text);
var response = JsonUtility.FromJson<MeetingResponse>(www.downloadHandler.text);
onComplete?.Invoke(response);
}
else
{
HandleRequestError(www);
onComplete?.Invoke(null);
}
}
public IEnumerator GetSpaces(Action<SpaceResponse> onComplete)
{
UnityWebRequest request = UnityWebRequest.Get("http://194.62.43.230:8000/get_space");
request.SetRequestHeader("Authorization", "token " + EN.instance.Me.token);
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
string json = request.downloadHandler.text;
Debug.Log("Spaces Response: " + json);
SpaceResponse response = JsonUtility.FromJson<SpaceResponse>(json);
EN.instance.spaces = response.spaces;
Debug.Log("Spaces loaded: " + EN.instance.spaces.Count);
}
else
{
Debug.LogError("Failed to fetch spaces: " + request.error);
}
}
private void HandleRequestError(UnityWebRequest www)
{
try
{
lastErrorResponse = JsonUtility.FromJson<ErrorResponse>(www.downloadHandler.text);
lastError = lastErrorResponse.message;
Debug.LogError($"API Error: Status={lastErrorResponse.status}, Message={lastErrorResponse.message}");
}
catch
{
lastError = www.error;
Debug.LogError("Network Error: " + www.error);
}
}
}
[System.Serializable]
@ -323,3 +386,61 @@ public class User
EN.instance.Print(response.last_name);
}
}
[Serializable]
public class MeetingResponse
{
public List<Meeting> meetings;
}
[Serializable]
public class Meeting
{
public int id;
public string name;
public string description;
public string date_time;
public int creator_user;
public bool use_space;
public int space;
public int asset_bundle;
public AssetBundleRoom asset_bundle_data;
public List<InvitedUser> invited_users;
}
[Serializable]
public class InvitedUser
{
public int id;
public string username;
public string email;
public Customer customer;
}
[System.Serializable]
public class SpaceResponse
{
public List<UserSpace> spaces;
}
[System.Serializable]
public class UserSpace
{
public int id;
public string name;
public string description;
public int capacity;
public int userId;
public AssetBundleRoom assetBundleRoomId;
}
[System.Serializable]
public class AssetBundleRoom
{
public int id;
public string url;
public string name;
public string description;
public int maxPerson;
public string img;
public bool Private;
}

Some files were not shown because too many files have changed in this diff Show More