自動調理のCanvasボタンのズレ修正処理追加

This commit is contained in:
kimura 2022-04-15 19:19:43 +09:00
parent 16b80088da
commit 392eadac2a
2 changed files with 57 additions and 6 deletions

View File

@ -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:

View File

@ -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<Unit> 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<Graphic>();
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();