diff --git a/.gitignore b/.gitignore index b35e062..52c96e2 100644 --- a/.gitignore +++ b/.gitignore @@ -74,4 +74,6 @@ crashlytics-build.properties # Custom /RenderOutput/ -.vscode \ No newline at end of file +.vscode + +output \ No newline at end of file diff --git a/Assets/NuGet.config b/Assets/NuGet.config new file mode 100644 index 0000000..6b84ccd --- /dev/null +++ b/Assets/NuGet.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/NuGet.config.meta b/Assets/NuGet.config.meta new file mode 100644 index 0000000..3d15df0 --- /dev/null +++ b/Assets/NuGet.config.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 6523ac68a1b8b7248a5f943e3ea15d3c +labels: +- NuGetForUnity +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages.meta b/Assets/Packages.meta new file mode 100644 index 0000000..1a731b9 --- /dev/null +++ b/Assets/Packages.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19474af60b80e414c89159274403d0c0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index cf6bf1d..b46c8d9 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -171,6 +171,140 @@ CanvasGroup: m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 +--- !u!1 &225567320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 225567321} + - component: {fileID: 225567323} + - component: {fileID: 225567322} + m_Layer: 5 + m_Name: Text - Summary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &225567321 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 225567320} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1109170008} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 315} + m_SizeDelta: {x: -400, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &225567322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 225567320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 2f1ea7d7bb8b67740ae93a973eaf8fd9, type: 2} + m_sharedMaterial: {fileID: -4264381060954844368, guid: 2f1ea7d7bb8b67740ae93a973eaf8fd9, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 1.3413997, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &225567323 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 225567320} + m_CullTransparentMesh: 1 --- !u!1 &243707687 GameObject: m_ObjectHideFlags: 0 @@ -702,8 +836,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 177, y: 0} - m_SizeDelta: {x: 354, y: 0} + m_AnchoredPosition: {x: 113, y: 0} + m_SizeDelta: {x: 226, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &366298495 MonoBehaviour: @@ -774,6 +908,114 @@ MonoBehaviour: m_EditorClassIdentifier: m_AspectMode: 2 m_AspectRatio: 1 +--- !u!1 &428712009 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 428712010} + - component: {fileID: 428712014} + - component: {fileID: 428712013} + - component: {fileID: 428712012} + - component: {fileID: 428712011} + m_Layer: 0 + m_Name: RawImage (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &428712010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428712009} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1918837002} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 775.4286, y: -226} + m_SizeDelta: {x: 255.14287, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &428712011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428712009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 1 + m_AspectRatio: 0.7075257 +--- !u!114 &428712012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428712009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 0.8 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &428712013 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428712009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: 35e8ac38ef95d18419a5a58ab9299adf, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &428712014 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428712009} + m_CullTransparentMesh: 1 --- !u!1001 &462807103 PrefabInstance: m_ObjectHideFlags: 0 @@ -1658,7 +1900,7 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} ---- !u!1 &519420028 +--- !u!1 &511676371 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1666,35 +1908,35 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 519420032} - - component: {fileID: 519420031} - - component: {fileID: 519420029} + - component: {fileID: 511676375} + - component: {fileID: 511676374} + - component: {fileID: 511676373} m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera + m_Name: Postcard Camera + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &519420029 +--- !u!81 &511676373 AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 511676371} m_Enabled: 0 ---- !u!20 &519420031 +--- !u!20 &511676374 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 511676371} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 2 - m_BackGroundColor: {r: 0.1981132, g: 0.1981132, b: 0.1981132, a: 0} + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 @@ -1719,39 +1961,40 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 100 - m_Depth: -1 + orthographic size: 50 + m_Depth: 0 m_CullingMask: serializedVersion: 2 - m_Bits: 4294967295 + m_Bits: 32 m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} + m_TargetTexture: {fileID: 8400000, guid: 35e8ac38ef95d18419a5a58ab9299adf, type: 2} m_TargetDisplay: 0 - m_TargetEye: 0 + m_TargetEye: 3 m_HDR: 1 - m_AllowMSAA: 0 + m_AllowMSAA: 1 m_AllowDynamicResolution: 0 m_ForceIntoRT: 0 - m_OcclusionCulling: 0 + m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 ---- !u!4 &519420032 +--- !u!4 &511676375 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 511676371} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalPosition: {x: -567, y: 211.9, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 357834774} + - {fileID: 1146279348} + - {fileID: 1109170008} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &550776837 +--- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1759,37 +2002,130 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 550776838} - - component: {fileID: 550776840} - - component: {fileID: 550776839} - m_Layer: 5 - m_Name: RawImage - m_TagString: Untagged + - component: {fileID: 519420032} + - component: {fileID: 519420031} + - component: {fileID: 519420029} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &550776838 -RectTransform: +--- !u!81 &519420029 +AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 550776837} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 243707688} - 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 &550776839 -MonoBehaviour: + m_GameObject: {fileID: 519420028} + m_Enabled: 0 +--- !u!20 &519420031 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.1981132, g: 0.1981132, b: 0.1981132, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 0 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &519420032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 357834774} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &550776837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 550776838} + - component: {fileID: 550776840} + - component: {fileID: 550776839} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &550776838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550776837} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 243707688} + 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 &550776839 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -1895,6 +2231,78 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 555167253} m_CullTransparentMesh: 1 +--- !u!1 &580836533 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 580836534} + - component: {fileID: 580836536} + - component: {fileID: 580836535} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &580836534 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580836533} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1109170008} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 166} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &580836535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580836533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: 03a5ea2ccdc34a645ae9ebab8b7f7a8d, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &580836536 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580836533} + m_CullTransparentMesh: 1 --- !u!1 &717506483 GameObject: m_ObjectHideFlags: 0 @@ -2165,8 +2573,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 185.5, y: 0} - m_SizeDelta: {x: 354, y: 0} + m_AnchoredPosition: {x: 159.4643, y: 0} + m_SizeDelta: {x: 226, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &830016229 MonoBehaviour: @@ -2296,7 +2704,7 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1060364294 +--- !u!1 &1020432300 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2304,81 +2712,45 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1060364295} - - component: {fileID: 1060364299} - - component: {fileID: 1060364298} - - component: {fileID: 1060364297} - - component: {fileID: 1060364296} - m_Layer: 0 - m_Name: RawImage (2) + - component: {fileID: 1020432301} + - component: {fileID: 1020432303} + - component: {fileID: 1020432302} + m_Layer: 5 + m_Name: Text - Number m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1060364295 +--- !u!224 &1020432301 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1060364294} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 1020432300} + 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_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 830016228} + m_Father: {fileID: 1109170008} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 177, y: 0} - m_SizeDelta: {x: 354, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 102} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1060364296 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1060364294} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AspectMode: 2 - m_AspectRatio: 1 ---- !u!114 &1060364297 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1060364294} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreLayout: 0 - m_MinWidth: -1 - m_MinHeight: -1 - m_PreferredWidth: -1 - m_PreferredHeight: -1 - m_FlexibleWidth: -1 - m_FlexibleHeight: 1 - m_LayoutPriority: 1 ---- !u!114 &1060364298 +--- !u!114 &1020432302 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1060364294} + m_GameObject: {fileID: 1020432300} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -2389,37 +2761,207 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Texture: {fileID: 8400000, guid: 03a5ea2ccdc34a645ae9ebab8b7f7a8d, type: 2} - m_UVRect: + m_text: 20250731-A-02 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &1060364299 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1060364294} - m_CullTransparentMesh: 1 ---- !u!1 &1076654504 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1076654508} - - component: {fileID: 1076654507} - - component: {fileID: 1076654506} - - component: {fileID: 1076654505} - m_Layer: 0 - m_Name: DisplayCamera - m_TagString: Untagged - m_Icon: {fileID: 0} + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1020432303 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020432300} + m_CullTransparentMesh: 1 +--- !u!1 &1060364294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1060364295} + - component: {fileID: 1060364299} + - component: {fileID: 1060364298} + - component: {fileID: 1060364297} + - component: {fileID: 1060364296} + m_Layer: 0 + m_Name: RawImage (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1060364295 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1060364294} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 830016228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 113, y: 0} + m_SizeDelta: {x: 226, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1060364296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1060364294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 2 + m_AspectRatio: 1 +--- !u!114 &1060364297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1060364294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: 1 + m_LayoutPriority: 1 +--- !u!114 &1060364298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1060364294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: 03a5ea2ccdc34a645ae9ebab8b7f7a8d, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &1060364299 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1060364294} + m_CullTransparentMesh: 1 +--- !u!1 &1076654504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1076654508} + - component: {fileID: 1076654507} + - component: {fileID: 1076654506} + - component: {fileID: 1076654505} + m_Layer: 0 + m_Name: DisplayCamera + m_TagString: Untagged + m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 @@ -2516,6 +3058,320 @@ Transform: - {fileID: 473271735} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1081986594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1081986595} + - component: {fileID: 1081986597} + - component: {fileID: 1081986596} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1081986595 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081986594} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1109170008} + 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 &1081986596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081986594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + 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 +--- !u!222 &1081986597 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081986594} + m_CullTransparentMesh: 1 +--- !u!1 &1109170007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1109170008} + - component: {fileID: 1109170011} + - component: {fileID: 1109170010} + - component: {fileID: 1109170009} + m_Layer: 5 + m_Name: Canvas-Postcard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1109170008 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1109170007} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1081986595} + - {fileID: 580836534} + - {fileID: 1020432301} + - {fileID: 225567321} + m_Father: {fileID: 511676375} + 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 &1109170009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1109170007} + 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 &1109170010 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1109170007} + 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 + m_PresetInfoIsWorld: 0 +--- !u!223 &1109170011 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1109170007} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 511676374} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &1146279346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1146279348} + - component: {fileID: 1146279349} + - component: {fileID: 1146279351} + - component: {fileID: 1146279350} + m_Layer: 0 + m_Name: uploader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1146279348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146279346} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 151.6937, y: 25.384659, z: 10.578705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 511676375} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1146279349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146279346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: adfb9868b2bba274fb2e49202e8dd91d, type: 3} + m_Name: + m_EditorClassIdentifier: + filePathPattern: "24070-\u5FAE\u91BA\u5927\u98EF\u5E97\u9AD8\u96C4\u7248/{time:yyyy-MM-dd}/{filename_ext}" + timeoutSeconds: 15 + encode: 1 + uploadResponseEvent: + m_PersistentCalls: + m_Calls: [] + regionSystemName: ap-northeast-2 + bucketName: ultracombos.project + onlyBucketURL: 0 + tags: [] +--- !u!114 &1146279350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146279346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51f8f979447c54247bcba0d5441e6081, type: 3} + m_Name: + m_EditorClassIdentifier: + _connection: {fileID: 11400000, guid: 403214990dd9b8f499d3a894e1575167, type: 2} + _oscAddress: /save + _dataType: 3 + _event: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1146279351} + m_TargetAssemblyTypeName: SaveImage, Assembly-CSharp + m_MethodName: save + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + _intEvent: + m_PersistentCalls: + m_Calls: [] + _floatEvent: + m_PersistentCalls: + m_Calls: [] + _vector2Event: + m_PersistentCalls: + m_Calls: [] + _vector3Event: + m_PersistentCalls: + m_Calls: [] + _vector4Event: + m_PersistentCalls: + m_Calls: [] + _vector2IntEvent: + m_PersistentCalls: + m_Calls: [] + _vector3IntEvent: + m_PersistentCalls: + m_Calls: [] + _stringEvent: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1146279351} + m_TargetAssemblyTypeName: SaveImage, Assembly-CSharp + m_MethodName: save + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1146279351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146279346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 038e612e82e8abe4fb0d810610e83ce1, type: 3} + m_Name: + m_EditorClassIdentifier: + uploader: {fileID: 1146279349} + renderTexture: {fileID: 8400000, guid: 35e8ac38ef95d18419a5a58ab9299adf, type: 2} + OutputFolder: output --- !u!1 &1255800682 GameObject: m_ObjectHideFlags: 0 @@ -3167,8 +4023,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 561.5, y: 0} - m_SizeDelta: {x: 398.25, y: 0} + m_AnchoredPosition: {x: 483.39288, y: 0} + m_SizeDelta: {x: 254.25, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1811530096 MonoBehaviour: @@ -3271,6 +4127,7 @@ RectTransform: m_Children: - {fileID: 830016228} - {fileID: 1811530095} + - {fileID: 428712010} m_Father: {fileID: 357834774} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -3409,8 +4266,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 038e612e82e8abe4fb0d810610e83ce1, type: 3} m_Name: m_EditorClassIdentifier: + uploader: {fileID: 0} renderTexture: {fileID: 8400000, guid: 03a5ea2ccdc34a645ae9ebab8b7f7a8d, type: 2} - fileName: output.png + OutputFolder: output --- !u!1 &1995476942 GameObject: m_ObjectHideFlags: 0 @@ -3519,4 +4377,5 @@ SceneRoots: - {fileID: 519420032} - {fileID: 1076654508} - {fileID: 794429374} + - {fileID: 511676375} - {fileID: 1010487600} diff --git a/Assets/Scripts/SaveImage.cs b/Assets/Scripts/SaveImage.cs index aeef1f4..b4cdd66 100644 --- a/Assets/Scripts/SaveImage.cs +++ b/Assets/Scripts/SaveImage.cs @@ -1,13 +1,35 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using System.Threading.Tasks; +using Amazon; +using Amazon.S3; +using Amazon.S3.Transfer; +using Amazon.S3.Model; +using UltraCombos.Upload; + +[System.Serializable] +public class S3Tag +{ + public string key; + public string value; + public static implicit operator Tag(S3Tag t) => new Tag { Key = t.key, Value = t.value }; +} public class SaveImage : MonoBehaviour { + + + public Uploader uploader; + public RenderTexture renderTexture; + public string OutputFolder = "output"; + + // Start is called before the first frame update void Start() { - + uploader = GetComponent(); + } // Update is called once per frame @@ -16,19 +38,32 @@ public class SaveImage : MonoBehaviour } - public RenderTexture renderTexture; - public string fileName = "output.png"; + - public void save() + public void save(string filename) { - string timestamp = System.DateTime.Now.ToString("yyyyMMdd_HHmmss"); - string fileNameWithTimestamp = System.IO.Path.GetFileNameWithoutExtension(fileName) + "_" + timestamp + System.IO.Path.GetExtension(fileName); + if(string.IsNullOrEmpty(filename)) + { + Debug.LogError("Filename cannot be null or empty."); + return; + } + Debug.Log("Saving image to: " + filename); + + string timestamp = System.DateTime.Now.ToString("yyyyMMdd"); + if (!System.IO.Directory.Exists(OutputFolder + "/" + timestamp)) + { + System.IO.Directory.CreateDirectory(OutputFolder + "/" + timestamp); + } + + + SaveRenderTextureToPNG(renderTexture, System.IO.Path.Combine(OutputFolder + "/" + timestamp, filename)); + Debug.Log("Image saved to " + filename); - SaveRenderTextureToPNG(renderTexture, fileNameWithTimestamp); - Debug.Log("Image saved to " + fileNameWithTimestamp); // Optionally, you can also log the full path - string fullPath = System.IO.Path.Combine(Application.persistentDataPath, fileNameWithTimestamp); - Debug.Log("Full path: " + fullPath); + string fullPath = System.IO.Path.Combine(OutputFolder + "/" + timestamp + "/", filename); + Debug.Log("path: " + fullPath); + + upload(fullPath); } void SaveRenderTextureToPNG(RenderTexture rt, string filePath) @@ -43,7 +78,32 @@ public class SaveImage : MonoBehaviour byte[] bytes = tex.EncodeToPNG(); System.IO.File.WriteAllBytes(filePath, bytes); + Debug.Log("Saved RenderTexture to PNG at " + filePath+ " with size: " + bytes.Length + " bytes"); + RenderTexture.active = currentRT; Destroy(tex); } -} + + void upload(string filename){ + if (uploader != null) + { + uploader.Upload(filename, (response) => + { + if (response.success) + { + Debug.Log("Upload successful: " + response); + } + else + { + Debug.LogError("Upload failed: " + response); + } + }); + } + else + { + Debug.LogError("Uploader is not assigned."); + } + } + + +} \ No newline at end of file diff --git a/Assets/Textures/Postcard Texture.renderTexture b/Assets/Textures/Postcard Texture.renderTexture new file mode 100644 index 0000000..1de2e55 --- /dev/null +++ b/Assets/Textures/Postcard Texture.renderTexture @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Postcard Texture + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 5 + m_Width: 1241 + m_Height: 1754 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 94 + m_ColorFormat: 8 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_EnableRandomWrite: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/Assets/Textures/Postcard Texture.renderTexture.meta b/Assets/Textures/Postcard Texture.renderTexture.meta new file mode 100644 index 0000000..1b9d554 --- /dev/null +++ b/Assets/Textures/Postcard Texture.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35e8ac38ef95d18419a5a58ab9299adf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/packages.config b/Assets/packages.config new file mode 100644 index 0000000..3299dfc --- /dev/null +++ b/Assets/packages.config @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Assets/packages.config.meta b/Assets/packages.config.meta new file mode 100644 index 0000000..0af9052 --- /dev/null +++ b/Assets/packages.config.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: b35aaee7bdba19747814754a04f98e30 +labels: +- NuGetForUnity +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/.github/workflows/publish_to_verdaccio.yml b/Packages/com.ultracombos.upload-aws-s3-main/.github/workflows/publish_to_verdaccio.yml new file mode 100644 index 0000000..77f2c8c --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/.github/workflows/publish_to_verdaccio.yml @@ -0,0 +1,23 @@ +# https://www.notion.so/ultracombos/184580d56c5f4b30b7777fd241b41b48 +name: Publish to Verdaccio +on: push +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + lfs: true + - uses: EndBug/version-check@v2 + id: check + with: + diff-search: true + token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/setup-node@v3 + if: steps.check.outputs.changed == 'true' + with: + always-auth: true + node-version: 16 + - run: echo "//verdaccio.ultracombos.net/:_authToken=${{ secrets.VERDACCIO_NPM_AUTH_TOKEN }}" > ~/.npmrc + - run: yarn publish + if: steps.check.outputs.changed == 'true' \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Editor.meta b/Packages/com.ultracombos.upload-aws-s3-main/Editor.meta new file mode 100644 index 0000000..144084d --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4adca434b03a6948bed1fd097b798c4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs b/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs new file mode 100644 index 0000000..ded7fcd --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs @@ -0,0 +1,56 @@ +using Amazon; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq.Expressions; +using System.Reflection; +using System.Text.RegularExpressions; +using UltraCombos.Upload; +using UnityEditor; +using UnityEngine; +namespace UltraCombos.Upload +{ + [CustomEditor(typeof(AwsS3Uploader))] + public class AwsS3UploaderEditor : UploaderEditor + { + SerializedProperty regionSystemName; + List regions = new List(); + string[] regionNames; + string[] regionSystemNames; + /* + protected override void GetURLInternal(string filePath, string filePathWithTag, out string url_display, out string url) + { + var uploader = target as AwsS3Uploader; + url_display = uploader.GetURL2(filePathWithTag, false); + url = uploader.GetURL2( filePath, true); + } + */ + protected override void OnEnable() + { + base.OnEnable(); + FindProperty(() => regionSystemName); + + regions.AddRange(RegionEndpoint.EnumerableAllRegions); + regionNames = new string[regions.Count]; + regionSystemNames = new string[regions.Count]; + for (int i = 0; i < regionNames.Length; ++i) + { + regionNames[i] = regions[i].DisplayName; + regionSystemNames[i] = regions[i].SystemName; + } + } + protected override void OnInspectorGUIBody() + { + //Region + + var choiceIndex = 0; + for (int i = 0; i < regionNames.Length; ++i) + { + if (regionSystemName.stringValue == regionSystemNames[i]) + choiceIndex = i; + } + choiceIndex = EditorGUILayout.Popup("Region", choiceIndex, regionNames); + regionSystemName.stringValue = regionSystemNames[choiceIndex]; + } + } +} \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs.meta b/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs.meta new file mode 100644 index 0000000..184d7aa --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Editor/AwsS3UploaderEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efc2a59b714235447accafdeefef2541 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef b/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef new file mode 100644 index 0000000..ebf9137 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef @@ -0,0 +1,19 @@ +{ + "name": "UltraCombos.AwsS3Uploader.Editor", + "references": [ + "GUID:39b5c55a81e192543aa30a689d5a3992", + "GUID:8f470c8270d70f44e95578f473b05009", + "GUID:56859cf09e0a6584c9f5fba33ee63c15" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef.meta b/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef.meta new file mode 100644 index 0000000..9b79863 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Editor/UltraCombos.AwsS3Uploader.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 45ee2d944a3a98147973bc8039d4dbf7 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/README.md b/Packages/com.ultracombos.upload-aws-s3-main/README.md new file mode 100644 index 0000000..01e9632 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/README.md @@ -0,0 +1 @@ +# com.ultracombos.aws-s3-uploader \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/README.md.meta b/Packages/com.ultracombos.upload-aws-s3-main/README.md.meta new file mode 100644 index 0000000..91c03f5 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fa29bd3b93de7c943b659d65b11ab255 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Runtime.meta b/Packages/com.ultracombos.upload-aws-s3-main/Runtime.meta new file mode 100644 index 0000000..caf2620 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4b6bec11b354d54b870b769d3bae1bd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs new file mode 100644 index 0000000..a71a7a0 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs @@ -0,0 +1,134 @@ +using UnityEngine; +using System; +using System.IO; +using System.Threading.Tasks; +using System.Threading; +using Amazon.S3; +using Amazon; +using Amazon.S3.Transfer; +using Amazon.S3.Model; +using System.Collections.Generic; + +namespace UltraCombos.Upload +{ + [System.Serializable] + public class S3Tag + { + public string key; + public string value; + public static implicit operator Tag(S3Tag t) => new Tag { Key = t.key, Value = t.value }; + } + + public class AwsS3Uploader : Uploader + { + [SerializeField] + private string regionSystemName = "ap-northeast-2"; + + public string bucketName = "ultracombos.project"; + + public bool onlyBucketURL = false; + public List tags=new List(); + IAmazonS3 s3Client; + #region Monobehaviour + void Start() + { + s3Client = new AmazonS3Client(RegionEndpoint.GetBySystemName(regionSystemName)); + } + protected override void OnDestroy() + { + base.OnDestroy(); + s3Client?.Dispose(); + } + #endregion + + protected List GetTagSet() + { + List tagSet = new List(); + foreach (var t in tags) + tagSet.Add(t); + return tagSet; + } + + #region Upload Protected + + protected override async Task Upload(byte[] byteData, string remoteFilePath) + { + MemoryStream ms = new MemoryStream(); + ms.Write(byteData, 0, byteData.Length); + ms.Seek(0, SeekOrigin.Begin); + + var request = new TransferUtilityUploadRequest() + { + BucketName = bucketName, + InputStream = ms, + StorageClass = S3StorageClass.Standard, + Key = remoteFilePath, + CannedACL = S3CannedACL.PublicRead, + TagSet = GetTagSet(), + }; + return await UploadAsync(request); + } + protected override async Task Upload(string filePath, string remoteFilePath) + { + Debug.Log("Uploading file: " + filePath+ " to " + remoteFilePath); + + var request = new TransferUtilityUploadRequest() + { + BucketName = bucketName, + FilePath = filePath, + StorageClass = S3StorageClass.Standard, + Key = remoteFilePath, + CannedACL = S3CannedACL.PublicRead, + TagSet = GetTagSet(), + }; + return await UploadAsync(request); + } + public override string GetHostURL()// (string remoteFilePath, bool escape = true) + { + if (onlyBucketURL) + return $"http://{EscapeURL(bucketName)}"; + else + return $"https://s3.{regionSystemName}.amazonaws.com/{EscapeURL(bucketName)}"; + } + private async Task UploadAsync(TransferUtilityUploadRequest request) + { + Debug.Log($"Uploading to S3: {request.BucketName}/{request.Key}"); + if (s3Client == null) + { + Debug.LogError("S3 client is not initialized."); + return $"{ERR_MSG} S3 client is not initialized."; + } + + var timeout_cts = new CancellationTokenSource(TimeSpan.FromSeconds(timeoutSeconds)); + var linked_cts = CancellationTokenSource.CreateLinkedTokenSource(timeout_cts.Token, cts.Token); + TransferUtility fileTransferUtility = null; + try + { + fileTransferUtility = new TransferUtility(s3Client); + await fileTransferUtility.UploadAsync(request, linked_cts.Token); + return $"{GetHostURL()}/{EscapeURL(request.Key)}"; + } + catch (Exception e) + { + Debug.LogError($"Upload failed: {e.Message}\n{e.StackTrace}"); + if(timeout_cts.IsCancellationRequested) + return $"{ERR_MSG} The operation has timed out."; + if (cts.IsCancellationRequested) + return $"{ERR_MSG} AwsS3Uploader was disposed."; + return $"{ERR_MSG} {e.Message}\n{e.StackTrace}"; + } + finally + { + try { request?.InputStream.Close(); } catch {} + try { request?.InputStream.Dispose(); } catch {} + try { linked_cts?.Dispose(); } catch {} + try { timeout_cts?.Dispose(); } catch {} + try { fileTransferUtility?.Dispose(); } catch {} + } + } + #endregion + } + + +} + diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs.meta b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs.meta new file mode 100644 index 0000000..2aeb917 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/AwsS3Uploader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: adfb9868b2bba274fb2e49202e8dd91d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef new file mode 100644 index 0000000..6285095 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef @@ -0,0 +1,16 @@ +{ + "name": "UltraCombos.AwsS3Uploader.Runtime", + "rootNamespace": "", + "references": [ + "GUID:39b5c55a81e192543aa30a689d5a3992" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef.meta b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef.meta new file mode 100644 index 0000000..9428e3e --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/Runtime/UltraCombos.UploadAwsS3.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56859cf09e0a6584c9f5fba33ee63c15 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.ultracombos.upload-aws-s3-main/package.json b/Packages/com.ultracombos.upload-aws-s3-main/package.json new file mode 100644 index 0000000..d83fdf4 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/package.json @@ -0,0 +1,22 @@ +{ + "name": "com.ultracombos.upload-aws-s3", + "displayName": "Upload AWS S3", + "version": "1.0.22", + "unity": "2019.3", + "description": "AWS S3 Uploader for Unity.", + "keywords": [], + "category": "", + "type": "tool", + "publishConfig": { + "registry": "https://verdaccio.ultracombos.net" + }, + "author": { + "name": "Ultra Combos Co., Ltd.", + "email": "tech@ultracombos.com", + "url": "https://ultracombos.com" + }, + "dependencies": { + "com.ultracombos.upload": "1.0.24", + "org.nuget.awssdk.s3": "3.7.0" + } +} \ No newline at end of file diff --git a/Packages/com.ultracombos.upload-aws-s3-main/package.json.meta b/Packages/com.ultracombos.upload-aws-s3-main/package.json.meta new file mode 100644 index 0000000..553b0b6 --- /dev/null +++ b/Packages/com.ultracombos.upload-aws-s3-main/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7f1d1fd9b5ef4d34591d30f534cf8b20 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 5ced5f6..8c4484a 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,6 +1,8 @@ { "dependencies": { + "com.github-glitchenzo.nugetforunity": "4.5.0", "com.ultracombos.control-panel": "https://github.com/UltraCombos/com.ultracombos.control-panel.git", + "com.ultracombos.upload": "https://github.com/UltraCombos/com.ultracombos.upload.git", "com.unity.collab-proxy": "2.8.2", "com.unity.feature.2d": "2.0.1", "com.unity.ide.rider": "3.0.36", @@ -13,6 +15,7 @@ "com.unity.visualscripting": "1.9.4", "jp.keijiro.klak.spout": "https://github.com/UltraCombos/KlakSpout.git?path=Packages/jp.keijiro.klak.spout#main", "jp.keijiro.osc-jack": "2.0.0", + "org.nuget.awssdk.s3": "4.0.6", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", @@ -59,6 +62,20 @@ "scopes": [ "com.ultracombos" ] + }, + { + "name": "package.openupm.com", + "url": "https://package.openupm.com", + "scopes": [ + "com.github-glitchenzo.nugetforunity" + ] + }, + { + "name": "Unity NuGet", + "url": "https://unitynuget-registry.openupm.com", + "scopes": [ + "org.nuget" + ] } ] } diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 8ceecc5..328a1eb 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,12 @@ { "dependencies": { + "com.github-glitchenzo.nugetforunity": { + "version": "4.5.0", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://package.openupm.com" + }, "com.ultracombos.control-panel": { "version": "https://github.com/UltraCombos/com.ultracombos.control-panel.git", "depth": 0, @@ -9,6 +16,22 @@ }, "hash": "70a6c25d47b77fb145bc16eafd27b22c8610dcee" }, + "com.ultracombos.upload": { + "version": "https://github.com/UltraCombos/com.ultracombos.upload.git", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "e8353d176da003c983faba6c4408b4519038a141" + }, + "com.ultracombos.upload-aws-s3": { + "version": "file:com.ultracombos.upload-aws-s3-main", + "depth": 0, + "source": "embedded", + "dependencies": { + "com.ultracombos.upload": "1.0.24", + "org.nuget.awssdk.s3": "3.7.0" + } + }, "com.unity.2d.animation": { "version": "9.2.0", "depth": 1, @@ -273,6 +296,102 @@ "dependencies": {}, "url": "https://registry.npmjs.com" }, + "org.nuget.awssdk.core": { + "version": "4.0.0-16", + "depth": 1, + "source": "registry", + "dependencies": { + "org.nuget.microsoft.bcl.asyncinterfaces": "8.0.0", + "org.nuget.system.buffers": "4.5.1", + "org.nuget.system.memory": "4.5.5", + "org.nuget.system.text.json": "8.0.5" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.awssdk.s3": { + "version": "4.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "org.nuget.awssdk.core": "4.0.0-16" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.microsoft.bcl.asyncinterfaces": { + "version": "8.0.0", + "depth": 2, + "source": "registry", + "dependencies": { + "org.nuget.system.threading.tasks.extensions": "4.5.4" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.buffers": { + "version": "4.5.1", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.memory": { + "version": "4.5.5", + "depth": 2, + "source": "registry", + "dependencies": { + "org.nuget.system.buffers": "4.5.1", + "org.nuget.system.numerics.vectors": "4.4.0", + "org.nuget.system.runtime.compilerservices.unsafe": "4.5.3" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.numerics.vectors": { + "version": "4.4.0", + "depth": 3, + "source": "registry", + "dependencies": {}, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.runtime.compilerservices.unsafe": { + "version": "6.0.0", + "depth": 3, + "source": "registry", + "dependencies": {}, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.text.encodings.web": { + "version": "8.0.0", + "depth": 3, + "source": "registry", + "dependencies": { + "org.nuget.system.buffers": "4.5.1", + "org.nuget.system.memory": "4.5.5", + "org.nuget.system.runtime.compilerservices.unsafe": "6.0.0" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.text.json": { + "version": "8.0.5", + "depth": 2, + "source": "registry", + "dependencies": { + "org.nuget.microsoft.bcl.asyncinterfaces": "8.0.0", + "org.nuget.system.text.encodings.web": "8.0.0", + "org.nuget.system.buffers": "4.5.1", + "org.nuget.system.memory": "4.5.5", + "org.nuget.system.runtime.compilerservices.unsafe": "6.0.0", + "org.nuget.system.threading.tasks.extensions": "4.5.4" + }, + "url": "https://unitynuget-registry.openupm.com" + }, + "org.nuget.system.threading.tasks.extensions": { + "version": "4.5.4", + "depth": 3, + "source": "registry", + "dependencies": { + "org.nuget.system.runtime.compilerservices.unsafe": "4.5.3" + }, + "url": "https://unitynuget-registry.openupm.com" + }, "com.unity.modules.ai": { "version": "1.0.0", "depth": 0, diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset index dc8b248..fdd050a 100644 --- a/ProjectSettings/PackageManagerSettings.asset +++ b/ProjectSettings/PackageManagerSettings.asset @@ -42,7 +42,23 @@ MonoBehaviour: m_IsDefault: 0 m_Capabilities: 0 m_ConfigSource: 4 - m_UserSelectedRegistryName: Ultra Combos + - m_Id: scoped:project:package.openupm.com + m_Name: package.openupm.com + m_Url: https://package.openupm.com + m_Scopes: + - com.github-glitchenzo.nugetforunity + m_IsDefault: 0 + m_Capabilities: 0 + m_ConfigSource: 4 + - m_Id: scoped:project:Unity NuGet + m_Name: Unity NuGet + m_Url: https://unitynuget-registry.openupm.com + m_Scopes: + - org.nuget + m_IsDefault: 0 + m_Capabilities: 0 + m_ConfigSource: 4 + m_UserSelectedRegistryName: Unity NuGet m_UserAddingNewScopedRegistry: 0 m_RegistryInfoDraft: m_Modified: 0 diff --git a/SavedImage.png b/SavedImage.png deleted file mode 100644 index 24ed292..0000000 Binary files a/SavedImage.png and /dev/null differ diff --git a/output_20250721_174014.png b/output_20250721_174014.png deleted file mode 100644 index 915a86c..0000000 Binary files a/output_20250721_174014.png and /dev/null differ diff --git a/output_20250721_174124.png b/output_20250721_174124.png deleted file mode 100644 index 41a799e..0000000 Binary files a/output_20250721_174124.png and /dev/null differ diff --git a/output_20250721_174320.png b/output_20250721_174320.png deleted file mode 100644 index 31ee3ae..0000000 Binary files a/output_20250721_174320.png and /dev/null differ