Commit 67d89e78 authored by fallenstardust's avatar fallenstardust

检查卡组是否符合最新禁卡表

parent 38f8af59
......@@ -31,6 +31,7 @@ import ocgcore.DataManager;
import ocgcore.LimitManager;
import ocgcore.data.Card;
import ocgcore.data.LimitList;
import ocgcore.enums.LimitType;
public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, DeckViewHolder> {
private ImageLoader imageLoader;
......@@ -72,6 +73,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
mLimitList = new LimitList();
mDeckLoader = new DeckLoader();
deckInfo = new DeckInfo();
mLimitList = DataManager.get().getLimitManager().getTopLimit();
}
@SuppressLint("ResourceType")
......@@ -104,12 +106,12 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
}
//判断是否含有先行卡
Deck deck = this.deckInfo.toDeck();
List<Integer> intList = new ArrayList<>();
intList.addAll(deck.getAlllist());
int len;
List<String> strList = new ArrayList<>();
for (int i = 0; i < deck.getDeckCount(); i++) {
len = intList.get(i).toString().length();
if (len > 8) {
strList.add(deck.getAlllist().get(i).toString());
}
for (int i = 0; i < deck.getDeckCount(); i++) {
if (strList.get(i).length() > 8) {
holder.prerelease_star.setVisibility(View.VISIBLE);
break;
} else {
......@@ -117,6 +119,41 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
continue;
}
}
if (mLimitList != null) {
for (int i = 0; i < deck.getDeckCount(); i++) {
if (mLimitList.getStringForbidden().contains(strList.get(i))) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
} else if (mLimitList.getStringLimit().contains(strList.get(i))) {
int limitcount = 0;
for (int j = 0; j < deck.getDeckCount(); j++) {
if (strList.get(i).equals(strList.get(j))) {
limitcount++;
}
}
if (limitcount > 1) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
}
} else if (mLimitList.getStringSemiLimit().contains(strList.get(i))) {
int semicount = 0;
for (int k = 0; k < deck.getDeckCount(); k++) {
if (strList.get(i).equals(strList.get(k))) {
semicount++;
}
}
if (semicount > 2) {
holder.banned_mark.setVisibility(View.VISIBLE);
break;
}
} else {
holder.banned_mark.setVisibility(View.GONE);
continue;
}
}
}
}
......@@ -163,9 +200,11 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
void onItemSelect(int position, T item);
}
}
class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHolder {
ImageView cardImage;
ImageView prerelease_star;
ImageView banned_mark;
TextView deckName;
TextView main;
TextView extra;
......@@ -182,5 +221,6 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo
extra = findView(R.id.count_ex);
side = findView(R.id.count_side);
prerelease_star = findView(R.id.prerelease_star);
banned_mark = findView(R.id.banned_mark);
}
}
\ No newline at end of file
......@@ -29,6 +29,42 @@ public class LimitList {
allList = new ArrayList<>();
}
public List<Integer> getForbidden() {
return forbidden;
}
public List<Integer> getLimit() {
return limit;
}
public List<Integer> getSemiLimit() {
return semiLimit;
}
public List<String> getStringForbidden() {
List<String> strFobidden = new ArrayList<>();
for (int i = 0; i< forbidden.size(); i++) {
strFobidden.add(forbidden.get(i).toString());
}
return strFobidden;
}
public List<String> getStringLimit() {
List<String> strLimit = new ArrayList<>();
for (int i = 0; i< limit.size(); i++) {
strLimit.add(limit.get(i).toString());
}
return strLimit;
}
public List<String> getStringSemiLimit() {
List<String> strSemiLimit = new ArrayList<>();
for (int i = 0; i< semiLimit.size(); i++) {
strSemiLimit.add(semiLimit.get(i).toString());
}
return strSemiLimit;
}
public String getName() {
return name;
}
......
......@@ -52,9 +52,17 @@
android:id="@+id/prerelease_star"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="5dp"
android:visibility="visible"
android:background="@drawable/ic_expansions"/>
<ImageView
android:id="@+id/banned_mark"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="@dimen/dp_10"
android:visibility="visible"
android:background="@drawable/ic_fav"/>
android:background="@drawable/ic_banned"/>
<TextView
android:id="@+id/count_main"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment