// Token: 0x06000052 RID: 82 RVA: 0x00004A28 File Offset: 0x00002C28 public static tk2dSpriteAnimationClip AddAnimation(this GameObject obj, string name, string spriteDirectory, int fps, NPCBuilder.AnimationType type, DirectionalAnimation.DirectionType directionType = DirectionalAnimation.DirectionType.None, DirectionalAnimation.FlipType flipType = DirectionalAnimation.FlipType.None) { obj.AddComponent <tk2dSpriteAnimator>(); AIAnimator aianimator = obj.GetComponent <AIAnimator>(); bool flag = !aianimator; if (flag) { aianimator = NPCBuilder.CreateNewAIAnimator(obj); } DirectionalAnimation directionalAnimation = aianimator.GetDirectionalAnimation(name, directionType, type); bool flag2 = directionalAnimation == null; if (flag2) { directionalAnimation = new DirectionalAnimation { AnimNames = new string[0], Flipped = new DirectionalAnimation.FlipType[0], Type = directionType, Prefix = string.Empty }; } directionalAnimation.AnimNames = directionalAnimation.AnimNames.Concat(new string[] { name }).ToArray <string>(); directionalAnimation.Flipped = directionalAnimation.Flipped.Concat(new DirectionalAnimation.FlipType[] { flipType }).ToArray <DirectionalAnimation.FlipType>(); aianimator.AssignDirectionalAnimation(name, directionalAnimation, type); return(NPCBuilder.BuildAnimation(aianimator, name, spriteDirectory, fps)); }
// Token: 0x06000057 RID: 87 RVA: 0x00004D04 File Offset: 0x00002F04 public static void AssignDirectionalAnimation(this AIAnimator aiAnimator, string name, DirectionalAnimation animation, NPCBuilder.AnimationType type) { switch (type) { case NPCBuilder.AnimationType.Move: aiAnimator.MoveAnimation = animation; break; case NPCBuilder.AnimationType.Idle: aiAnimator.IdleAnimation = animation; break; case NPCBuilder.AnimationType.Fidget: aiAnimator.IdleFidgetAnimations.Add(animation); break; case NPCBuilder.AnimationType.Flight: aiAnimator.FlightAnimation = animation; break; case NPCBuilder.AnimationType.Hit: aiAnimator.HitAnimation = animation; break; case NPCBuilder.AnimationType.Talk: aiAnimator.TalkAnimation = animation; break; default: aiAnimator.OtherAnimations.Add(new AIAnimator.NamedDirectionalAnimation { anim = animation, name = name }); break; } }
// Token: 0x06000056 RID: 86 RVA: 0x00004C8C File Offset: 0x00002E8C public static DirectionalAnimation GetDirectionalAnimation(this AIAnimator aiAnimator, string name, DirectionalAnimation.DirectionType directionType, NPCBuilder.AnimationType type) { DirectionalAnimation directionalAnimation = null; switch (type) { case NPCBuilder.AnimationType.Move: directionalAnimation = aiAnimator.MoveAnimation; break; case NPCBuilder.AnimationType.Idle: directionalAnimation = aiAnimator.IdleAnimation; break; case NPCBuilder.AnimationType.Flight: directionalAnimation = aiAnimator.FlightAnimation; break; case NPCBuilder.AnimationType.Hit: directionalAnimation = aiAnimator.HitAnimation; break; case NPCBuilder.AnimationType.Talk: directionalAnimation = aiAnimator.TalkAnimation; break; } bool flag = directionalAnimation != null; DirectionalAnimation result; if (flag) { result = directionalAnimation; } else { result = null; } return(result); }