Commit bf6d801c authored by qq247321453's avatar qq247321453

getCode

parent b3997522
......@@ -101,7 +101,7 @@ public class CardKeyWord {
@Override
public boolean isValid(Card card) {
return card.Code == code || card.Alias == code;
return card.isSame(code);
}
}
}
......@@ -129,12 +129,8 @@ public class CardLoader implements ICardSearcher {
List<Card> list = new ArrayList<>();
for (int i = 0; i < cards.size(); i++) {
Card card = cards.valueAt(i);
if (inCards != null) {
if(inCards.contains(card.Code) || (card.Alias != 0 && inCards.contains(card.Alias))){
//在范围内
} else {
continue;
}
if (inCards != null && !inCards.contains(card.getCode())){
continue;
}
if (searchInfo == null || searchInfo.isValid(card)) {
list.add(card);
......
......@@ -8,8 +8,10 @@ import android.view.MenuItem;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.widget.WebViewPlus;
import ocgcore.data.Card;
public class WebActivity extends BaseActivity {
private WebViewPlus mWebViewPlus;
......@@ -117,4 +119,9 @@ public class WebActivity extends BaseActivity {
intent.putExtra(Intent.EXTRA_TEXT, title);
context.startActivity(intent);
}
public static void openFAQ(Context context, Card cardInfo){
String uri = Constants.WIKI_SEARCH_URL + String.format("%08d", cardInfo.getCode());
WebActivity.open(context, cardInfo.Name, uri);
}
}
......@@ -171,7 +171,7 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, ViewHolder> i
//卡片类型
holder.cardType.setText(CardUtils.getAllTypeString(item, mStringManager));
if (holder.codeView != null) {
holder.codeView.setText(String.format("%08d", item.getCardCode()));
holder.codeView.setText(String.format("%08d", item.getCode()));
}
bindMenu(holder, position);
}
......
......@@ -266,7 +266,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
});
name.setText(cardInfo.Name);
desc.setText(cardInfo.Desc);
cardCode.setText(String.format("%08d", cardInfo.getCardCode()));
cardCode.setText(String.format("%08d", cardInfo.getCode()));
//按是否存在于收藏夹切换显示图标
mImageFav.setSelected(CardFavorites.get().hasCard(cardInfo.Code));
......
......@@ -282,8 +282,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
mCardDetail.setOnCardClickListener(new CardDetail.DefaultOnCardClickListener() {
@Override
public void onOpenUrl(Card cardInfo) {
String uri = Constants.WIKI_SEARCH_URL + String.format("%08d", cardInfo.getCardCode());
WebActivity.open(getContext(), cardInfo.Name, uri);
WebActivity.openFAQ(getContext(), cardInfo);
}
@Override
......
......@@ -416,8 +416,7 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi
mCardDetail.setOnCardClickListener(new CardDetail.OnCardClickListener() {
@Override
public void onOpenUrl(Card cardInfo) {
String uri = Constants.WIKI_SEARCH_URL + String.format("%08d", cardInfo.getCardCode());
WebActivity.open(getContext(), cardInfo.Name, uri);
WebActivity.openFAQ(getContext(), cardInfo);
}
@Override
......@@ -560,7 +559,7 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi
private boolean checkLimit(Card cardInfo) {
SparseArray<Integer> mCount = mDeckAdapater.getCardCount();
LimitList limitList = mDeckAdapater.getLimitList();
int id = cardInfo.getCardCode();
int id = cardInfo.getGameCode();
Integer count = mCount.get(id);
if (limitList == null) {
return count != null && count <= 3;
......
......@@ -271,7 +271,7 @@ public class DeckAdapater extends RecyclerView.Adapter<DeckViewHolder> implement
private void addCount(Card cardInfo, DeckItemType type) {
if (cardInfo == null) return;
Integer code = cardInfo.getCardCode();
Integer code = cardInfo.getGameCode();
Integer i = mCount.get(code);
if (i == null) {
mCount.put(code, 1);
......@@ -316,7 +316,7 @@ public class DeckAdapater extends RecyclerView.Adapter<DeckViewHolder> implement
private void removeCount(Card cardInfo, DeckItemType type) {
if (cardInfo == null) return;
int code = cardInfo.getCardCode();
int code = cardInfo.getGameCode();
Integer i = mCount.get(code);
if (i == null) {
mCount.put(code, 0);
......
......@@ -87,14 +87,35 @@ public class CardData implements Parcelable {
this.Category = in.readLong();
}
public int getCardCode(){
/**
* 规则同名卡
*/
public int getGameCode(){
if (Alias > 0) {
return Alias;
} else {
return Code;
}
}
/**
* 同卡,不同卡图
*/
public int getCode(){
if (Alias > 0 && Math.abs(Alias - Code) <= 10) {
return Alias;
} else {
return Code;
}
}
/**
* 根据卡密判断是否是一张卡,只判断多卡图的
*/
public boolean isSame(long code){
return this.Code == code || getCode() == code;
}
public static final Creator<CardData> CREATOR = new Creator<CardData>() {
@Override
public CardData createFromParcel(Parcel source) {
......
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