コード例 #1
0
ファイル: LightningGun.cs プロジェクト: vvnurmi/assaultwing
 private void CreateShot(Gob source, int sourceBoneIndex, Gob target, int chainIndex)
 {
     var birthPos = source.GetNamedPosition(sourceBoneIndex);
     Gob.CreateGob<Lightning>(Owner.Game, _shotTypeName, shot =>
     {
         shot.ResetPos(birthPos, Vector2.Zero, Gob.DEFAULT_ROTATION);
         shot.Owner = PlayerOwner;
         shot.Shooter = source;
         shot.ShooterBoneIndex = sourceBoneIndex;
         shot.Target = target;
         shot.ChainIndex = chainIndex;
         Arena.Gobs.Add(shot);
     });
 }
コード例 #2
0
ファイル: Lightning.cs プロジェクト: vvnurmi/assaultwing
 private static List<Segment> GetInitialSegments(Gob shooter, int shooterBoneIndex, Gob target)
 {
     var start = shooter.GetNamedPosition(shooterBoneIndex);
     if (target != null) return new List<Segment> { new Segment(start, target.Pos) };
     var drawRotation = shooter.Rotation + shooter.DrawRotationOffset;
     var middle1 = shooter.Pos + RandomHelper.GetRandomCirclePoint(BLANK_SHOT_RANGE, drawRotation - MathHelper.PiOver4, drawRotation);
     var middle2 = shooter.Pos + RandomHelper.GetRandomCirclePoint(BLANK_SHOT_RANGE, drawRotation, drawRotation + MathHelper.PiOver4);
     return new List<Segment>
     {
         new Segment(start, middle1),
         new Segment(middle1, middle2),
         new Segment(middle2, start)
     };
 }