rimworld-animations/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_ChangeO...

31 lines
870 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using Verse;
namespace Rimworld_Animations
{
public class PawnRenderSubWorker_ChangeOffset : PawnRenderSubWorker
{
public override void TransformOffset(PawnRenderNode node, PawnDrawParms parms, ref Vector3 offset, ref Vector3 pivot)
{
if (node.AnimationWorker is AnimationWorker_KeyframesExtended
&& node.tree.pawn.TryGetComp<CompExtendedAnimator>(out CompExtendedAnimator extendedAnimator)
&& extendedAnimator.IsAnimating)
{
Vector3? pawnOffset = extendedAnimator.Offset;
if (pawnOffset != null)
{
offset += (Vector3)pawnOffset;
}
}
}
}
}