63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.EventSystems;
|
|
|
|
namespace RimWorldAnimationStudio
|
|
{
|
|
public class StageCard : MonoBehaviour, IPointerClickHandler
|
|
{
|
|
public Text stageName;
|
|
public InputField stageNameField;
|
|
public Image banner;
|
|
|
|
public void OnNameChange()
|
|
{
|
|
stageName.text = stageNameField.text;
|
|
stageNameField.gameObject.SetActive(false);
|
|
|
|
Workspace.GetCurrentAnimationStage().StageName = stageName.text;
|
|
Workspace.RecordEvent("Stage renamed");
|
|
}
|
|
|
|
public void OnMoveStage(int 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.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.RecordEvent("Stage selected"); }
|
|
|
|
Workspace.StageID = transform.GetSiblingIndex();
|
|
}
|
|
}
|
|
} |