Squashed commit of the following:

commit af4dab5546
Author: AbstractConcept <abstract.concept@mail.com>
Date:   Mon Oct 31 19:58:41 2022 -0500

    Code refactor

commit e14a12f2ab
Author: AbstractConcept <abstract.concept@mail.com>
Date:   Mon Oct 31 00:44:53 2022 -0500

    Code refactor

commit 5ca7e486f8
Author: AbstractConcept <abstract.concept@mail.com>
Date:   Fri Oct 28 19:52:58 2022 -0500

    Code refactor

commit a55ba7b95b
Author: AbstractConcept <abstract.concept@mail.com>
Date:   Fri Oct 28 00:28:51 2022 -0500

    Code refactor

commit 757badf4f6
Author: AbstractConcept <abstract.concept@mail.com>
Date:   Thu Oct 27 00:56:04 2022 -0500

    Code refactor
This commit is contained in:
AbstractConcept 2022-10-31 20:00:38 -05:00
parent cd4711a8e5
commit bb2cc29393
603 changed files with 9200 additions and 7528 deletions

View file

@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace RimWorldAnimationStudio
{
public class ActorAddonKeyframeCard : MonoBehaviour
{
public string addonName;
public Text label;
public InputField xOffsetField;
public InputField zOffsetField;
public InputField rotationField;
private ActorAddonDef actorAddonDef;
public void Start()
{
}
public void Initialize(ActorAddonDef actorAddonDef)
{
this.actorAddonDef = actorAddonDef;
this.addonName = actorAddonDef.addonName;
label.text = actorAddonDef.label + ":";
EventsManager.onAnimationChanged.AddListener(delegate { UpdateGUI(); });
EventsManager.onStageIDChanged.AddListener(delegate { UpdateGUI(); });
EventsManager.onActorIDChanged.AddListener(delegate { UpdateGUI(); });
EventsManager.onStageTickChanged.AddListener(delegate { UpdateGUI(); });
EventsManager.onPawnKeyframeChanged.AddListener(delegate { UpdateGUI(); });
xOffsetField.onEndEdit.AddListener(delegate { OnValueChanged(); });
zOffsetField.onEndEdit.AddListener(delegate { OnValueChanged(); });
rotationField.onEndEdit.AddListener(delegate { OnValueChanged(); });
UpdateGUI();
}
public void OnValueChanged()
{
PawnKeyframe keyframe = Workspace.GetCurrentPawnKeyframe(true);
keyframe.GetAddonKeyframe(addonName).PosX = float.Parse(xOffsetField.text);
keyframe.GetAddonKeyframe(addonName).PosZ = float.Parse(zOffsetField.text);
keyframe.GetAddonKeyframe(addonName).Rotation = float.Parse(rotationField.text);
Workspace.GetCurrentPawnAnimationClip().BuildSimpleCurves();
Workspace.RecordEvent("Actor addon position / orientation");
UpdateGUI();
}
public void UpdateGUI()
{
PawnAnimationClip clip = Workspace.GetCurrentPawnAnimationClip();
xOffsetField.SetTextWithoutNotify(string.Format("{0:0.000}", clip.GetActorAddon(addonName).PosX.Evaluate((float)Workspace.StageTick / Workspace.StageWindowSize)));
zOffsetField.SetTextWithoutNotify(string.Format("{0:0.000}", clip.GetActorAddon(addonName).PosZ.Evaluate((float)Workspace.StageTick / Workspace.StageWindowSize)));
rotationField.SetTextWithoutNotify(string.Format("{0:0.000}", clip.GetActorAddon(addonName).Rotation.Evaluate((float)Workspace.StageTick / Workspace.StageWindowSize)));
gameObject.SetActive(clip.GetActorAddon(addonName).render == true);
}
}
}