示例#1
0
        private void OnNewHit(TimeIterActionArgs <TsVal <InvincibilityType> > args)
        {
            var invType = args.List[args.Index].Value;

            player.Hit(invType);
            if (invType == InvincibilityType.Normal)
            {
                CollisionOccurred();
            }
            else if (invType == InvincibilityType.Heart)
            {
                player.HeartLost();
            }
        }
示例#2
0
 private void OnNewPosition(TimeIterActionArgs <TsVal <Vector2> > args)
 {
     prevCenter = Center;
     Center     = args.List[args.Index].Value;
     if (args.Index > 0)
     {
         var deltaT = args.List[args.Index].Time - args.List[args.Index - 1].Time;
         if (deltaT != 0)
         {
             velocityPerMs = (prevCenter - base.Center) / deltaT;
         }
         else
         {
             velocityPerMs = Vector2.Zero;
         }
     }
 }
示例#3
0
 private void OnNewSlomo(TimeIterActionArgs <TsVal <bool> > args)
 {
     SetSlomo(args.List[args.Index].Value);
 }
示例#4
0
 private void OnNewHeart(TimeIterActionArgs <float> args)
 {
     HasHeart = true;
 }