mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
71 lines
No EOL
2.2 KiB
C#
71 lines
No EOL
2.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems;
|
|
|
|
namespace RimWorldAnimationStudio
|
|
{
|
|
public class StageCard : MonoBehaviour, IPointerClickHandler
|
|
{
|
|
private Text stageName;
|
|
private InputField stageNameField;
|
|
private Image banner;
|
|
|
|
public void OnNameChange()
|
|
{
|
|
stageName.text = stageNameField.text;
|
|
stageNameField.gameObject.SetActive(false);
|
|
|
|
Workspace.animationDef.animationStages[Workspace.stageID].stageName = stageName.text;
|
|
|
|
Workspace.Instance.RecordEvent("Stage renamed");
|
|
}
|
|
|
|
public void OnMoveStage(int delta)
|
|
{
|
|
if (StageCardManager.Instance.MoveAnimationStage(transform.GetSiblingIndex(), delta))
|
|
{
|
|
int siblingCount = transform.parent.childCount;
|
|
int index = Mathf.Clamp(transform.GetSiblingIndex() + delta, 0, siblingCount - 1);
|
|
|
|
transform.SetSiblingIndex(index);
|
|
}
|
|
}
|
|
|
|
public void Initialize(string stageName)
|
|
{
|
|
this.stageName = transform.Find("StageName").GetComponent<Text>();
|
|
this.stageNameField = transform.Find("StageNameField").GetComponent<InputField>();
|
|
this.banner = transform.Find("Banner").GetComponent<Image>();
|
|
|
|
this.stageName.text = stageName;
|
|
}
|
|
|
|
public void Update()
|
|
{
|
|
if (Workspace.stageID == transform.GetSiblingIndex())
|
|
{ banner.gameObject.SetActive(true); }
|
|
|
|
else
|
|
{
|
|
banner.gameObject.SetActive(false);
|
|
stageNameField.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
public void OnPointerClick(PointerEventData eventData)
|
|
{
|
|
if (eventData.clickCount >= 2)
|
|
{
|
|
stageNameField.text = stageName.text;
|
|
stageNameField.gameObject.SetActive(true);
|
|
}
|
|
|
|
if (Workspace.stageID != transform.GetSiblingIndex())
|
|
{ Workspace.Instance.RecordEvent("Stage selected"); }
|
|
|
|
Workspace.stageID = transform.GetSiblingIndex();
|
|
}
|
|
}
|
|
} |