コード例 #1
0
ファイル: Prop.cs プロジェクト: VenturingGuy/Project-Eternity
        public override void Update(GameTime gameTime)
        {
            TeleportAnimation.Update(gameTime);

            PolygonCollisionResult FinalCollisionResult = new PolygonCollisionResult(Vector2.Zero, -1);

            foreach (RobotAnimation ActiveRobot in Owner.DicRobot.Values)
            {
                foreach (CollisionPolygon EnemyCollision in ActiveRobot.ListCollisionPolygon)
                {
                    PolygonCollisionResult CollisionResult = Polygon.PolygonCollisionSAT(TeleportPolygon, EnemyCollision.ActivePolygon, ActiveRobot.Speed);

                    if (CollisionResult.Distance >= 0 && CollisionResult.Distance > FinalCollisionResult.Distance)
                    {
                        ActiveRobot.Speed += _TeleportSpeed;
                        ActiveRobot.Move(_TeleportOffset);
                        Owner.ChangeRobotLayer(ActiveRobot, _LayerIndex);
                    }
                }
            }
        }