FM/Assets/Scripts/Runtime/UI/Item/Product3TextItem.cs

109 lines
3.2 KiB
C#
Raw Normal View History

2025-07-02 10:24:01 +08:00
using System;
2025-07-08 22:07:35 +08:00
using Runtime;
2025-06-17 09:31:12 +08:00
using UnityEngine.UI;
using TMPro;
using UnityEngine;
2025-07-08 22:07:35 +08:00
using ZGame;
2025-06-17 09:31:12 +08:00
namespace HK
{
public class Product3TextItem : UIItemBase
{
2025-07-02 10:24:01 +08:00
[SerializeField] private Button btnPositionUp;
[SerializeField] private Button btnPositionMiddle;
[SerializeField] private Button btnPositionDown;
// [SerializeField] private TMP_InputField inpContent;
[SerializeField] private Keyboard.Keyboard keyboard;
Book_M book;
public Action ClickAction;
2025-07-08 22:07:35 +08:00
// public Action<Vector2, Vector3, TextAlignmentOptions> ChangeTextAction;
2025-07-02 10:24:01 +08:00
public Vector2[] pos;
public Vector3[] angle;
public TextAlignmentOptions[] alignmentOptions;
2025-06-17 09:31:12 +08:00
public override void OnInit()
{
base.OnInit();
#region AutoGen_Init
2025-07-02 10:24:01 +08:00
btnPositionUp = GetValue<Button>("btnPositionUp");
btnPositionMiddle = GetValue<Button>("btnPositionMiddle");
btnPositionDown = GetValue<Button>("btnPositionDown");
// inpContent = GetValue<TMP_InputField>("inpContent");
keyboard = GetValue<Keyboard.Keyboard>("Keyboard");
btnPositionUp.onClick.AddListener(OnClickbtnPositionUp);
btnPositionMiddle.onClick.AddListener(OnClickbtnPositionMiddle);
btnPositionDown.onClick.AddListener(OnClickbtnPositionDown);
2025-06-17 09:31:12 +08:00
#endregion
2025-07-02 10:24:01 +08:00
2025-07-08 22:07:35 +08:00
// inpContent.gameObject.SetActive(false);
2025-07-02 10:24:01 +08:00
keyboard.OKAction += ClickOK;
2025-07-08 22:07:35 +08:00
OnClickbtnPositionUp();
2025-07-02 10:24:01 +08:00
}
private void ClickOK()
{
ClickAction?.Invoke();
}
public void SetBook(Book_M book)
{
this.book = book;
}
public override void OnShow()
{
base.OnShow();
book.SetIndex(2);
EventManager.Instance.FireNow(this, new Product_DesignCover_SetShowEventArgs(false, true));
2025-07-08 22:07:35 +08:00
EventManager.Instance.FireNow(this,new Product2SetDesignCoverPositionEventArgs(2));
}
public override void OnHide()
{
base.OnHide();
2025-06-17 09:31:12 +08:00
}
#region AutoGen_Method
2025-07-02 10:24:01 +08:00
private void OnClickbtnPositionUp()
{
2025-07-08 22:07:35 +08:00
EventManager.Instance.FireNow(this,new Product3SetTextPositionEventArgs(pos[0], angle[0], alignmentOptions[0]));
2025-07-02 10:24:01 +08:00
}
private void OnClickbtnPositionMiddle()
{
2025-07-08 22:07:35 +08:00
EventManager.Instance.FireNow(this,new Product3SetTextPositionEventArgs(pos[1], angle[1], alignmentOptions[1]));
2025-07-02 10:24:01 +08:00
}
private void OnClickbtnPositionDown()
{
2025-07-08 22:07:35 +08:00
EventManager.Instance.FireNow(this,new Product3SetTextPositionEventArgs(pos[2], angle[2], alignmentOptions[2]));
2025-07-02 10:24:01 +08:00
}
2025-06-17 09:31:12 +08:00
#endregion
public override void OnDispose()
{
base.OnDispose();
2025-07-02 10:24:01 +08:00
2025-06-17 09:31:12 +08:00
#region AutoGen_Dispose
2025-07-02 10:24:01 +08:00
btnPositionUp.onClick.RemoveListener(OnClickbtnPositionUp);
btnPositionMiddle.onClick.RemoveListener(OnClickbtnPositionMiddle);
btnPositionDown.onClick.RemoveListener(OnClickbtnPositionDown);
btnPositionUp = null;
btnPositionMiddle = null;
btnPositionDown = null;
// inpContent = null;
2025-06-17 09:31:12 +08:00
#endregion
}
}
}