TOP/拡張スクリプト/Sorter クラス

Sorter クラス

概要

並び替えメニューを構成する際に参照され、 並び替えを実施する際に compare_for_sort 関数が呼ばれるクラスです。 Sorter を継承した、いろいろな並び替えが実装されているクラスがいくつか用意されています。

静的メンバ関数

standard_compare( x, y ) -> integer

x と y は Entry のインスタンスです。 x と y の標準の比較をします。

type_compare( x, y ) -> integer

x と y は Entry のインスタンスです。 x と y のカードタイプの比較をします。

compare_same_board_normal_only( x, y, compare ) -> integer

x と y は Entry のインスタンスです。 compare は Entry のインスタンスを 2 つを受け取り比較した結果を integer で返す関数です。 compare では x と y が同じボードの通常カードの場合のみ呼び出されます。 並び替えの優先順位が

  • ボード
    • 通常カード(この中の比較を compare でする)
    • 特殊項目

となるように並び替える際に使用します。

コンストラクタ

constructor( name, compare_for_sort )

Sorter インスタンスを名前を name(strig)、比較関数を compare_for_sort(function)で作成します。

プロパティ

name -> string

名前です。メニューを作成する際にメニュー名として使用されます。

メンバ関数

compare_for_sort( x, y ) -> integer | float

x と y は Entry のインスタンスで、それらを比較した結果を返します。 アプリケーションで並び替えを実施する際に呼ばれます。 返す結果は負、0、正の3種類になります。

実装済みの Sorter クラスを継承した色々なクラス

既にいくつかの並び替えを実装した Sorter クラスを継承したクラスがあります。 簡単に紹介します。

StandardSorter

標準の並び替えをする Sorter です。

TypeSorter

タイプ別に並び替えをする Sorter です。

DeckSorter

1 つのデッキの枚数の多い順に並び替えをする Sorter です。

TotalSorter

読み込み済みの全てのデッキの合計の多い順に並び替えをする Sorter です。

CardCountSorter

値を指定して、その値に等しい枚数のカードを持つデッキの数の多い順に並び替えをする Sorter です。

TOP/拡張スクリプト/Sorter クラス