65 lines
2.7 KiB
C#
65 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using HK;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using ZGame;
|
|
|
|
namespace Runtime
|
|
{
|
|
public class DesignCoverModelItem : MonoBehaviour
|
|
{
|
|
[SerializeField] Transform designParent;
|
|
[SerializeField] private TMP_InputField inpContent;
|
|
List<GameObject> designItems = new List<GameObject>();
|
|
|
|
private void Awake()
|
|
{
|
|
EventManager.Instance.Subscribe(Product3SetTextTargetEventArgs.EventId, Product3SetTextTargetEvent);
|
|
EventManager.Instance.Subscribe(Product3SetTextPositionEventArgs.EventId, Product3SetTextPositionEvent);
|
|
EventManager.Instance.Subscribe(Product2AddDesignCoverEventArgs.EventId, Product2AddDesignCoverEvent);
|
|
EventManager.Instance.Subscribe(Product2DesignCoverClearEventArgs.EventId, Product2DesignCoverClearEvent);
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
EventManager.Instance.Unsubscribe(Product3SetTextTargetEventArgs.EventId, Product3SetTextTargetEvent);
|
|
EventManager.Instance.Unsubscribe(Product3SetTextPositionEventArgs.EventId, Product3SetTextPositionEvent);
|
|
EventManager.Instance.Unsubscribe(Product2AddDesignCoverEventArgs.EventId, Product2AddDesignCoverEvent);
|
|
EventManager.Instance.Unsubscribe(Product2DesignCoverClearEventArgs.EventId, Product2DesignCoverClearEvent);
|
|
}
|
|
|
|
private void Product3SetTextTargetEvent(object sender, GameEventArgs e)
|
|
{
|
|
var args = e as Product3SetTextTargetEventArgs;
|
|
inpContent.GetComponent<UpdateInputField>().SetData(args.target);
|
|
inpContent.GetComponent<UpdateTransform>().SetData(args.target.transform);
|
|
}
|
|
|
|
private void Product3SetTextPositionEvent(object sender, GameEventArgs e)
|
|
{
|
|
var args = e as Product3SetTextPositionEventArgs;
|
|
inpContent.transform.localPosition = args.pos;
|
|
inpContent.transform.localEulerAngles = args.angle;
|
|
inpContent.textComponent.alignment = args.alignmentOptions;
|
|
}
|
|
|
|
private void Product2DesignCoverClearEvent(object sender, GameEventArgs e)
|
|
{
|
|
foreach (var o in designItems)
|
|
{
|
|
GameObject.Destroy(o.gameObject);
|
|
}
|
|
|
|
designItems.Clear();
|
|
}
|
|
|
|
private void Product2AddDesignCoverEvent(object sender, GameEventArgs e)
|
|
{
|
|
var args = e as Product2AddDesignCoverEventArgs;
|
|
var instantiate = GameObject.Instantiate(args.go, designParent);
|
|
instantiate.AddComponent<UpdateTransform>().SetData(args.go.transform);
|
|
designItems.Add(instantiate);
|
|
}
|
|
}
|
|
} |