mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
67 lines
No EOL
1.9 KiB
C#
67 lines
No EOL
1.9 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;
|
|
|
|
private int stageID { get { return transform.GetSiblingIndex(); } }
|
|
|
|
public void Start()
|
|
{
|
|
EventsManager.onStageIDChanged.AddListener(delegate { Initialize(stageName.text); });
|
|
stageNameField.onEndEdit.AddListener(delegate { OnNameChange(); });
|
|
}
|
|
|
|
public void Initialize(string stageName)
|
|
{
|
|
this.stageName.text = stageName;
|
|
|
|
if (Workspace.StageID == transform.GetSiblingIndex())
|
|
{
|
|
banner.gameObject.SetActive(true);
|
|
}
|
|
|
|
else
|
|
{
|
|
banner.gameObject.SetActive(false);
|
|
stageNameField.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
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)
|
|
{
|
|
Workspace.animationDef.MoveAnimationStage(stageID, delta);
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |