GitHub
3 年前
当前提交
2885391c
共有 410 个文件被更改,包括 10505 次插入 和 292 次删除
-
26AwesomeUIWidgets/Assets/FirstPersion AIO Pack/FirstPersonAIO/FirstPersonAIO.cs
-
210AwesomeUIWidgets/Assets/Scenes/Lottie.unity
-
823AwesomeUIWidgets/Assets/Scenes/ShowRoom.unity
-
99AwesomeUIWidgets/Assets/Scenes/SimpleWorldSpaceUI.unity
-
3AwesomeUIWidgets/Assets/Scripts/CountDemo.cs
-
7AwesomeUIWidgets/Assets/Scripts/LottieDemo.cs
-
8AwesomeUIWidgets/Assets/Joystick Pack.meta
-
8AwesomeUIWidgets/Assets/Packages.meta
-
8AwesomeUIWidgets/Assets/Prefabs.meta
-
8AwesomeUIWidgets/Assets/Resources.meta
-
8AwesomeUIWidgets/Assets/Runemark Studio.meta
-
675AwesomeUIWidgets/Assets/Scenes/ChatRoomScene.unity
-
7AwesomeUIWidgets/Assets/Scenes/ChatRoomScene.unity.meta
-
922AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity
-
7AwesomeUIWidgets/Assets/Scenes/ImageFlow.unity.meta
-
1001AwesomeUIWidgets/Assets/Scenes/ItemPickerRoom.unity
-
7AwesomeUIWidgets/Assets/Scenes/ItemPickerRoom.unity.meta
-
1001AwesomeUIWidgets/Assets/Scenes/RaycastablePickerRoom.unity
-
7AwesomeUIWidgets/Assets/Scenes/RaycastablePickerRoom.unity.meta
-
8AwesomeUIWidgets/Assets/Scripts/AdditionalWidgets.meta
-
352AwesomeUIWidgets/Assets/Scripts/ChatPage.cs
-
11AwesomeUIWidgets/Assets/Scripts/ChatPage.cs.meta
-
38AwesomeUIWidgets/Assets/Scripts/ChatPanelDemo.cs
-
11AwesomeUIWidgets/Assets/Scripts/ChatPanelDemo.cs.meta
-
119AwesomeUIWidgets/Assets/Scripts/ChatPanelManager.cs
-
11AwesomeUIWidgets/Assets/Scripts/ChatPanelManager.cs.meta
-
8AwesomeUIWidgets/Assets/Scripts/ChatRoom.meta
-
8AwesomeUIWidgets/Assets/Scripts/Conditional.meta
-
165AwesomeUIWidgets/Assets/Scripts/DateAndTimePicker.cs
-
11AwesomeUIWidgets/Assets/Scripts/DateAndTimePicker.cs.meta
-
8AwesomeUIWidgets/Assets/Scripts/Equatable.meta
-
334AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs
-
3AwesomeUIWidgets/Assets/Scripts/ImageFlowDemo.cs.meta
-
34AwesomeUIWidgets/Assets/Scripts/LightManager.cs
-
11AwesomeUIWidgets/Assets/Scripts/LightManager.cs.meta
-
8AwesomeUIWidgets/Assets/Scripts/Models.meta
-
3AwesomeUIWidgets/Assets/Scripts/RaycastableScene.meta
-
8AwesomeUIWidgets/Assets/Scripts/Widgets.meta
-
64AwesomeUIWidgets/Assets/Scripts/chat_l10n.cs
-
11AwesomeUIWidgets/Assets/Scripts/chat_l10n.cs.meta
-
487AwesomeUIWidgets/Assets/Scripts/chat_theme.cs
-
11AwesomeUIWidgets/Assets/Scripts/chat_theme.cs.meta
-
8AwesomeUIWidgets/Assets/Scripts/heroSample.meta
-
228AwesomeUIWidgets/Assets/Scripts/utils.cs
-
11AwesomeUIWidgets/Assets/Scripts/utils.cs.meta
-
465AwesomeUIWidgets/Assets/StreamingAssets/MaterialIcons-Regular.ttf
-
7AwesomeUIWidgets/Assets/StreamingAssets/MaterialIcons-Regular.ttf.meta
-
8AwesomeUIWidgets/Assets/StreamingAssets/assets.meta
-
8AwesomeUIWidgets/Assets/StreamingAssets/heroSample.meta
-
1001AwesomeUIWidgets/Assets/Joystick Pack/Documentaion.pdf
-
7AwesomeUIWidgets/Assets/Joystick Pack/Documentaion.pdf.meta
-
9AwesomeUIWidgets/Assets/Joystick Pack/Examples.meta
-
1001AwesomeUIWidgets/Assets/Joystick Pack/Examples/Example Scene.unity
-
7AwesomeUIWidgets/Assets/Joystick Pack/Examples/Example Scene.unity.meta
-
77AwesomeUIWidgets/Assets/Joystick Pack/Examples/Ground.mat
-
8AwesomeUIWidgets/Assets/Joystick Pack/Examples/Ground.mat.meta
-
16AwesomeUIWidgets/Assets/Joystick Pack/Examples/JoystickPlayerExample.cs
-
11AwesomeUIWidgets/Assets/Joystick Pack/Examples/JoystickPlayerExample.cs.meta
-
66AwesomeUIWidgets/Assets/Joystick Pack/Examples/JoystickSetterExample.cs
-
11AwesomeUIWidgets/Assets/Joystick Pack/Examples/JoystickSetterExample.cs.meta
-
77AwesomeUIWidgets/Assets/Joystick Pack/Examples/Player.mat
-
8AwesomeUIWidgets/Assets/Joystick Pack/Examples/Player.mat.meta
-
9AwesomeUIWidgets/Assets/Joystick Pack/Prefabs.meta
-
247AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Dynamic Joystick.prefab
-
7AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Dynamic Joystick.prefab.meta
-
168AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Fixed Joystick.prefab
-
7AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Fixed Joystick.prefab.meta
-
246AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Floating Joystick.prefab
-
7AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Floating Joystick.prefab.meta
-
248AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Variable Joystick.prefab
-
7AwesomeUIWidgets/Assets/Joystick Pack/Prefabs/Variable Joystick.prefab.meta
-
9AwesomeUIWidgets/Assets/Joystick Pack/Scripts.meta
-
9AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Base.meta
-
150AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Base/Joystick.cs
-
11AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Base/Joystick.cs.meta
-
8AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Editor.meta
-
35AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Editor/DynamicJoystickEditor.cs
-
11AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Editor/DynamicJoystickEditor.cs.meta
-
22AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Editor/FixedJoystickEditor.cs
-
3AwesomeUIWidgets/Assets/Joystick Pack/Scripts/Editor/FixedJoystickEditor.cs.meta
|
|||
fileFormatVersion: 2 |
|||
guid: 856b67f4696ee4c7ba721fd75912da6e |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 61231e238c8824b1599d69d1d5012e44 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 2dbf9b1acf958b048824e4445dfe49f2 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 2de11e33879464e6b8f8387c20197277 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: d3a2cf1844095bc499710da23277b97d |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 0 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 1 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 0 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 12 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_AtlasSize: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_ExtractAmbientOcclusion: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 512 |
|||
m_PVRBounces: 2 |
|||
m_PVREnvironmentSampleCount: 256 |
|||
m_PVREnvironmentReferencePointCount: 2048 |
|||
m_PVRFilteringMode: 1 |
|||
m_PVRDenoiserTypeDirect: 1 |
|||
m_PVRDenoiserTypeIndirect: 1 |
|||
m_PVRDenoiserTypeAO: 1 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVREnvironmentMIS: 1 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ExportTrainingData: 0 |
|||
m_TrainingDataDestination: TrainingData |
|||
m_LightProbeSampleCountMultiplier: 4 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &1125948832 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1125948836} |
|||
- component: {fileID: 1125948835} |
|||
- component: {fileID: 1125948834} |
|||
- component: {fileID: 1125948833} |
|||
m_Layer: 0 |
|||
m_Name: Cube |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!65 &1125948833 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1125948832} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 0 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!23 &1125948834 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1125948832} |
|||
m_Enabled: 0 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RayTracingMode: 2 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_ReceiveGI: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 1 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!33 &1125948835 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1125948832} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &1125948836 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1125948832} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: -80, y: -1.166, z: 229} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 1315574209} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1252940034 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1252940037} |
|||
- component: {fileID: 1252940036} |
|||
- component: {fileID: 1252940035} |
|||
m_Layer: 0 |
|||
m_Name: Main Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &1252940035 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1252940034} |
|||
m_Enabled: 1 |
|||
--- !u!20 &1252940036 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1252940034} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 1 |
|||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
|||
m_projectionMatrixMode: 1 |
|||
m_GateFitMode: 2 |
|||
m_FOVAxisMode: 0 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_FocalLength: 50 |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.3 |
|||
far clip plane: 1000 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &1252940037 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1252940034} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 1, z: -10} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1315574208 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1315574209} |
|||
- component: {fileID: 1315574212} |
|||
- component: {fileID: 1315574211} |
|||
- component: {fileID: 1315574210} |
|||
m_Layer: 5 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &1315574209 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1315574208} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 232} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 1558042840} |
|||
m_Father: {fileID: 1125948836} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: -46, y: 152} |
|||
m_SizeDelta: {x: 398, y: 784} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!114 &1315574210 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1315574208} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_IgnoreReversedGraphics: 1 |
|||
m_BlockingObjects: 0 |
|||
m_BlockingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
--- !u!114 &1315574211 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1315574208} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 1 |
|||
--- !u!223 &1315574212 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1315574208} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 2 |
|||
m_Camera: {fileID: 0} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!1 &1511805122 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1511805125} |
|||
- component: {fileID: 1511805124} |
|||
- component: {fileID: 1511805123} |
|||
m_Layer: 0 |
|||
m_Name: EventSystem |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1511805123 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1511805122} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HorizontalAxis: Horizontal |
|||
m_VerticalAxis: Vertical |
|||
m_SubmitButton: Submit |
|||
m_CancelButton: Cancel |
|||
m_InputActionsPerSecond: 10 |
|||
m_RepeatDelay: 0.5 |
|||
m_ForceModuleActive: 0 |
|||
--- !u!114 &1511805124 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1511805122} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FirstSelected: {fileID: 0} |
|||
m_sendNavigationEvents: 1 |
|||
m_DragThreshold: 10 |
|||
--- !u!4 &1511805125 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1511805122} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1542210717 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1542210719} |
|||
- component: {fileID: 1542210718} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &1542210718 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1542210717} |
|||
m_Enabled: 1 |
|||
serializedVersion: 10 |
|||
m_Type: 1 |
|||
m_Shape: 0 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_InnerSpotAngle: 21.80208 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_CullingMatrixOverride: |
|||
e00: 1 |
|||
e01: 0 |
|||
e02: 0 |
|||
e03: 0 |
|||
e10: 0 |
|||
e11: 1 |
|||
e12: 0 |
|||
e13: 0 |
|||
e20: 0 |
|||
e21: 0 |
|||
e22: 1 |
|||
e23: 0 |
|||
e30: 0 |
|||
e31: 0 |
|||
e32: 0 |
|||
e33: 1 |
|||
m_UseCullingMatrixOverride: 0 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingLayerMask: 1 |
|||
m_Lightmapping: 4 |
|||
m_LightShadowCasterMode: 0 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
|||
m_UseBoundingSphereOverride: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &1542210719 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1542210717} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|||
--- !u!1 &1558042839 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1558042840} |
|||
- component: {fileID: 1558042842} |
|||
- component: {fileID: 1558042841} |
|||
m_Layer: 5 |
|||
m_Name: RawImage |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &1558042840 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1558042839} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: -125} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 1315574209} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.5, y: 0.5} |
|||
m_AnchorMax: {x: 0.5, y: 0.5} |
|||
m_AnchoredPosition: {x: 169, y: -153} |
|||
m_SizeDelta: {x: 300, y: 400} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!114 &1558042841 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1558042839} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 95cfb90e363891b40b68575b9bf6b7dc, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_Maskable: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_Texture: {fileID: 1916630145} |
|||
m_UVRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
hardwareAntiAliasing: 0 |
|||
fonts: [] |
|||
--- !u!222 &1558042842 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1558042839} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!28 &1916630145 |
|||
Texture2D: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_Name: |
|||
m_ImageContentsHash: |
|||
serializedVersion: 2 |
|||
Hash: 00000000000000000000000000000000 |
|||
m_ForcedFallbackFormat: 4 |
|||
m_DownscaleFallback: 0 |
|||
serializedVersion: 3 |
|||
m_Width: 0 |
|||
m_Height: 0 |
|||
m_CompleteImageSize: 0 |
|||
m_TextureFormat: 0 |
|||
m_MipCount: 1 |
|||
m_IsReadable: 1 |
|||
m_IgnoreMasterTextureLimit: 0 |
|||
m_IsPreProcessed: 0 |
|||
m_StreamingMipmaps: 0 |
|||
m_StreamingMipmapsPriority: 0 |
|||
m_AlphaIsTransparency: 0 |
|||
m_ImageCount: 0 |
|||
m_TextureDimension: 2 |
|||
m_TextureSettings: |
|||
serializedVersion: 2 |
|||
m_FilterMode: 1 |
|||
m_Aniso: 1 |
|||
m_MipBias: 0 |
|||
m_WrapU: 0 |
|||
m_WrapV: 0 |
|||
m_WrapW: 0 |
|||
m_LightmapFormat: 0 |
|||
m_ColorSpace: 0 |
|||
image data: 0 |
|||
_typelessdata: |
|||
m_StreamData: |
|||
offset: 0 |
|||
size: 0 |
|||
path: |
|||
m_OriginalWidth: 0 |
|||
m_OriginalHeight: 0 |
|||
m_OriginalAssetGuid: 00000000000000000000000000000000 |
|
|||
fileFormatVersion: 2 |
|||
guid: 342325e8771a94df0bec2acebbfb8114 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 0 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 705507994} |
|||
m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 1 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 0 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 12 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_AtlasSize: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_ExtractAmbientOcclusion: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 500 |
|||
m_PVRBounces: 2 |
|||
m_PVREnvironmentSampleCount: 500 |
|||
m_PVREnvironmentReferencePointCount: 2048 |
|||
m_PVRFilteringMode: 2 |
|||
m_PVRDenoiserTypeDirect: 0 |
|||
m_PVRDenoiserTypeIndirect: 0 |
|||
m_PVRDenoiserTypeAO: 0 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVREnvironmentMIS: 0 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ExportTrainingData: 0 |
|||
m_TrainingDataDestination: TrainingData |
|||
m_LightProbeSampleCountMultiplier: 4 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &156319110 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 156319113} |
|||
- component: {fileID: 156319112} |
|||
- component: {fileID: 156319111} |
|||
m_Layer: 0 |
|||
m_Name: EventSystem |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &156319111 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 156319110} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HorizontalAxis: Horizontal |
|||
m_VerticalAxis: Vertical |
|||
m_SubmitButton: Submit |
|||
m_CancelButton: Cancel |
|||
m_InputActionsPerSecond: 10 |
|||
m_RepeatDelay: 0.5 |
|||
m_ForceModuleActive: 0 |
|||
--- !u!114 &156319112 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 156319110} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FirstSelected: {fileID: 0} |
|||
m_sendNavigationEvents: 1 |
|||
m_DragThreshold: 10 |
|||
--- !u!4 &156319113 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 156319110} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &373829882 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 373829883} |
|||
- component: {fileID: 373829885} |
|||
- component: {fileID: 373829884} |
|||
m_Layer: 5 |
|||
m_Name: RawImage |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &373829883 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 373829882} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 1882612342} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!114 &373829884 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 373829882} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4b528d0713eb470881072361372fa123, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_Maskable: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_Texture: {fileID: 985023221} |
|||
m_UVRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
hardwareAntiAliasing: 0 |
|||
fonts: [] |
|||
--- !u!222 &373829885 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 373829882} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!1 &486503336 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 486503339} |
|||
- component: {fileID: 486503338} |
|||
- component: {fileID: 486503337} |
|||
m_Layer: 5 |
|||
m_Name: Panel |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 0 |
|||
--- !u!114 &486503337 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 486503336} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 0.392} |
|||
m_RaycastTarget: 1 |
|||
m_Maskable: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_Type: 1 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
m_UseSpriteMesh: 0 |
|||
m_PixelsPerUnitMultiplier: 1 |
|||
--- !u!222 &486503338 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 486503336} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!224 &486503339 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 486503336} |
|||
m_LocalRotation: {x: -0, y: -0.3507795, z: -0, w: 0.9364581} |
|||
m_LocalPosition: {x: 0, y: 0, z: 606.11426} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 1588079143} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 32.075195, y: 392} |
|||
m_SizeDelta: {x: 398, y: 784} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!1 &705507993 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 705507995} |
|||
- component: {fileID: 705507994} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &705507994 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 705507993} |
|||
m_Enabled: 1 |
|||
serializedVersion: 10 |
|||
m_Type: 1 |
|||
m_Shape: 0 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_InnerSpotAngle: 21.80208 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_CullingMatrixOverride: |
|||
e00: 1 |
|||
e01: 0 |
|||
e02: 0 |
|||
e03: 0 |
|||
e10: 0 |
|||
e11: 1 |
|||
e12: 0 |
|||
e13: 0 |
|||
e20: 0 |
|||
e21: 0 |
|||
e22: 1 |
|||
e23: 0 |
|||
e30: 0 |
|||
e31: 0 |
|||
e32: 0 |
|||
e33: 1 |
|||
m_UseCullingMatrixOverride: 0 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingLayerMask: 1 |
|||
m_Lightmapping: 1 |
|||
m_LightShadowCasterMode: 0 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
|||
m_UseBoundingSphereOverride: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &705507995 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 705507993} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|||
--- !u!1 &963194225 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 963194228} |
|||
- component: {fileID: 963194227} |
|||
- component: {fileID: 963194226} |
|||
m_Layer: 0 |
|||
m_Name: Main Cameraff |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &963194226 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 963194225} |
|||
m_Enabled: 1 |
|||
--- !u!20 &963194227 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 963194225} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 1 |
|||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
|||
m_projectionMatrixMode: 1 |
|||
m_GateFitMode: 2 |
|||
m_FOVAxisMode: 0 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_FocalLength: 50 |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.3 |
|||
far clip plane: 1000 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &963194228 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 963194225} |
|||
m_LocalRotation: {x: -0, y: -0.9991026, z: -0, w: 0.04235741} |
|||
m_LocalPosition: {x: -8.95, y: 4.3, z: -4.52} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: -175.145, z: 0} |
|||
--- !u!28 &985023221 |
|||
Texture2D: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_Name: |
|||
m_ImageContentsHash: |
|||
serializedVersion: 2 |
|||
Hash: 00000000000000000000000000000000 |
|||
m_ForcedFallbackFormat: 4 |
|||
m_DownscaleFallback: 0 |
|||
serializedVersion: 3 |
|||
m_Width: 0 |
|||
m_Height: 0 |
|||
m_CompleteImageSize: 0 |
|||
m_TextureFormat: 0 |
|||
m_MipCount: 1 |
|||
m_IsReadable: 1 |
|||
m_IgnoreMasterTextureLimit: 0 |
|||
m_IsPreProcessed: 0 |
|||
m_StreamingMipmaps: 0 |
|||
m_StreamingMipmapsPriority: 0 |
|||
m_AlphaIsTransparency: 0 |
|||
m_ImageCount: 0 |
|||
m_TextureDimension: 2 |
|||
m_TextureSettings: |
|||
serializedVersion: 2 |
|||
m_FilterMode: 1 |
|||
m_Aniso: 1 |
|||
m_MipBias: 0 |
|||
m_WrapU: 0 |
|||
m_WrapV: 0 |
|||
m_WrapW: 0 |
|||
m_LightmapFormat: 0 |
|||
m_ColorSpace: 0 |
|||
image data: 0 |
|||
_typelessdata: |
|||
m_StreamData: |
|||
offset: 0 |
|||
size: 0 |
|||
path: |
|||
m_OriginalWidth: 0 |
|||
m_OriginalHeight: 0 |
|||
m_OriginalAssetGuid: 00000000000000000000000000000000 |
|||
--- !u!1 &1588079142 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1588079143} |
|||
- component: {fileID: 1588079146} |
|||
- component: {fileID: 1588079145} |
|||
- component: {fileID: 1588079144} |
|||
m_Layer: 5 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &1588079143 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1588079142} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 0, y: 0, z: 0} |
|||
m_Children: |
|||
- {fileID: 1666129244} |
|||
m_Father: {fileID: 486503339} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0, y: 0} |
|||
--- !u!114 &1588079144 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1588079142} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_IgnoreReversedGraphics: 1 |
|||
m_BlockingObjects: 0 |
|||
m_BlockingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
--- !u!114 &1588079145 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1588079142} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 1 |
|||
--- !u!223 &1588079146 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1588079142} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 0 |
|||
m_Camera: {fileID: 0} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!1 &1666129243 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1666129244} |
|||
- component: {fileID: 1666129246} |
|||
- component: {fileID: 1666129245} |
|||
m_Layer: 5 |
|||
m_Name: RawImage |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &1666129244 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1666129243} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 1588079143} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!114 &1666129245 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1666129243} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4b528d0713eb470881072361372fa123, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_Maskable: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_Texture: {fileID: 0} |
|||
m_UVRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
hardwareAntiAliasing: 0 |
|||
fonts: [] |
|||
--- !u!222 &1666129246 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1666129243} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!1 &1882612338 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1882612342} |
|||
- component: {fileID: 1882612341} |
|||
- component: {fileID: 1882612340} |
|||
- component: {fileID: 1882612339} |
|||
m_Layer: 5 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1882612339 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1882612338} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_IgnoreReversedGraphics: 1 |
|||
m_BlockingObjects: 0 |
|||
m_BlockingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
--- !u!114 &1882612340 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1882612338} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 1 |
|||
--- !u!223 &1882612341 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1882612338} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 2 |
|||
m_Camera: {fileID: 963194227} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!224 &1882612342 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1882612338} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 373829883} |
|||
m_Father: {fileID: 2074331824} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 500, y: 800} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!1 &2074331820 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2074331824} |
|||
- component: {fileID: 2074331823} |
|||
- component: {fileID: 2074331822} |
|||
- component: {fileID: 2074331821} |
|||
m_Layer: 0 |
|||
m_Name: Cube |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!65 &2074331821 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2074331820} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 0 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!23 &2074331822 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2074331820} |
|||
m_Enabled: 0 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RayTracingMode: 2 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_ReceiveGI: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 1 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!33 &2074331823 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2074331820} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &2074331824 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2074331820} |
|||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} |
|||
m_LocalPosition: {x: -8.84, y: 4.93, z: -14.53} |
|||
m_LocalScale: {x: 0.01, y: 0.01, z: 1} |
|||
m_Children: |
|||
- {fileID: 1882612342} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 4 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: 4a3548dce430542b4aff5fced1776adb |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
AwesomeUIWidgets/Assets/Scenes/ItemPickerRoom.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 11b1321b95bd0474eb15e274fe84fa78 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
AwesomeUIWidgets/Assets/Scenes/RaycastablePickerRoom.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 3c6477d31549145de9b610e03bcf5555 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 66652c5df5d46491d92afc0113db357e |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using ChatComponents; |
|||
using uiwidgets; |
|||
using Unity.UIWidgets.async; |
|||
using Unity.UIWidgets.cupertino; |
|||
using Unity.UIWidgets.engine; |
|||
using Unity.UIWidgets.foundation; |
|||
using Unity.UIWidgets.material; |
|||
using Unity.UIWidgets.painting; |
|||
using Unity.UIWidgets.rendering; |
|||
using Unity.UIWidgets.widgets; |
|||
using UnityEngine; |
|||
using Color = Unity.UIWidgets.ui.Color; |
|||
|
|||
namespace UIWidgetsSample |
|||
|
|||
{ |
|||
public class ChatRoomDemo : UIWidgetsPanel |
|||
{ |
|||
protected void OnEnable() |
|||
{ |
|||
base.OnEnable(); |
|||
} |
|||
|
|||
protected override void main() |
|||
{ |
|||
ui_.runApp(new MyApp()); |
|||
} |
|||
|
|||
class MyApp : StatelessWidget |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new CupertinoApp( |
|||
|
|||
home: new DateAndTimePickerWidget() |
|||
); |
|||
} |
|||
} |
|||
} |
|||
[System.Serializable] |
|||
public class ChatMessages |
|||
{ |
|||
public List<ChatMessage> chatMessages; |
|||
} |
|||
|
|||
[System.Serializable] |
|||
public class ChatMessage |
|||
{ |
|||
public ChatUser author; |
|||
public int createdAt; |
|||
public string id; |
|||
public string status; |
|||
public string text; |
|||
public string type; |
|||
|
|||
} |
|||
|
|||
[System.Serializable] |
|||
public class ChatUser |
|||
{ |
|||
|
|||
public string firstName; |
|||
public string id; |
|||
public string imageUrl; |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
public class ChatPage : StatefulWidget |
|||
{ |
|||
public ChatPage(Key key = null) : base(key) |
|||
{ |
|||
} |
|||
|
|||
public override State createState() |
|||
{ |
|||
return new _ChatPageState(); |
|||
} |
|||
} |
|||
|
|||
public class _ChatPageState : State<ChatPage> |
|||
{ |
|||
public readonly ChatComponents.User _user = new ChatComponents.User("06c33e8b-e835-4736-80f4-63f44b66666c"); |
|||
private List<ChatComponents.Message> _messages = new List<ChatComponents.Message>(); |
|||
public int _page = 0; |
|||
|
|||
public override void initState() |
|||
{ |
|||
base.initState(); |
|||
_loadMessages(); |
|||
} |
|||
|
|||
private void _addMessage(ChatComponents.Message message) |
|||
{ |
|||
setState(() => |
|||
{ |
|||
_messages.Insert(0, message); |
|||
}); |
|||
} |
|||
|
|||
private void _handleAtachmentPressed() |
|||
{ |
|||
material_.showModalBottomSheet<object>( |
|||
context, |
|||
context => |
|||
{ |
|||
return new SizedBox( |
|||
height: 144, |
|||
child: new Column( |
|||
crossAxisAlignment: CrossAxisAlignment.stretch, |
|||
children: new List<Widget> |
|||
{ |
|||
new CupertinoButton( |
|||
onPressed: () => |
|||
{ |
|||
Navigator.pop(context); |
|||
//_handleImageSelection();
|
|||
}, |
|||
child: new Align( |
|||
alignment: Alignment.centerLeft, |
|||
child: new Text("Photo") |
|||
) |
|||
), |
|||
new CupertinoButton( |
|||
onPressed: () => |
|||
{ |
|||
Navigator.pop(context); |
|||
//_handleFileSelection();
|
|||
}, |
|||
child: |
|||
new Align( |
|||
alignment: Alignment.centerLeft, |
|||
child: new Text("File") |
|||
) |
|||
), |
|||
new CupertinoButton( |
|||
onPressed: () => Navigator.pop(context), |
|||
child: new Align( |
|||
alignment: Alignment.centerLeft, |
|||
child: new Text("Cancel") |
|||
) |
|||
) |
|||
} |
|||
) |
|||
); |
|||
} |
|||
); |
|||
} |
|||
|
|||
/* private void _handleFileSelection() |
|||
{ |
|||
var result = FilePicker.platform.pickFiles( |
|||
type: FileType.any |
|||
); |
|||
|
|||
if (result != null) |
|||
{ |
|||
var message = new ChatComponents.FileMessage( |
|||
_user, |
|||
createdAt: DateTime.Now.Millisecond, |
|||
name: result.files.single.name, |
|||
id: Uuid().v4(), |
|||
mimeType: |
|||
lookupMimeType(result.files.single.path ?? ""), |
|||
size: |
|||
result.files.single.size, |
|||
uri: |
|||
result.files.single.path ?? "" |
|||
); |
|||
|
|||
_addMessage(message); |
|||
} |
|||
}*/ |
|||
|
|||
/* private void _handleImageSelection() |
|||
{ |
|||
var result = new ImagePicker().getImage( |
|||
imageQuality: 70, |
|||
maxWidth: 1440, |
|||
source: ImageSource.gallery |
|||
); |
|||
|
|||
if (result != null) |
|||
{ |
|||
var bytes = result.readAsBytes(); |
|||
var image = decodeImageFromList(bytes); |
|||
var name = result.path.split("/").last; |
|||
|
|||
var message = new ChatComponents.ImageMessage( |
|||
_user, |
|||
createdAt: DateTime.Now.Millisecond, |
|||
height: image.height.toDouble(), |
|||
id: Uuid().v4(), |
|||
name: |
|||
name, |
|||
size: |
|||
bytes.length, |
|||
uri: |
|||
result.path, |
|||
width: |
|||
image.width.toDouble() |
|||
); |
|||
|
|||
_addMessage(message); |
|||
} |
|||
}*/ |
|||
|
|||
private void _handleMessageTap(ChatComponents.Message message) |
|||
{ |
|||
if (message is ChatComponents.FileMessage) |
|||
//OpenFile.open(message.uri);
|
|||
Debug.Log("OPEN FILE"); |
|||
} |
|||
|
|||
private void _handlePreviewDataFetched( |
|||
ChatComponents.TextMessage message, |
|||
ChatComponents.PreviewData previewData |
|||
) |
|||
{ |
|||
var index = 0; |
|||
foreach (var element in _messages) |
|||
{ |
|||
if (element.id == message.id) |
|||
{ |
|||
index = _messages.IndexOf(element); |
|||
} |
|||
} |
|||
|
|||
|
|||
var updatedMessage = _messages[index].copyWith(previewData: previewData); |
|||
|
|||
WidgetsBinding.instance?.addPostFrameCallback(_ => |
|||
{ |
|||
setState(() => { _messages[index] = updatedMessage; }); |
|||
}); |
|||
} |
|||
|
|||
private void _handleSendPressed(ChatComponents.PartialText message) |
|||
{ |
|||
var textMessage = new ChatComponents.TextMessage( |
|||
_user, |
|||
createdAt: DateTime.Now.Millisecond, |
|||
id: "b4878b96-efbc-479a-8291-474ef323aa" + _messages.Count.ToString(), |
|||
text: message.text |
|||
); |
|||
|
|||
_addMessage(textMessage); |
|||
} |
|||
private Future _handleEndReached() |
|||
{ |
|||
setState(()=> { |
|||
{ |
|||
_messages.AddRange(_messages); |
|||
_page = _page + 1; |
|||
} |
|||
}); |
|||
return Future.value(); |
|||
} |
|||
private void _loadMessages() |
|||
{ |
|||
List<ChatComponents.Message> results = new List<ChatComponents.Message>(); |
|||
TextAsset info = Resources.Load<TextAsset>("assets/messages"); |
|||
|
|||
List<ChatMessage> chatMessages = new List<ChatMessage>(); |
|||
List<string> jsoninfo = info.text.Split('&').ToList(); |
|||
foreach (var _info in jsoninfo) |
|||
{ |
|||
var _message = JsonUtility.FromJson<ChatMessage>(_info); |
|||
chatMessages.Add(_message); |
|||
} |
|||
foreach (var _message in chatMessages) |
|||
{ |
|||
|
|||
results.Add( new ChatComponents.TextMessage( |
|||
author: new User( |
|||
id: _message.author.id, |
|||
firstName: _message.author.firstName, |
|||
imageUrl: _message.author.imageUrl |
|||
), |
|||
createdAt: _message.createdAt, |
|||
id: _message.id, |
|||
status: ChatRoomUtils.getStatusFromString(_message.status), |
|||
text: _message.text |
|||
) |
|||
); |
|||
} |
|||
|
|||
setState(() => { _messages = results; }); |
|||
} |
|||
|
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
// return new Container(
|
|||
// color: Color.fromARGB(0, 0, 0, 0),
|
|||
// child: new Chat(
|
|||
// messages: _messages,
|
|||
// onAttachmentPressed: _handleAtachmentPressed,
|
|||
// onMessageTap: _handleMessageTap,
|
|||
// onPreviewDataFetched: (
|
|||
// previewData,
|
|||
// message) =>
|
|||
// {
|
|||
// _handlePreviewDataFetched(message, previewData);
|
|||
// },
|
|||
// onTextChanged: (_str) => { },
|
|||
// onSendPressed: _handleSendPressed,
|
|||
// onEndReached: _handleEndReached,
|
|||
// //onEndReachedThreshold: 0.65f,
|
|||
// user: _user
|
|||
// )
|
|||
// );
|
|||
return new Scaffold( |
|||
backgroundColor:Color.fromARGB(0,0,0,0), |
|||
appBar: new AppBar( |
|||
backgroundColor: Color.white, |
|||
centerTitle: false, |
|||
title: new IconButton( |
|||
icon: new Icon(Icons.arrow_back, color: Color.black), |
|||
onPressed: () => |
|||
{ |
|||
FocusScope.of(context).unfocus(); |
|||
ChatPanelManager.Switch(); |
|||
}, |
|||
padding: EdgeInsets.zero |
|||
) |
|||
), |
|||
body: new Container( |
|||
child: new Chat( |
|||
messages: _messages, |
|||
onAttachmentPressed: _handleAtachmentPressed, |
|||
onMessageTap: _handleMessageTap, |
|||
onPreviewDataFetched: ( |
|||
previewData, |
|||
message) => |
|||
{ |
|||
_handlePreviewDataFetched(message, previewData); |
|||
}, |
|||
onTextChanged: (_str) => { }, |
|||
onSendPressed: _handleSendPressed, |
|||
onEndReached: _handleEndReached, |
|||
//onEndReachedThreshold: 0.65f,
|
|||
user: _user |
|||
) |
|||
) |
|||
); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: e999995828d164699a4d08dc8dcfef6f |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections.Generic; |
|||
using uiwidgets; |
|||
using Unity.UIWidgets.cupertino; |
|||
using Unity.UIWidgets.engine; |
|||
using Unity.UIWidgets.ui; |
|||
using Unity.UIWidgets.widgets; |
|||
using UnityEngine; |
|||
using Text = Unity.UIWidgets.widgets.Text; |
|||
using ui_ = Unity.UIWidgets.widgets.ui_; |
|||
using TextStyle = Unity.UIWidgets.painting.TextStyle; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
public class ChatPanelDemo : UIWidgetsPanel |
|||
{ |
|||
protected override void onEnable() |
|||
{ |
|||
base.onEnable(); |
|||
AddFont("Material Icons", new List<string> {"MaterialIcons-Regular.ttf"}, new List<int> {0}); |
|||
Application.targetFrameRate = 300; |
|||
} |
|||
|
|||
protected override void main() |
|||
{ |
|||
ui_.runApp(new ChatRoomApp()); |
|||
} |
|||
|
|||
class ChatRoomApp : StatelessWidget |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new CupertinoApp( |
|||
home: new ChatPage() |
|||
); |
|||
} |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 22e5fd4fd567a4a15b97f9c0ba233f5f |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
|
|||
public class ChatPanelManager : MonoBehaviour |
|||
{ |
|||
|
|||
public Transform startTransform; |
|||
public Transform targetTransform; |
|||
public Transform panelTransform; |
|||
public RectTransform canvasTransform; |
|||
public List<GameObject> OtherPanels; |
|||
public Camera mainCamera; |
|||
public GameObject button; |
|||
private static bool isLerp = false; |
|||
public static bool isOpenPanel = false; |
|||
public float speed = 5.0f; |
|||
private static bool isFirstTime = true; |
|||
private bool wait = false; |
|||
|
|||
private void Start() |
|||
{ |
|||
button.SetActive(true); |
|||
canvasTransform.sizeDelta = new Vector2(UnityEngine.Screen.width,UnityEngine.Screen.height); |
|||
var scale = 1920 * targetTransform.localScale.x / Screen.height; |
|||
targetTransform.localScale = new Vector3(scale, scale, scale); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
|
|||
if (isLerp) |
|||
{ |
|||
|
|||
if (isOpenPanel) |
|||
{ |
|||
panelTransform.position = Vector3.Lerp(panelTransform.position, |
|||
targetTransform.position, speed * Time.deltaTime); |
|||
panelTransform.rotation = Quaternion.Lerp(panelTransform.rotation, |
|||
targetTransform.rotation, speed * Time.deltaTime); |
|||
panelTransform.localScale = Vector3.Lerp(panelTransform.localScale, targetTransform.localScale, |
|||
speed * Time.deltaTime); |
|||
if(Vector3.Distance(panelTransform.position,targetTransform.position) < 0.01f) |
|||
{ |
|||
isLerp = false; |
|||
canvasTransform.GetComponent<Canvas>().renderMode = RenderMode.ScreenSpaceOverlay; |
|||
panelTransform.position = targetTransform.position; |
|||
panelTransform.rotation = targetTransform.rotation; |
|||
panelTransform.localScale = targetTransform.localScale; |
|||
foreach (var panel in OtherPanels) |
|||
{ |
|||
panel.SetActive(false); |
|||
} |
|||
} |
|||
button.SetActive(false); |
|||
} |
|||
else |
|||
{ |
|||
if (isFirstTime) |
|||
{ |
|||
canvasTransform.GetComponent<Canvas>().renderMode = RenderMode.WorldSpace; |
|||
canvasTransform.GetComponent<Canvas>().worldCamera = mainCamera; |
|||
canvasTransform.anchoredPosition3D = Vector3.zero; |
|||
canvasTransform.localRotation = Quaternion.Euler(0,0,0); |
|||
canvasTransform.localScale = new Vector3(1, 1, 1); |
|||
panelTransform.position = targetTransform.position; |
|||
panelTransform.rotation = targetTransform.rotation; |
|||
panelTransform.localScale = targetTransform.localScale; |
|||
foreach (var panel in OtherPanels) |
|||
{ |
|||
panel.SetActive(true); |
|||
} |
|||
isFirstTime = false; |
|||
wait = true; |
|||
button.SetActive(true); |
|||
StartCoroutine(SkipForAWhile()); |
|||
} |
|||
|
|||
if (!wait) |
|||
{ |
|||
panelTransform.position = Vector3.Lerp(panelTransform.position, startTransform.position, speed * Time.deltaTime); |
|||
panelTransform.rotation = Quaternion.Lerp(panelTransform.rotation, startTransform.rotation, |
|||
speed * Time.deltaTime); |
|||
panelTransform.localScale = Vector3.Lerp(panelTransform.localScale, startTransform.localScale, |
|||
speed * Time.deltaTime); |
|||
|
|||
if(Vector3.Distance(panelTransform.position, startTransform.position)<0.01f) |
|||
{ |
|||
panelTransform.position = startTransform.position; |
|||
panelTransform.rotation = startTransform.rotation; |
|||
panelTransform.localScale = startTransform.localScale; |
|||
isLerp = false; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
IEnumerator SkipForAWhile() |
|||
{ |
|||
yield return new WaitForSeconds(0.15f); |
|||
wait = false; |
|||
} |
|||
|
|||
public static void Switch() |
|||
{ |
|||
isLerp = true; |
|||
isOpenPanel = !isOpenPanel; |
|||
isFirstTime = true; |
|||
} |
|||
|
|||
public void OpenPanel() |
|||
{ |
|||
Switch(); |
|||
} |
|||
|
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 3872ece76f9b74c2c8d3f411069a75d0 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 5a5944f88580a410c8e92d043b44134c |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 2059c9a281a1c4da8aea1e53e4052971 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using uiwidgets; |
|||
using Unity.UIWidgets.cupertino; |
|||
using Unity.UIWidgets.engine; |
|||
using Unity.UIWidgets.painting; |
|||
using Unity.UIWidgets.rendering; |
|||
using Unity.UIWidgets.ui; |
|||
using Unity.UIWidgets.widgets; |
|||
using UnityEngine; |
|||
using Color = Unity.UIWidgets.ui.Color; |
|||
using Text = Unity.UIWidgets.widgets.Text; |
|||
using ui_ = Unity.UIWidgets.widgets.ui_; |
|||
using TextStyle = Unity.UIWidgets.painting.TextStyle; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
|
|||
|
|||
public class DateAndTimePicker : UIWidgetsPanel |
|||
{ |
|||
protected void OnEnable() |
|||
{ |
|||
base.OnEnable(); |
|||
} |
|||
|
|||
protected override void main() |
|||
{ |
|||
ui_.runApp(new MyApp()); |
|||
} |
|||
|
|||
class MyApp : StatelessWidget |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new CupertinoApp( |
|||
home: new DateAndTimePickerWidget() |
|||
); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public class DateAndTimePickerWidget : StatefulWidget { |
|||
|
|||
public override State createState() { |
|||
return new DateAndTimePickerWidgetState(); |
|||
} |
|||
} |
|||
|
|||
|
|||
public class DateAndTimePickerWidgetState : State<DateAndTimePickerWidget> |
|||
{ |
|||
public bool isLottieVisable = true; |
|||
private Widget picker = null; |
|||
Widget _buildMenu(List<Widget> children) { |
|||
return new Container( |
|||
decoration: new BoxDecoration( |
|||
color: CupertinoTheme.of(this.context).scaffoldBackgroundColor, |
|||
border: new Border( |
|||
top: new BorderSide(color: new Color(0xFFBCBBC1), width: 0.0f), |
|||
bottom: new BorderSide(color: new Color(0xFFBCBBC1), width: 0.0f) |
|||
) |
|||
), |
|||
height: 44.0f, |
|||
child: new Padding( |
|||
padding: EdgeInsets.symmetric(horizontal: 16.0f), |
|||
child: new SafeArea( |
|||
top: false, |
|||
bottom: false, |
|||
child: new Row( |
|||
//mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|||
children: children |
|||
) |
|||
) |
|||
) |
|||
); |
|||
} |
|||
DateTime dateTime = DateTime.Now; |
|||
|
|||
Widget _buildBottomPicker(Widget picker) { |
|||
return new Container( |
|||
height: 280f, |
|||
width : 500f, |
|||
padding: EdgeInsets.only(top: 6.0f), |
|||
color: Color.fromARGB(100,0,0,0), |
|||
child: new DefaultTextStyle( |
|||
style: new TextStyle( |
|||
color: Colors.red, |
|||
fontSize: 12.0f |
|||
), |
|||
child: new GestureDetector( |
|||
// Blocks taps from propagating to the modal sheet and popping.
|
|||
onTap: () => { }, |
|||
child: new SafeArea( |
|||
top: false, |
|||
child: picker |
|||
) |
|||
) |
|||
) |
|||
); |
|||
} |
|||
Widget _buildDateAndTimePicker(BuildContext context) { |
|||
return new GestureDetector( |
|||
onTap: () => { |
|||
setState(() => |
|||
{ |
|||
isLottieVisable = false; |
|||
}); |
|||
ModalPage.popup( |
|||
context, |
|||
_buildBottomPicker( |
|||
new CupertinoTheme( |
|||
data: new CupertinoThemeData( |
|||
textTheme: new CupertinoTextThemeData( |
|||
dateTimePickerTextStyle: new TextStyle( |
|||
fontSize: 16, |
|||
color: Color.fromARGB(255, 226, 255, 255) |
|||
) |
|||
) |
|||
), |
|||
child: new CupertinoDatePicker( |
|||
backgroundColor: Colors.transparent, |
|||
mode: CupertinoDatePickerMode.dateAndTime, |
|||
initialDateTime: this.dateTime, |
|||
onDateTimeChanged: (DateTime newDateTime) => |
|||
{ |
|||
this.setState(() => |
|||
{ |
|||
LightManager.time = newDateTime; |
|||
this.dateTime = newDateTime; |
|||
}); |
|||
} |
|||
) |
|||
) |
|||
), |
|||
onPop: () => |
|||
{ |
|||
setState(() => |
|||
{ |
|||
isLottieVisable = true; |
|||
}); |
|||
Debug.Log("onPop"); |
|||
}); |
|||
}, |
|||
child: new Text( |
|||
this.dateTime.ToString("MMMM dd, yyyy h:mm tt"), |
|||
style: new TextStyle(color: Colors.white, fontSize:23) |
|||
) |
|||
); |
|||
} |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new Container( |
|||
child : new Stack( |
|||
children:new List<Widget>() |
|||
{ |
|||
new Visibility( |
|||
child: new LottieApp(), |
|||
visible: isLottieVisable), |
|||
this._buildDateAndTimePicker(context), |
|||
}) |
|||
); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 216a617d88e5843fe93262c90624f129 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 79d2ad4a9240446bc82c1b226c87df02 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections.Generic; |
|||
using uiwidgets; |
|||
using Unity.UIWidgets.engine; |
|||
using Unity.UIWidgets.foundation; |
|||
using Unity.UIWidgets.material; |
|||
using Unity.UIWidgets.painting; |
|||
using Unity.UIWidgets.ui; |
|||
using Unity.UIWidgets.widgets; |
|||
using Color = Unity.UIWidgets.ui.Color; |
|||
using Image = Unity.UIWidgets.widgets.Image; |
|||
using Random = System.Random; |
|||
using TextStyle = Unity.UIWidgets.painting.TextStyle; |
|||
using ui_ = Unity.UIWidgets.widgets.ui_; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
public class ImageFlowDemo : UIWidgetsPanel |
|||
{ |
|||
protected void OnEnable() |
|||
{ |
|||
base.OnEnable(); |
|||
} |
|||
|
|||
protected override void main() |
|||
{ |
|||
ui_.runApp(new ImageFlowApp()); |
|||
} |
|||
} |
|||
|
|||
class ImageFlowApp : StatelessWidget |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new MaterialApp( |
|||
theme: new ThemeData( |
|||
brightness: Brightness.dark, |
|||
accentColor: Colors.cyan[600], |
|||
textTheme: new TextTheme( |
|||
headline1: new TextStyle(fontSize: 72.0f, fontWeight: FontWeight.bold), |
|||
headline6: new TextStyle(fontSize: 36.0f, fontStyle: FontStyle.italic), |
|||
bodyText2: new TextStyle(fontSize: 14.0f) |
|||
) |
|||
), |
|||
home: new Card( |
|||
child: new ImageFlow(), |
|||
color: new Color(0xAF000000) |
|||
) |
|||
); |
|||
} |
|||
} |
|||
|
|||
|
|||
public static class Utils |
|||
{ |
|||
public static List<Color> colors = new List<Color>() |
|||
{ |
|||
Colors.red, |
|||
Colors.amber, |
|||
Colors.cyan, |
|||
Colors.brown, |
|||
Colors.purpleAccent, |
|||
Colors.blue |
|||
}; |
|||
|
|||
public static List<string> lotties = new List<string>() |
|||
{ |
|||
"1055-world-locations.json", |
|||
"1370-confetti.json", |
|||
"1798-check-animation.json", |
|||
"226-splashy-loader.json", |
|||
"66992-the-flying-rocket.json", |
|||
"77-im-thirsty.json", |
|||
"782-check-mark-success.json", |
|||
"91-mailsent.json", |
|||
"lottieflow-checkbox-06-000000-easey.json", |
|||
"lottieflow-cta-04-000000-easey.json", |
|||
"lottieflow-radio-07-000000-easey.json", |
|||
"lottieflow-social-networks-16-12-000000-easey.json", |
|||
"lottieflow-social-networks-16-7-000000-easey.json", |
|||
}; |
|||
|
|||
public static List<string> localImages = new List<string>() |
|||
{ |
|||
"heroSample/cube2.jpeg", |
|||
"heroSample/sphere2.jpeg", |
|||
"heroSample/capture2.jpeg", |
|||
"heroSample/cylinder2.jpeg", |
|||
}; |
|||
|
|||
public static List<string> imageUrls = new List<string>() |
|||
{ |
|||
"https://cdn.pixabay.com/photo/2016/10/21/14/50/plouzane-1758197_960_720.jpg", |
|||
"https://cdn.pixabay.com/photo/2016/11/16/10/59/mountains-1828596_960_720.jpg", |
|||
"https://cdn.pixabay.com/photo/2017/08/24/22/37/gyrfalcon-2678684_960_720.jpg", |
|||
"https://cdn.pixabay.com/photo/2013/01/17/08/25/sunset-75159_960_720.jpg", |
|||
"https://cdn.pixabay.com/photo/2021/04/06/21/08/crown-anemone-6157488_960_720.jpg", |
|||
"https://cdn.pixabay.com/photo/2021/05/10/10/46/yellow-wall-6243164_960_720.jpg", |
|||
}; |
|||
|
|||
internal static Random random = new Random(); |
|||
|
|||
public static bool UseImage = true; |
|||
public static bool UseLocalImage = false; |
|||
public static bool UseAmountSlider = false; |
|||
|
|||
public static T RandomSelect<T>(this List<T> a) |
|||
{ |
|||
if (a.isEmpty()) |
|||
{ |
|||
return default; |
|||
} |
|||
|
|||
return a[random.Next(a.Count)]; |
|||
} |
|||
} |
|||
|
|||
class ImageFlow : StatefulWidget |
|||
{ |
|||
public override State createState() |
|||
{ |
|||
return new ImageFlowState(); |
|||
} |
|||
} |
|||
|
|||
class ImageFlowState : State<ImageFlow> |
|||
{ |
|||
public ImageFlowState() |
|||
{ |
|||
UpdateTiles(); |
|||
} |
|||
|
|||
private readonly List<StaggeredTile> _staggeredTiles = new List<StaggeredTile>(); |
|||
|
|||
private readonly List<Widget> _tiles = new List<Widget>(); |
|||
|
|||
private int count = 4; |
|||
private int tileCount = 30; |
|||
|
|||
public void UpdateTiles() |
|||
{ |
|||
while (_tiles.Count < tileCount) |
|||
{ |
|||
if (Utils.UseImage) |
|||
{ |
|||
if (Utils.UseLocalImage) |
|||
{ |
|||
_tiles.Add( |
|||
new ImageTile( |
|||
Utils.colors.RandomSelect(), |
|||
Utils.localImages.RandomSelect(), |
|||
true |
|||
) |
|||
); |
|||
} |
|||
else |
|||
{ |
|||
_tiles.Add( |
|||
new ImageTile( |
|||
Utils.colors.RandomSelect(), |
|||
Utils.imageUrls.RandomSelect() |
|||
) |
|||
); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
_tiles.Add( |
|||
new LottieTile( |
|||
Utils.colors.RandomSelect(), |
|||
Utils.lotties.RandomSelect() |
|||
) |
|||
); |
|||
} |
|||
|
|||
_staggeredTiles.Add( |
|||
StaggeredTile.count( |
|||
Utils.random.Next(2) + 1, |
|||
Utils.random.Next(2) + 1) |
|||
); |
|||
} |
|||
|
|||
while (_tiles.Count > tileCount) |
|||
{ |
|||
_tiles.RemoveAt(0); |
|||
_staggeredTiles.RemoveAt(0); |
|||
} |
|||
} |
|||
|
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
var result = new List<Widget>() |
|||
{ |
|||
new Expanded(child: |
|||
new Container( |
|||
child: |
|||
StaggeredGridView.count( |
|||
crossAxisCount: count, |
|||
staggeredTiles: _staggeredTiles, |
|||
mainAxisSpacing: 3, |
|||
crossAxisSpacing: 3, |
|||
padding: EdgeInsets.all(4), |
|||
children: _tiles |
|||
) |
|||
)), |
|||
new Slider( |
|||
activeColor: Colors.blue, |
|||
inactiveColor: Colors.white, |
|||
value: count, |
|||
min: 2, |
|||
max: 8, |
|||
divisions: 6, |
|||
label: count.ToString(), |
|||
onChanged: v => |
|||
{ |
|||
int newCount = (int) v; |
|||
if (newCount != count) |
|||
{ |
|||
setState(() => { count = newCount; }); |
|||
} |
|||
} |
|||
), |
|||
}; |
|||
if (Utils.UseAmountSlider) |
|||
{ |
|||
result.Add( |
|||
new Slider( |
|||
activeColor: Colors.blue, |
|||
inactiveColor: Colors.white, |
|||
value: tileCount, |
|||
min: 0, |
|||
max: 20, |
|||
divisions: 20, |
|||
label: tileCount.ToString(), |
|||
onChanged: v => |
|||
{ |
|||
int newCount = (int) v; |
|||
if (newCount != tileCount) |
|||
{ |
|||
setState(() => |
|||
{ |
|||
tileCount = newCount; |
|||
UpdateTiles(); |
|||
}); |
|||
} |
|||
} |
|||
) |
|||
); |
|||
} |
|||
|
|||
return new Column(children: result); |
|||
} |
|||
} |
|||
|
|||
internal class ImageTile : StatefulWidget |
|||
{ |
|||
internal ImageTile(Color backgroundColor, string path, bool local = false) |
|||
{ |
|||
this.backgroundColor = backgroundColor; |
|||
this.path = path; |
|||
this.local = local; |
|||
} |
|||
|
|||
public readonly Color backgroundColor; |
|||
public readonly string path; |
|||
public readonly bool local; |
|||
|
|||
public override State createState() |
|||
{ |
|||
return new ImageTileState(); |
|||
} |
|||
} |
|||
|
|||
internal class ImageTileState : State<ImageTile> |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
if (widget.local) |
|||
{ |
|||
return new Container( |
|||
color: widget.backgroundColor, |
|||
child: Image.file( |
|||
widget.path, |
|||
fit: BoxFit.cover |
|||
) |
|||
|
|||
); |
|||
} |
|||
return new Card( |
|||
color: widget.backgroundColor, |
|||
child: Image.network( |
|||
widget.path, |
|||
fit: BoxFit.cover |
|||
|
|||
) |
|||
); |
|||
} |
|||
} |
|||
|
|||
internal class LottieTile : StatefulWidget |
|||
{ |
|||
internal LottieTile(Color backgroundColor, string path) |
|||
{ |
|||
this.backgroundColor = backgroundColor; |
|||
this.path = path; |
|||
} |
|||
|
|||
public readonly Color backgroundColor; |
|||
public readonly string path; |
|||
|
|||
public override State createState() |
|||
{ |
|||
return new LottieTileState(); |
|||
} |
|||
} |
|||
|
|||
internal class LottieTileState : State<LottieTile> |
|||
{ |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new Card( |
|||
color: widget.backgroundColor, |
|||
child: new InkWell( |
|||
onTap: () => { }, |
|||
child: new Center( |
|||
child: new Padding( |
|||
padding: EdgeInsets.all(4), |
|||
child: new Lottie(widget.path, size: new Size(100, 100)) |
|||
) |
|||
) |
|||
) |
|||
); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 4b528d0713eb470881072361372fa123 |
|||
timeCreated: 1626845939 |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
public class LightManager : MonoBehaviour |
|||
{ |
|||
public GameObject directLight; |
|||
|
|||
public static DateTime time; |
|||
|
|||
private const float one_day_seconds = 86400f; |
|||
private const float offset = 0.0f; |
|||
// Start is called before the first frame update
|
|||
void Start() |
|||
{ |
|||
time = DateTime.Now; |
|||
} |
|||
|
|||
// Update is called once per frame
|
|||
void Update() |
|||
{ |
|||
|
|||
DateTime start_of_today = new DateTime(time.Year, time.Month, time.Day); |
|||
TimeSpan timeSpan = time - start_of_today; |
|||
float total_seconds = (float)timeSpan.TotalSeconds; |
|||
float x = (total_seconds - 21600) *180 / 43200 - offset; |
|||
if (x > 180) x = 180; |
|||
if (x < 0) x = 0; |
|||
directLight.transform.rotation = Quaternion.Euler(x,72,0); |
|||
if (x > 90) x = 180 - x; |
|||
directLight.GetComponent<Light>().intensity = x / 90; |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: f9357835c80cc45b5a809153c4738671 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 3ba507860114040f688e068d791427c2 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 75cec3f5c6a8459ba9114fbc9b3b149b |
|||
timeCreated: 1627379656 |
|
|||
fileFormatVersion: 2 |
|||
guid: 940904f85a8c540ed94e0a359403d5f6 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Runtime.CompilerServices; |
|||
using Unity.UIWidgets.foundation; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
public abstract class ChatL10n |
|||
{ |
|||
/// Accessibility label (hint) for the attachment button
|
|||
public readonly string attachmentButtonAccessibilityLabel; |
|||
|
|||
/// Placeholder when there are no messages
|
|||
public readonly string emptyChatPlaceholder; |
|||
|
|||
/// Accessibility label (hint) for the tap action on file message
|
|||
public readonly string fileButtonAccessibilityLabel; |
|||
|
|||
/// Placeholder for the text field
|
|||
public readonly string inputPlaceholder; |
|||
|
|||
/// Accessibility label (hint) for the send button
|
|||
public readonly string sendButtonAccessibilityLabel; |
|||
|
|||
/// Creates a new chat l10n based on provided copy
|
|||
public ChatL10n( |
|||
string attachmentButtonAccessibilityLabel = null, |
|||
string emptyChatPlaceholder = null, |
|||
string fileButtonAccessibilityLabel = null, |
|||
string inputPlaceholder = null, |
|||
string sendButtonAccessibilityLabel = null |
|||
) |
|||
{ |
|||
this.inputPlaceholder = inputPlaceholder; |
|||
this.attachmentButtonAccessibilityLabel = attachmentButtonAccessibilityLabel; |
|||
this.emptyChatPlaceholder = emptyChatPlaceholder; |
|||
this.fileButtonAccessibilityLabel = fileButtonAccessibilityLabel; |
|||
this.sendButtonAccessibilityLabel = sendButtonAccessibilityLabel; |
|||
} |
|||
} |
|||
|
|||
/// English l10n which extends [ChatL10n]
|
|||
public class ChatL10nEn : ChatL10n |
|||
{ |
|||
/// Creates English l10n. Use this constructor if you want to
|
|||
/// override only a couple of variables, otherwise create a new class
|
|||
/// which extends [ChatL10n]
|
|||
public ChatL10nEn( |
|||
string attachmentButtonAccessibilityLabel = "Send media", |
|||
string emptyChatPlaceholder = "No messages here yet", |
|||
string fileButtonAccessibilityLabel = "File", |
|||
string inputPlaceholder = "Message", |
|||
string sendButtonAccessibilityLabel = "Send" |
|||
) : base( |
|||
attachmentButtonAccessibilityLabel, |
|||
emptyChatPlaceholder, |
|||
fileButtonAccessibilityLabel, |
|||
inputPlaceholder, |
|||
sendButtonAccessibilityLabel |
|||
) |
|||
{ |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 3e722646b561544218947d2aff3db638 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections.Generic; |
|||
using Unity.UIWidgets.painting; |
|||
using Unity.UIWidgets.ui; |
|||
using Unity.UIWidgets.widgets; |
|||
using TextStyle =Unity.UIWidgets.painting.TextStyle; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
public class ChatThemeUtils |
|||
{ |
|||
public static List<Color> COLORS = new List<Color> |
|||
{ |
|||
new Color(0xffff6767), |
|||
new Color(0xff66e0da), |
|||
new Color(0xfff5a2d9), |
|||
new Color(0xfff0c722), |
|||
new Color(0xff6a85e5), |
|||
new Color(0xfffd9a6f), |
|||
new Color(0xff92db6e), |
|||
new Color(0xff73b8e5), |
|||
new Color(0xfffd7590), |
|||
new Color(0xffc78ae5) |
|||
}; |
|||
|
|||
/// Dark
|
|||
public static Color DARK = new Color(0xff1f1c38); |
|||
|
|||
/// Error
|
|||
public static Color ERROR = new Color(0xffff6767); |
|||
|
|||
/// N0
|
|||
public static Color NEUTRAL_0 = new Color(0xff1d1c21); |
|||
|
|||
/// N2
|
|||
public static Color NEUTRAL_2 = new Color(0xff9e9cab); |
|||
|
|||
/// N7
|
|||
public static Color NEUTRAL_7 = new Color(0xffffffff); |
|||
|
|||
/// N7 with opacity
|
|||
public static Color NEUTRAL_7_WITH_OPACITY = new Color(0x80ffffff); |
|||
|
|||
/// Primary
|
|||
public static Color PRIMARY = new Color(0xff6f61e8); |
|||
|
|||
/// Secondary
|
|||
public static Color SECONDARY = new Color(0xfff5f5f7); |
|||
|
|||
/// Secondary dark
|
|||
public static Color SECONDARY_DARK = new Color(0xff2b2250); |
|||
|
|||
public static float ratio = 0.5f; |
|||
} |
|||
|
|||
/// Base chat theme containing all required variables to make a theme.
|
|||
/// Extend this class if you want to create a custom theme.
|
|||
public abstract class ChatTheme |
|||
{ |
|||
/// Icon for select attachment button
|
|||
public readonly Widget attachmentButtonIcon; |
|||
|
|||
/// Used as a background color of a chat widget
|
|||
public readonly Color backgroundColor; |
|||
|
|||
/// Text style of the date dividers
|
|||
public readonly Unity.UIWidgets.painting.TextStyle dateDividerTextStyle; |
|||
|
|||
/// Icon for message's `delivered` status. For the best look use size of 16.
|
|||
public readonly Widget deliveredIcon; |
|||
|
|||
/// Icon inside file message
|
|||
public readonly Widget documentIcon; |
|||
|
|||
/// Text style of the empty chat placeholder
|
|||
public readonly TextStyle emptyChatPlaceholderTextStyle; |
|||
|
|||
/// Color to indicate something bad happened (usually - shades of red)
|
|||
public readonly Color errorColor; |
|||
|
|||
/// Icon for message's `error` status. For the best look use size of 16.
|
|||
public readonly Widget errorIcon; |
|||
|
|||
/// Color of the bottom bar where text field is
|
|||
public readonly Color inputBackgroundColor; |
|||
|
|||
/// Top border radius of the bottom bar where text field is
|
|||
public readonly BorderRadius inputBorderRadius; |
|||
|
|||
/// Color of the text field's text and attachment/send buttons
|
|||
public readonly Color inputTextColor; |
|||
|
|||
/// Text style of the message input. To change the color use [inputTextColor].
|
|||
public readonly TextStyle inputTextStyle; |
|||
|
|||
/// Border radius of message container
|
|||
public readonly float messageBorderRadius; |
|||
|
|||
/// Primary color of the chat used as a background of sent messages
|
|||
/// and statuses
|
|||
public readonly Color primaryColor; |
|||
|
|||
/// Body text style used for displaying text on different types
|
|||
/// of received messages
|
|||
public readonly TextStyle receivedMessageBodyTextStyle; |
|||
|
|||
/// Caption text style used for displaying secondary info (e.g. file size)
|
|||
/// on different types of received messages
|
|||
public readonly TextStyle receivedMessageCaptionTextStyle; |
|||
|
|||
/// Color of the document icon on received messages. Has no effect when
|
|||
/// [documentIcon] is used.
|
|||
public readonly Color receivedMessageDocumentIconColor; |
|||
|
|||
/// Text style used for displaying link description on received messages
|
|||
public readonly TextStyle receivedMessageLinkDescriptionTextStyle; |
|||
|
|||
/// Text style used for displaying link title on received messages
|
|||
public readonly TextStyle receivedMessageLinkTitleTextStyle; |
|||
|
|||
/// Secondary color, used as a background of received messages
|
|||
public readonly Color secondaryColor; |
|||
|
|||
/// Icon for message's `seen` status. For the best look use size of 16.
|
|||
public readonly Widget seenIcon; |
|||
|
|||
/// Icon for send button
|
|||
public readonly Widget sendButtonIcon; |
|||
|
|||
/// Body text style used for displaying text on different types
|
|||
/// of sent messages
|
|||
public readonly TextStyle sentMessageBodyTextStyle; |
|||
|
|||
/// Caption text style used for displaying secondary info (e.g. file size)
|
|||
/// on different types of sent messages
|
|||
public readonly TextStyle sentMessageCaptionTextStyle; |
|||
|
|||
/// Color of the document icon on sent messages. Has no effect when
|
|||
/// [documentIcon] is used.
|
|||
public readonly Color sentMessageDocumentIconColor; |
|||
|
|||
/// Text style used for displaying link description on sent messages
|
|||
public readonly TextStyle sentMessageLinkDescriptionTextStyle; |
|||
|
|||
/// Text style used for displaying link title on sent messages
|
|||
public readonly TextStyle sentMessageLinkTitleTextStyle; |
|||
|
|||
/// Colors used as backgrounds for user avatars and corresponded user names.
|
|||
/// Calculated based on a user ID, so unique across the whole app.
|
|||
public readonly List<Color> userAvatarNameColors; |
|||
|
|||
/// Text style used for displaying initials on user avatar if no
|
|||
/// image is provided
|
|||
public readonly TextStyle userAvatarTextStyle; |
|||
|
|||
/// User names text style. Color will be overwritten with [userAvatarNameColors].
|
|||
public readonly TextStyle userNameTextStyle; |
|||
|
|||
/// Creates a new chat theme based on provided colors and text styles.
|
|||
public ChatTheme( |
|||
Widget attachmentButtonIcon, |
|||
Color backgroundColor, |
|||
TextStyle dateDividerTextStyle, |
|||
Widget deliveredIcon, |
|||
Widget documentIcon, |
|||
TextStyle emptyChatPlaceholderTextStyle, |
|||
Color errorColor, |
|||
Widget errorIcon, |
|||
Color inputBackgroundColor, |
|||
BorderRadius inputBorderRadius, |
|||
TextStyle inputTextStyle, |
|||
Color inputTextColor, |
|||
float messageBorderRadius, |
|||
Color primaryColor, |
|||
TextStyle receivedMessageBodyTextStyle, |
|||
TextStyle receivedMessageCaptionTextStyle, |
|||
Color receivedMessageDocumentIconColor, |
|||
TextStyle receivedMessageLinkDescriptionTextStyle, |
|||
TextStyle receivedMessageLinkTitleTextStyle, |
|||
Color secondaryColor, |
|||
Widget seenIcon, |
|||
Widget sendButtonIcon, |
|||
TextStyle sentMessageBodyTextStyle, |
|||
TextStyle sentMessageCaptionTextStyle, |
|||
Color sentMessageDocumentIconColor, |
|||
TextStyle sentMessageLinkDescriptionTextStyle, |
|||
TextStyle sentMessageLinkTitleTextStyle, |
|||
List<Color> userAvatarNameColors, |
|||
TextStyle userAvatarTextStyle, |
|||
TextStyle userNameTextStyle |
|||
) |
|||
{ |
|||
this.attachmentButtonIcon = attachmentButtonIcon; |
|||
this.backgroundColor = backgroundColor; |
|||
this.dateDividerTextStyle = dateDividerTextStyle; |
|||
this.deliveredIcon = deliveredIcon; |
|||
this.documentIcon = documentIcon; |
|||
this.emptyChatPlaceholderTextStyle = emptyChatPlaceholderTextStyle; |
|||
this.errorColor = errorColor; |
|||
this.errorIcon = errorIcon; |
|||
this.inputBackgroundColor = inputBackgroundColor; |
|||
this.inputBorderRadius = inputBorderRadius; |
|||
this.inputTextStyle = inputTextStyle; |
|||
this.inputTextColor = inputTextColor; |
|||
this.messageBorderRadius = messageBorderRadius; |
|||
this.primaryColor = primaryColor; |
|||
this.receivedMessageBodyTextStyle = receivedMessageBodyTextStyle; |
|||
this.receivedMessageCaptionTextStyle = receivedMessageCaptionTextStyle; |
|||
this.receivedMessageDocumentIconColor = receivedMessageDocumentIconColor; |
|||
this.receivedMessageLinkDescriptionTextStyle = receivedMessageLinkDescriptionTextStyle; |
|||
this.receivedMessageLinkTitleTextStyle = receivedMessageLinkTitleTextStyle; |
|||
this.secondaryColor = secondaryColor; |
|||
this.seenIcon = seenIcon; |
|||
this.sendButtonIcon = sendButtonIcon; |
|||
this.sentMessageBodyTextStyle = sentMessageBodyTextStyle; |
|||
this.sentMessageCaptionTextStyle = sentMessageCaptionTextStyle; |
|||
this.sentMessageDocumentIconColor = sentMessageDocumentIconColor; |
|||
this.sentMessageLinkDescriptionTextStyle = sentMessageLinkDescriptionTextStyle; |
|||
this.sentMessageLinkTitleTextStyle = sentMessageLinkTitleTextStyle; |
|||
this.userAvatarNameColors = userAvatarNameColors; |
|||
this.userAvatarTextStyle = userAvatarTextStyle; |
|||
this.userNameTextStyle = userNameTextStyle; |
|||
} |
|||
} |
|||
|
|||
/// Default chat theme which extends [ChatTheme]
|
|||
internal class DefaultChatTheme : ChatTheme |
|||
{ |
|||
/// Creates a default chat theme. Use this constructor if you want to
|
|||
/// override only a couple of variables, otherwise create a new class
|
|||
/// which extends [ChatTheme]
|
|||
public DefaultChatTheme( |
|||
Widget attachmentButtonIcon =null, |
|||
Widget deliveredIcon = null, |
|||
Widget documentIcon = null, |
|||
Widget seenIcon = null, |
|||
Widget sendButtonIcon = null, |
|||
Widget errorIcon = null, |
|||
TextStyle dateDividerTextStyle = null, |
|||
TextStyle emptyChatPlaceholderTextStyle = null, |
|||
Color inputBackgroundColor = null, |
|||
BorderRadius inputBorderRadius = null, |
|||
Color inputTextColor = null, |
|||
TextStyle inputTextStyle = null, |
|||
float messageBorderRadius = 0.0f, |
|||
Color primaryColor = null, |
|||
TextStyle receivedMessageBodyTextStyle = null, |
|||
TextStyle receivedMessageCaptionTextStyle = null, |
|||
Color receivedMessageDocumentIconColor = null, |
|||
TextStyle receivedMessageLinkDescriptionTextStyle = null, |
|||
TextStyle receivedMessageLinkTitleTextStyle = null, |
|||
Color secondaryColor = null, |
|||
TextStyle sentMessageBodyTextStyle = null, |
|||
TextStyle sentMessageCaptionTextStyle = null, |
|||
Color sentMessageDocumentIconColor = null, |
|||
TextStyle sentMessageLinkDescriptionTextStyle = null, |
|||
TextStyle sentMessageLinkTitleTextStyle = null, |
|||
List<Color> userAvatarNameColors = null, |
|||
TextStyle userAvatarTextStyle = null, |
|||
TextStyle userNameTextStyle = null, |
|||
Color backgroundColor = null, |
|||
Color errorColor = null |
|||
) : base( |
|||
attachmentButtonIcon, |
|||
backgroundColor ?? ChatThemeUtils.NEUTRAL_7, |
|||
dateDividerTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_2, fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, |
|||
fontWeight: FontWeight.w800, height: 1.333f) |
|||
: dateDividerTextStyle, |
|||
deliveredIcon, |
|||
documentIcon, |
|||
emptyChatPlaceholderTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_2, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.5f) |
|||
: emptyChatPlaceholderTextStyle, |
|||
errorColor ?? ChatThemeUtils.ERROR, |
|||
errorIcon, |
|||
inputBackgroundColor ?? ChatThemeUtils.NEUTRAL_7, |
|||
inputBorderRadius == null ? BorderRadius.vertical(Radius.circular(20f)) : inputBorderRadius, |
|||
inputTextColor: inputTextColor ?? ChatThemeUtils.NEUTRAL_0, |
|||
inputTextStyle: inputTextStyle == null |
|||
? new TextStyle(fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.5f) |
|||
: inputTextStyle, |
|||
messageBorderRadius: messageBorderRadius == 0.0 ? 20.0f : messageBorderRadius, |
|||
primaryColor: primaryColor ?? ChatThemeUtils.PRIMARY, |
|||
receivedMessageBodyTextStyle: receivedMessageBodyTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_0, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.5f) |
|||
: receivedMessageBodyTextStyle, |
|||
receivedMessageCaptionTextStyle: receivedMessageCaptionTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_2, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.333f) |
|||
: receivedMessageCaptionTextStyle, |
|||
receivedMessageDocumentIconColor: receivedMessageDocumentIconColor ?? ChatThemeUtils.PRIMARY, |
|||
receivedMessageLinkDescriptionTextStyle: |
|||
receivedMessageLinkDescriptionTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_0, |
|||
fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w400, height: 1.428f) |
|||
: receivedMessageLinkDescriptionTextStyle, |
|||
receivedMessageLinkTitleTextStyle: receivedMessageLinkTitleTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_0, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w800, height: 1.375f) |
|||
: receivedMessageLinkTitleTextStyle, |
|||
secondaryColor: secondaryColor ?? ChatThemeUtils.SECONDARY, |
|||
seenIcon: seenIcon, |
|||
sendButtonIcon: sendButtonIcon, |
|||
sentMessageBodyTextStyle: sentMessageBodyTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_7, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.5f) |
|||
: sentMessageBodyTextStyle, |
|||
sentMessageCaptionTextStyle: sentMessageCaptionTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_7_WITH_OPACITY, |
|||
fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w500, height: 1.333f) |
|||
: sentMessageCaptionTextStyle, |
|||
sentMessageDocumentIconColor: sentMessageDocumentIconColor ?? ChatThemeUtils.NEUTRAL_7, |
|||
sentMessageLinkDescriptionTextStyle: |
|||
sentMessageLinkDescriptionTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_7, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w400, height: 1.428f) |
|||
: sentMessageLinkDescriptionTextStyle, |
|||
sentMessageLinkTitleTextStyle: sentMessageLinkTitleTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_7, fontFamily: "Avenir", |
|||
fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w800, height: 1.375f) |
|||
: sentMessageLinkTitleTextStyle, |
|||
userAvatarNameColors: userAvatarNameColors ?? ChatThemeUtils.COLORS, |
|||
userAvatarTextStyle: userAvatarTextStyle == null |
|||
? new TextStyle(color:ChatThemeUtils.NEUTRAL_7, fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, |
|||
fontWeight: FontWeight.w800, height: 1.333f) |
|||
: userAvatarTextStyle, |
|||
userNameTextStyle: userNameTextStyle == null |
|||
? new TextStyle(fontFamily: "Avenir", fontSize:ChatThemeUtils.ratio * 35, fontWeight: FontWeight.w800, height: 1.333f) |
|||
: userNameTextStyle |
|||
) |
|||
{ |
|||
} |
|||
} |
|||
/* |
|||
/// Dark chat theme which extends [ChatTheme]
|
|||
@immutable |
|||
class DarkChatTheme extends ChatTheme { |
|||
/// Creates a dark chat theme. Use this constructor if you want to
|
|||
/// override only a couple of variables, otherwise create a new class
|
|||
/// which extends [ChatTheme]
|
|||
const DarkChatTheme({ |
|||
Widget? attachmentButtonIcon, |
|||
Color backgroundColor = DARK, |
|||
TextStyle dateDividerTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 12, |
|||
fontWeight: FontWeight.w800, |
|||
height: 1.333, |
|||
), |
|||
Widget? deliveredIcon, |
|||
Widget? documentIcon, |
|||
TextStyle emptyChatPlaceholderTextStyle = const TextStyle( |
|||
color: NEUTRAL_2, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.5, |
|||
), |
|||
Color errorColor = ERROR, |
|||
Widget? errorIcon, |
|||
Color inputBackgroundColor = SECONDARY_DARK, |
|||
BorderRadius inputBorderRadius = const BorderRadius.vertical( |
|||
top: Radius.circular(20), |
|||
), |
|||
Color inputTextColor = NEUTRAL_7, |
|||
TextStyle inputTextStyle = const TextStyle( |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.5, |
|||
), |
|||
double messageBorderRadius = 20.0, |
|||
Color primaryColor = PRIMARY, |
|||
TextStyle receivedMessageBodyTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.5, |
|||
), |
|||
TextStyle receivedMessageCaptionTextStyle = const TextStyle( |
|||
color: NEUTRAL_7_WITH_OPACITY, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 12, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.333, |
|||
), |
|||
Color receivedMessageDocumentIconColor = PRIMARY, |
|||
TextStyle receivedMessageLinkDescriptionTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 14, |
|||
fontWeight: FontWeight.w400, |
|||
height: 1.428, |
|||
), |
|||
TextStyle receivedMessageLinkTitleTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w800, |
|||
height: 1.375, |
|||
), |
|||
Color secondaryColor = SECONDARY_DARK, |
|||
Widget? seenIcon, |
|||
Widget? sendButtonIcon, |
|||
TextStyle sentMessageBodyTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.5, |
|||
), |
|||
TextStyle sentMessageCaptionTextStyle = const TextStyle( |
|||
color: NEUTRAL_7_WITH_OPACITY, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 12, |
|||
fontWeight: FontWeight.w500, |
|||
height: 1.333, |
|||
), |
|||
Color sentMessageDocumentIconColor = NEUTRAL_7, |
|||
TextStyle sentMessageLinkDescriptionTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 14, |
|||
fontWeight: FontWeight.w400, |
|||
height: 1.428, |
|||
), |
|||
TextStyle sentMessageLinkTitleTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 16, |
|||
fontWeight: FontWeight.w800, |
|||
height: 1.375, |
|||
), |
|||
List<Color> userAvatarNameColors = COLORS, |
|||
TextStyle userAvatarTextStyle = const TextStyle( |
|||
color: NEUTRAL_7, |
|||
fontFamily: 'Avenir', |
|||
fontSize: 12, |
|||
fontWeight: FontWeight.w800, |
|||
height: 1.333, |
|||
), |
|||
TextStyle userNameTextStyle = const TextStyle( |
|||
fontFamily: 'Avenir', |
|||
fontSize: 12, |
|||
fontWeight: FontWeight.w800, |
|||
height: 1.333, |
|||
), |
|||
}) : super( |
|||
attachmentButtonIcon: attachmentButtonIcon, |
|||
backgroundColor: backgroundColor, |
|||
dateDividerTextStyle: dateDividerTextStyle, |
|||
deliveredIcon: deliveredIcon, |
|||
documentIcon: documentIcon, |
|||
emptyChatPlaceholderTextStyle: emptyChatPlaceholderTextStyle, |
|||
errorColor: errorColor, |
|||
errorIcon: errorIcon, |
|||
inputBackgroundColor: inputBackgroundColor, |
|||
inputBorderRadius: inputBorderRadius, |
|||
inputTextColor: inputTextColor, |
|||
inputTextStyle: inputTextStyle, |
|||
messageBorderRadius: messageBorderRadius, |
|||
primaryColor: primaryColor, |
|||
receivedMessageBodyTextStyle: receivedMessageBodyTextStyle, |
|||
receivedMessageCaptionTextStyle: receivedMessageCaptionTextStyle, |
|||
receivedMessageDocumentIconColor: receivedMessageDocumentIconColor, |
|||
receivedMessageLinkDescriptionTextStyle: |
|||
receivedMessageLinkDescriptionTextStyle, |
|||
receivedMessageLinkTitleTextStyle: receivedMessageLinkTitleTextStyle, |
|||
secondaryColor: secondaryColor, |
|||
seenIcon: seenIcon, |
|||
sendButtonIcon: sendButtonIcon, |
|||
sentMessageBodyTextStyle: sentMessageBodyTextStyle, |
|||
sentMessageCaptionTextStyle: sentMessageCaptionTextStyle, |
|||
sentMessageDocumentIconColor: sentMessageDocumentIconColor, |
|||
sentMessageLinkDescriptionTextStyle: |
|||
sentMessageLinkDescriptionTextStyle, |
|||
sentMessageLinkTitleTextStyle: sentMessageLinkTitleTextStyle, |
|||
userAvatarNameColors: userAvatarNameColors, |
|||
userAvatarTextStyle: userAvatarTextStyle, |
|||
userNameTextStyle: userNameTextStyle, |
|||
); |
|||
}*/ |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 38e13bd6208b544488777eab4f4e7dd5 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 3d81d09de10f437985695d985aba5e29 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using ChatComponents; |
|||
using Unity.UIWidgets.foundation; |
|||
using Unity.UIWidgets.ui; |
|||
using UnityEngine; |
|||
using Color = Unity.UIWidgets.ui.Color; |
|||
|
|||
namespace UIWidgetsSample |
|||
{ |
|||
public static class ChatUtils |
|||
{ |
|||
public static string REGEX_LINK = |
|||
@"([\w+]+\:\/\/)?([\w\d-]+\.)*[\w-]+[\.\:]\w+([\/\?\=\&\#\.]?[\w-]+)*\/?"; |
|||
|
|||
public static string formatBytes(int size, int fractionDigits = 2) |
|||
{ |
|||
List<string> profix = new List<string>() |
|||
{ |
|||
|
|||
"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" |
|||
}; |
|||
if (size <= 0) return "0 B"; |
|||
var multiple = (log(size) / log(1024)).floor(); |
|||
|
|||
return (size / Mathf.Pow(1024, multiple)).ToString("D3") + |
|||
" " + profix[multiple]; |
|||
} |
|||
|
|||
public static float log(int num) |
|||
{ |
|||
if (num == 0) |
|||
return float.NegativeInfinity; |
|||
else if (num < 0) |
|||
return Single.NaN; |
|||
else |
|||
return num * 1f; |
|||
} |
|||
|
|||
|
|||
/// Returns user avatar and name color based on the ID
|
|||
public static Color getUserAvatarNameColor(User user, List<Color> colors) |
|||
{ |
|||
var index = user.id.GetHashCode() % colors.Count; |
|||
return colors[0]; |
|||
} |
|||
|
|||
/// Returns user name as joined firstName and lastName
|
|||
public static string getUserName(User user) => |
|||
$"{user.firstName ?? ""} {user.lastName ?? ""}"; |
|||
|
|||
/// Returns formatted date used as a divider between different days in the
|
|||
/// chat history
|
|||
public static string getVerboseDateTimeRepresentation( |
|||
DateTime dateTime, |
|||
DateTime? dateFormat = null, |
|||
string dateLocale = null, |
|||
DateTime? timeFormat = null |
|||
) |
|||
{ |
|||
var formattedDate |
|||
= //dateFormat != null ? dateFormat.ToString().Format(dateTime) : DateTime.MMMd(dateLocale).format(dateTime);
|
|||
dateTime.ToString("MMM-dd"); |
|||
var formattedTime = //timeFormat != null ? timeFormat.format(dateTime) : DateTime.Hm(dateLocale).format(dateTime);
|
|||
dateTime.ToString("hh:mm"); |
|||
var localDateTime = dateTime.ToLocalTime(); |
|||
var now = DateTime.Now; |
|||
|
|||
if (localDateTime.Day == now.Day && |
|||
localDateTime.Month == now.Month && |
|||
localDateTime.Year == now.Year) |
|||
return formattedTime; |
|||
|
|||
return $"{formattedDate}, {formattedTime}"; |
|||
} |
|||
|
|||
/// Parses provided messages to chat messages (with headers and spacers) and
|
|||
/// returns them with a gallery
|
|||
public static List<object> calculateChatMessages( |
|||
List<ChatComponents.Message> messages, |
|||
User user, |
|||
bool showUserNames, |
|||
CustomDateHeaderText customDateHeaderText = null, |
|||
DateTime? dateFormat = null, |
|||
string dateLocale = null, |
|||
DateTime? timeFormat = null |
|||
) |
|||
{ |
|||
var chatMessages = new List<object>(); |
|||
var gallery = new List<PreviewImage>(); |
|||
|
|||
var shouldShowName = false; |
|||
|
|||
for (var i = messages.Count - 1; i >= 0; i--) |
|||
{ |
|||
var isFirst = i == messages.Count - 1; |
|||
var isLast = i == 0; |
|||
var message = messages[i]; |
|||
var messageHasCreatedAt = message.createdAt != null; |
|||
ChatComponents.Message nextMessage = isLast ? null : messages[i - 1]; |
|||
bool nextMessageHasCreatedAt = isLast ? true : nextMessage.createdAt != null; |
|||
bool nextMessageSameAuthor = isLast ? false : message.author.id == nextMessage.author.id; |
|||
bool notMyMessage = message.author.id != user.id; |
|||
bool nextMessageDateThreshold = false; |
|||
bool nextMessageDifferentDay = false; |
|||
bool nextMessageInGroup = false; |
|||
bool showName = false; |
|||
|
|||
if (showUserNames) |
|||
{ |
|||
var previousMessage = isFirst ? null : messages[i + 1]; |
|||
|
|||
var isFirstInGroup = notMyMessage && |
|||
(message.author.id != previousMessage?.author.id || |
|||
message.createdAt != null && |
|||
previousMessage?.createdAt != null && |
|||
(int)message.createdAt - (int)previousMessage.createdAt > 60000); |
|||
|
|||
if (isFirstInGroup) |
|||
{ |
|||
shouldShowName = false; |
|||
if (message.type == MessageType.text) |
|||
showName = true; |
|||
else |
|||
shouldShowName = true; |
|||
} |
|||
|
|||
if (message.type == MessageType.text && shouldShowName) |
|||
{ |
|||
showName = true; |
|||
shouldShowName = false; |
|||
} |
|||
} |
|||
|
|||
if (messageHasCreatedAt && nextMessageHasCreatedAt) |
|||
{ |
|||
|
|||
nextMessageDateThreshold = isLast ? false : (int) nextMessage?.createdAt - (int) message.createdAt >= 900000; |
|||
nextMessageDifferentDay = |
|||
TimeSpan.FromMilliseconds(message.createdAt == null ? 0 : (int)message.createdAt).Days != |
|||
TimeSpan.FromMilliseconds(nextMessage?.createdAt == null ? 0 : (int)nextMessage?.createdAt).Days; |
|||
|
|||
nextMessageInGroup = nextMessageSameAuthor && |
|||
(int)nextMessage?.createdAt - (int)message.createdAt <= 60000; |
|||
} |
|||
|
|||
if (isFirst && messageHasCreatedAt) |
|||
{ |
|||
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0); |
|||
var timeSend = epoch.AddTicks((message.createdAt == null ? 0 : (int) message.createdAt) * 1000000000); |
|||
chatMessages.Insert( |
|||
0, |
|||
new DateHeader( |
|||
customDateHeaderText != null |
|||
? customDateHeaderText( |
|||
new DateTime(timeSend.Year,timeSend.Month,timeSend.Day,timeSend.Hour,timeSend.Minute,timeSend.Second) |
|||
) |
|||
: getVerboseDateTimeRepresentation( |
|||
new DateTime(timeSend.Year,timeSend.Month,timeSend.Day,timeSend.Hour,timeSend.Minute,timeSend.Second),//new DateTime((int) TimeSpan.FromMilliseconds(message.createdAt == null ? 0 : (int)message.createdAt).TotalMilliseconds ),//DateTime.FromFileTime(message.createdAt == null ? 0 : (int)message.createdAt),//
|
|||
dateFormat, |
|||
dateLocale, |
|||
timeFormat |
|||
) |
|||
) |
|||
); |
|||
} |
|||
|
|||
var _message = |
|||
new Dictionary<string, object> |
|||
{ |
|||
{"message", message}, |
|||
{"nextMessageInGroup", nextMessageInGroup}, |
|||
{"showName", notMyMessage && |
|||
showUserNames && |
|||
showName && getUserName(message.author).isNotEmpty() |
|||
}, |
|||
{"showStatus", true} |
|||
}; |
|||
chatMessages.Insert(0, _message); |
|||
|
|||
if (!nextMessageInGroup) |
|||
{ |
|||
chatMessages.Insert( |
|||
0, |
|||
new MessageSpacer( |
|||
12, |
|||
message.id |
|||
) |
|||
); |
|||
} |
|||
|
|||
if (nextMessageDifferentDay || nextMessageDateThreshold) |
|||
{ |
|||
chatMessages.Insert( |
|||
0, |
|||
new DateHeader( |
|||
customDateHeaderText != null |
|||
? customDateHeaderText( |
|||
DateTime.Now)//DateTime.FromFileTime(isLast ? 0 : (int) nextMessage?.createdAt) )
|
|||
: getVerboseDateTimeRepresentation( |
|||
DateTime.Now,//DateTime.FromFileTime(isLast ? 0 : (int) nextMessage?.createdAt),
|
|||
dateFormat, |
|||
dateLocale, |
|||
timeFormat |
|||
) |
|||
) |
|||
); |
|||
} |
|||
|
|||
if (message is ImageMessage) |
|||
{ |
|||
if (foundation_.kIsWeb) |
|||
{ |
|||
if (((ImageMessage) message).uri.StartsWith("http")) |
|||
gallery.Add(new PreviewImage(message.id, ((ImageMessage) message).uri)); |
|||
} |
|||
|
|||
gallery.Add(new PreviewImage(message.id, ((ImageMessage) message).uri)); |
|||
} |
|||
} |
|||
|
|||
var results = new List<object>(){chatMessages,gallery}; |
|||
//results.AddRange(chatMessages);
|
|||
//results.AddRange(gallery);
|
|||
return results; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 2149eec8768f248ed8010df39aa99345 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
|