Commit 67d89e78 authored by fallenstardust's avatar fallenstardust

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

parent 38f8af59
...@@ -31,6 +31,7 @@ import ocgcore.DataManager; ...@@ -31,6 +31,7 @@ import ocgcore.DataManager;
import ocgcore.LimitManager; import ocgcore.LimitManager;
import ocgcore.data.Card; import ocgcore.data.Card;
import ocgcore.data.LimitList; import ocgcore.data.LimitList;
import ocgcore.enums.LimitType;
public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, DeckViewHolder> { public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, DeckViewHolder> {
private ImageLoader imageLoader; private ImageLoader imageLoader;
...@@ -72,6 +73,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D ...@@ -72,6 +73,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
mLimitList = new LimitList(); mLimitList = new LimitList();
mDeckLoader = new DeckLoader(); mDeckLoader = new DeckLoader();
deckInfo = new DeckInfo(); deckInfo = new DeckInfo();
mLimitList = DataManager.get().getLimitManager().getTopLimit();
} }
@SuppressLint("ResourceType") @SuppressLint("ResourceType")
...@@ -104,12 +106,12 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D ...@@ -104,12 +106,12 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
} }
//判断是否含有先行卡 //判断是否含有先行卡
Deck deck = this.deckInfo.toDeck(); Deck deck = this.deckInfo.toDeck();
List<Integer> intList = new ArrayList<>(); List<String> strList = new ArrayList<>();
intList.addAll(deck.getAlllist());
int len;
for (int i = 0; i < deck.getDeckCount(); i++) { for (int i = 0; i < deck.getDeckCount(); i++) {
len = intList.get(i).toString().length(); strList.add(deck.getAlllist().get(i).toString());
if (len > 8) { }
for (int i = 0; i < deck.getDeckCount(); i++) {
if (strList.get(i).length() > 8) {
holder.prerelease_star.setVisibility(View.VISIBLE); holder.prerelease_star.setVisibility(View.VISIBLE);
break; break;
} else { } else {
...@@ -117,6 +119,41 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D ...@@ -117,6 +119,41 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
continue; 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 ...@@ -163,9 +200,11 @@ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, D
void onItemSelect(int position, T item); void onItemSelect(int position, T item);
} }
} }
class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHolder { class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHolder {
ImageView cardImage; ImageView cardImage;
ImageView prerelease_star; ImageView prerelease_star;
ImageView banned_mark;
TextView deckName; TextView deckName;
TextView main; TextView main;
TextView extra; TextView extra;
...@@ -182,5 +221,6 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo ...@@ -182,5 +221,6 @@ class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHo
extra = findView(R.id.count_ex); extra = findView(R.id.count_ex);
side = findView(R.id.count_side); side = findView(R.id.count_side);
prerelease_star = findView(R.id.prerelease_star); 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 { ...@@ -29,6 +29,42 @@ public class LimitList {
allList = new ArrayList<>(); 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() { public String getName() {
return name; return name;
} }
......
...@@ -52,9 +52,17 @@ ...@@ -52,9 +52,17 @@
android:id="@+id/prerelease_star" android:id="@+id/prerelease_star"
android:layout_width="15dp" android:layout_width="15dp"
android:layout_height="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:layout_marginRight="@dimen/dp_10"
android:visibility="visible" android:visibility="visible"
android:background="@drawable/ic_fav"/> android:background="@drawable/ic_banned"/>
<TextView <TextView
android:id="@+id/count_main" 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