Code refactor

This commit is contained in:
AbstractConcept 2022-10-31 00:44:53 -05:00
parent 5ca7e486f8
commit e14a12f2ab
310 changed files with 4875 additions and 4102 deletions

View file

@ -143,7 +143,7 @@ namespace RimWorldAnimationStudio
actorBody.bodyRenderer.gameObject.SetActive(actorBody.bodyRenderer.sprite != null);
// Head
actorBodypart = actorBody.GetBodyPart("head");
actorBodypart = actorBody.GetActorBodyPart("head");
actorBodypart.transform.localPosition = headPos;
actorBodypart.transform.eulerAngles = new Vector3(0, 0, -headAngle);
@ -156,13 +156,13 @@ namespace RimWorldAnimationStudio
actorBodypart.gameObject.SetActive(actorBodypart.bodyPartRenderer.sprite != null);
// Appendage
actorBodypart = actorBody.GetBodyPart("appendage");
actorBodypart = actorBody.GetActorBodyPart("appendage");
actorBodypart.transform.localPosition = new Vector3(appendagePos.x, appendagePos.z, 0f);
actorBodypart.transform.eulerAngles = new Vector3(0, 0, -genitalAngle);
actorBodypart.bodyPartRenderer.sortingLayerName = clip.Layer;
actorBodypart.bodyPartRenderer.sprite = requiresGenitals && pawnRaceDef.isHumanoid && bodyFacing != 0 ? Resources.Load<Sprite>("Textures/Humanlike/Appendages/Appendage" + bodyFacing) : null;
actorBodypart.bodyPartRenderer.sprite = requiresGenitals && pawnRaceDef.isHumanoid ? Resources.Load<Sprite>("Textures/Humanlike/Appendages/Appendage" + bodyFacing) : null;
//actorBody.appendageRenderer.flipX = bodyFacing == 3;
actorBodypart.gameObject.SetActive(actorBodypart.bodyPartRenderer.sprite != null);
@ -170,10 +170,11 @@ namespace RimWorldAnimationStudio
// Add-ons
foreach (ActorAddon addon in clip.Addons)
{
actorBodypart = actorBody.GetBodyPart(addon.AddonName);
actorBodypart = actorBody.GetActorBodyPart(addon.AddonName);
if (actorBodypart == null) continue;
ActorBody anchoringActorBody = actorBodies.GetComponentsInChildren<ActorBody>()?.FirstOrDefault(x => x.actorID == addon.AnchoringActor);
Vector3 anchor = PawnUtility.GetBodyPartAnchor(anchoringActorBody, addon.addonName);
Vector3 anchor = PawnUtility.GetBodyPartAnchor(anchoringActorBody, addon.anchorName);
actorBodypart.transform.position = anchor + new Vector3(addon.PosX.Evaluate(clipPercent), addon.PosZ.Evaluate(clipPercent), 0);
actorBodypart.transform.eulerAngles = new Vector3(0, 0, -addon.Rotation.Evaluate(clipPercent));

View file

@ -16,9 +16,10 @@ namespace RimWorldAnimationStudio
public DialogBox newAnimationDialog;
public SelectAnimationDialog selectAnimationDialog;
public void Start()
public void Awake()
{
LoadPawnRaceDefs();
LoadActorAddonDefs();
LoadCustomArrays();
}
@ -40,7 +41,7 @@ namespace RimWorldAnimationStudio
if (paths == null || paths.Any() == false)
{ Debug.LogWarning("Selected file was null or invalid"); return; }
AnimationDefs defs = null;
AnimationDefs defs = XmlUtility.ReadXML<AnimationDefs>(paths[0]);
try
{ defs = XmlUtility.ReadXML<AnimationDefs>(paths[0]); }
@ -248,10 +249,9 @@ namespace RimWorldAnimationStudio
else
{ path = Path.Combine(Application.streamingAssetsPath, "pawnRaceDefs.xml"); }
if (File.Exists(path) == false)
{ SavePawnRaceDefs(); return; }
PawnRaceDefs.allDefs = XmlUtility.ReadXML<List<PawnRaceDef>>(path);
SavePawnRaceDefs();
PawnRaceDefs.OnLoad();
}
@ -261,5 +261,26 @@ namespace RimWorldAnimationStudio
XmlUtility.WriteXML(PawnRaceDefs.allDefs, path);
}
public void LoadActorAddonDefs()
{
string path;
if (File.Exists(Path.Combine(Application.persistentDataPath, "actorAddonDefs.xml")))
{ path = Path.Combine(Application.persistentDataPath, "actorAddonDefs.xml"); }
else
{ path = Path.Combine(Application.streamingAssetsPath, "actorAddonDefs.xml"); }
ActorAddonDefs.allDefs = XmlUtility.ReadXML<List<ActorAddonDef>>(path);
SaveActorAddonDefs();
ActorAddonDefs.OnLoad();
}
public void SaveActorAddonDefs()
{
}
}
}