using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using RimWorld; using Verse; namespace Rimworld_Animations { public abstract class BaseAnimationClip { public Dictionary SoundEffects = new Dictionary(); public List types; //types of participants public int duration; /** failure - if 'true', this clip should not be used */ public abstract bool BuildSimpleCurves(bool isGenitalAngleMandatory = false); public string soundDef = null; //for playing sounds public int actor; public List tags = new List(); protected bool EmitMandatoryCurveEmptyError(SimpleCurve curve, string name) { if (curve.PointsCount <= 0) { Log.Error($"Mandatory curve '{name}' is empty in an animation clip!"); return true; } return false; } } }