예제 #1
0
 public void Tick(Pawn pawn)
 {
     if (effecter == null)
     {
         effecter = def.Spawn();
     }
     effecter.EffectTick(pawn, null);
 }
 public override void StanceTick()
 {
     if (sustainer != null && !sustainer.Ended)
     {
         sustainer.Maintain();
     }
     effecter?.EffectTick(verb.Caster, focusTarg.ToTargetInfo(verb.Caster.Map));
     if (!targetStartedDowned && focusTarg.HasThing && focusTarg.Thing is Pawn && ((Pawn)focusTarg.Thing).Downed)
     {
         stanceTracker.SetStance(new Stance_Mobile());
         return;
     }
     if (focusTarg.HasThing && (!focusTarg.Thing.Spawned || verb == null || !verb.CanHitTargetFrom(base.Pawn.Position, focusTarg)))
     {
         stanceTracker.SetStance(new Stance_Mobile());
         return;
     }
     if (focusTarg == base.Pawn.mindState.enemyTarget)
     {
         base.Pawn.mindState.Notify_EngagedTarget();
     }
     base.StanceTick();
 }