Race offsets and keyframe cloning

This commit is contained in:
AbstractConcept 2022-09-24 14:12:18 -05:00
parent d3b676df06
commit 007e2dd513
135 changed files with 1408 additions and 107 deletions

View file

@ -15,15 +15,13 @@ namespace RimWorldAnimationStudio
public Dropdown raceSelectDropdown;
public Transform raceSettingsWindow;
public Toggle isHumanoidToggle;
public InputField scaleField;
public override void Initialize(bool addedNewTag = false)
{
Reset();
string alienRaceDefName = raceSelectDropdown.value < raceSelectDropdown.options.Count ? raceSelectDropdown.options[raceSelectDropdown.value].text : "Human";
if (alienRaceDefName == null || alienRaceDefName == "") alienRaceDefName = "Human";
AlienRaceDef alienRaceDef = AlienRaceDefs.GetNamed(alienRaceDefName);
AlienRaceDef alienRaceDef = GetCurrentRaceDef();
if (alienRaceDef == null) return;
isHumanoidToggle.isOn = alienRaceDef.isHumanoid;
@ -80,6 +78,8 @@ namespace RimWorldAnimationStudio
AddCloneObjectToParent(raceSettingsWindow, 3);
}
scaleField.text = string.Format("{0:0.000}", alienRaceDef.scale.ToString());
}
public void Reset()
@ -89,10 +89,7 @@ namespace RimWorldAnimationStudio
public void SetIsHumanoid()
{
string alienRaceDefName = raceSelectDropdown.value < raceSelectDropdown.options.Count ? raceSelectDropdown.options[raceSelectDropdown.value].text : "Human";
if (alienRaceDefName == null || alienRaceDefName == "") alienRaceDefName = "Human";
AlienRaceDef alienRaceDef = AlienRaceDefs.GetNamed(alienRaceDefName);
AlienRaceDef alienRaceDef = GetCurrentRaceDef();
if (alienRaceDef == null) return;
alienRaceDef.isHumanoid = isHumanoidToggle.isOn;
@ -123,5 +120,22 @@ namespace RimWorldAnimationStudio
Initialize();
}
public AlienRaceDef GetCurrentRaceDef()
{
string alienRaceDefName = raceSelectDropdown.value < raceSelectDropdown.options.Count ? raceSelectDropdown.options[raceSelectDropdown.value].text : "Human";
if (alienRaceDefName == null || alienRaceDefName == "") alienRaceDefName = "Human";
return AlienRaceDefs.GetNamed(alienRaceDefName);
}
public void SetRaceScale()
{
AlienRaceDef alienRaceDef = GetCurrentRaceDef();
if (alienRaceDef == null) return;
float scale = float.Parse(scaleField.text);
alienRaceDef.scale = Mathf.Clamp(scale, 0.05f, 100f);
}
}
}