From 392eadac2aac064cb5aeb303224006f0726a9a6e Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 15 Apr 2022 19:19:43 +0900 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8B=95=E8=AA=BF=E7=90=86=E3=81=AECa?= =?UTF-8?q?nvas=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=AE=E3=82=BA=E3=83=AC?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=87=A6=E7=90=86=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- popcorn/Assets/MyGame/Scenes/Main/Main.unity | 44 ++++++++++++++++--- .../Scenes/Main/Scripts/AutoCookView.cs | 19 ++++++++ 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Main.unity b/popcorn/Assets/MyGame/Scenes/Main/Main.unity index 7f1dc82d..edc9a095 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Main.unity +++ b/popcorn/Assets/MyGame/Scenes/Main/Main.unity @@ -1447,7 +1447,7 @@ Transform: - {fileID: 278785269} - {fileID: 178476877} m_Father: {fileID: 2088316431} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &418169889 SpriteRenderer: @@ -1528,7 +1528,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2088316431} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &419397247 SpriteRenderer: @@ -1908,7 +1908,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2088316431} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &464418386 SpriteRenderer: @@ -3347,7 +3347,7 @@ Transform: m_LocalScale: {x: 1.96, y: 2.07, z: 1} m_Children: [] m_Father: {fileID: 2088316431} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &876594164 SpriteRenderer: @@ -4422,7 +4422,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2088316431} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &1298571078 SpriteRenderer: @@ -4748,6 +4748,36 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 1 +--- !u!1 &1371781883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1371781884} + m_Layer: 0 + m_Name: ButtonTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1371781884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371781883} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -2.18, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2088316431} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1423285229 GameObject: m_ObjectHideFlags: 0 @@ -5084,7 +5114,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2088316431} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &1592053834 SpriteRenderer: @@ -7345,6 +7375,7 @@ Transform: m_LocalPosition: {x: 3.9769201, y: -3.46, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 1371781884} - {fileID: 419397246} - {fileID: 464418385} - {fileID: 1592053833} @@ -7374,6 +7405,7 @@ MonoBehaviour: - {fileID: 758194584} - {fileID: 278785268} autoCookButton: {fileID: 249665956} + buttonTarget: {fileID: 1371781884} notifyIcon: {fileID: 3664916832445709977} --- !u!1 &2124297503 GameObject: diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookView.cs index 0c65d8d5..cde7b748 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookView.cs @@ -16,11 +16,30 @@ namespace MyGame.Scenes.Main.Scripts [SerializeField] private Animator cookAnimator; [SerializeField] private GameObject[] progressImages; [SerializeField] private Button autoCookButton; + [SerializeField] private Transform buttonTarget; [SerializeField] private GameObject notifyIcon; public IObservable Button => autoCookButton.OnClickAsObservable().TakeUntilDestroy(this); private IDisposable timerDisposable; + private void Start() + { + Observable.TimerFrame(0, FrameCountType.Update).Subscribe(_ => + { + var screenPos = Camera.main.WorldToScreenPoint(buttonTarget.position); + var graphic = autoCookButton.image.GetComponent(); + var camera = graphic.canvas.worldCamera; + if (graphic.canvas.renderMode == RenderMode.ScreenSpaceOverlay) + { + camera = null; + } + + RectTransformUtility.ScreenPointToWorldPointInRectangle(graphic.rectTransform, screenPos, camera, + out var buttonPos); + autoCookButton.transform.position = buttonPos; + }).AddTo(this); + } + public void Initialize() { Ready();