mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Race offsets and keyframe cloning
This commit is contained in:
parent
d3b676df06
commit
007e2dd513
135 changed files with 1408 additions and 107 deletions
|
@ -53,6 +53,38 @@ namespace RimWorldAnimationStudio
|
|||
{ this.alienRaceDef = alienRaceDef; }
|
||||
}
|
||||
|
||||
public Vector3 GetAlienRaceOffset()
|
||||
{
|
||||
if (alienRaceDef == null)
|
||||
{ alienRaceDef = AlienRaceDefs.GetNamed("Human"); }
|
||||
|
||||
AlienRaceOffset raceOffset = raceOffsets.FirstOrDefault(x => x.defName == alienRaceDef.defName);
|
||||
|
||||
if (raceOffset == null)
|
||||
{
|
||||
raceOffset = new AlienRaceOffset(alienRaceDef.defName);
|
||||
raceOffsets.Add(raceOffset);
|
||||
}
|
||||
|
||||
return raceOffset.GetOffset();
|
||||
}
|
||||
|
||||
public void SetAlienRaceOffset(Vector2 offset)
|
||||
{
|
||||
if (alienRaceDef == null)
|
||||
{ return; }
|
||||
|
||||
AlienRaceOffset raceOffset = raceOffsets.FirstOrDefault(x => x.defName == alienRaceDef.defName);
|
||||
|
||||
if (raceOffset == null)
|
||||
{
|
||||
raceOffset = new AlienRaceOffset(alienRaceDef.defName);
|
||||
raceOffsets.Add(raceOffset);
|
||||
}
|
||||
|
||||
raceOffset.SetOffset(offset);
|
||||
}
|
||||
|
||||
public void ValidateData()
|
||||
{
|
||||
bodyDefTypes = bodyDefTypes.Intersect(Tags.bodyDefTypes.Concat(CustomTags.bodyDefTypes))?.ToList();
|
||||
|
|
|
@ -7,7 +7,33 @@ namespace RimWorldAnimationStudio
|
|||
[Serializable]
|
||||
public class AlienRaceOffset
|
||||
{
|
||||
public string defName;
|
||||
public Vector2 offset;
|
||||
public string defName = "Human";
|
||||
public string offset = "(0, 0)";
|
||||
|
||||
public AlienRaceOffset()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public AlienRaceOffset(string defName)
|
||||
{
|
||||
this.defName = defName;
|
||||
}
|
||||
|
||||
public void SetOffset(Vector2 raceOffset)
|
||||
{
|
||||
offset = "(" + raceOffset.x + ", " + raceOffset.y + ")";
|
||||
}
|
||||
|
||||
public Vector3 GetOffset()
|
||||
{
|
||||
string raceOffset = offset;
|
||||
raceOffset = raceOffset.Trim();
|
||||
raceOffset = raceOffset.Replace("(", "");
|
||||
raceOffset = raceOffset.Replace(")", "");
|
||||
var raceOffsets = raceOffset.Split(',');
|
||||
|
||||
return new Vector3(float.Parse(raceOffsets[0]), 0f, float.Parse(raceOffsets[1]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue