104 lines
3.1 KiB
Java
104 lines
3.1 KiB
Java
package config;
|
|
|
|
import manager.STableManager;
|
|
import manager.Table;
|
|
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
|
|
@Table(name ="ComposeActivity")
|
|
public class SComposeActivity implements BaseConfig {
|
|
private int id;
|
|
private int activityId;
|
|
private int[] needItems;
|
|
private int count;
|
|
private int composeType;
|
|
|
|
private static Map<Integer, Map<Integer,SComposeActivity>> configMap;
|
|
private static Map<Integer, Map<Integer, List<Integer>>> itemMap;
|
|
|
|
@Override
|
|
public void init() throws Exception {
|
|
Map<Integer, Map<Integer,SComposeActivity>> tempConfigMap = new HashMap<>();
|
|
Map<Integer, Map<Integer, List<Integer>>> tempItemMap = new HashMap<>();
|
|
Map<Integer, SComposeActivity> config = STableManager.getConfig(SComposeActivity.class);
|
|
for(SComposeActivity activity : config.values()){
|
|
if(tempConfigMap.containsKey(activity.getActivityId())){
|
|
tempConfigMap.get(activity.getActivityId()).put(activity.getComposeType(),activity);
|
|
List<Integer> list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList());
|
|
tempItemMap.get(activity.getActivityId()).put(activity.getComposeType(),list);
|
|
}else{
|
|
Map<Integer,SComposeActivity> map1 = new HashMap<>();
|
|
map1.put(activity.getComposeType(),activity);
|
|
tempConfigMap.put(activity.getActivityId(),map1);
|
|
Map<Integer,List<Integer>> map2 = new HashMap<>();
|
|
List<Integer> list = Arrays.stream( activity.getNeedItems() ).boxed().collect(Collectors.toList());
|
|
// List<Integer> list = new ArrayList<>();
|
|
// for(int i : activity.getNeedItems()[0]){
|
|
// list.add(i);
|
|
// }
|
|
map2.put(activity.getComposeType(),list);
|
|
tempItemMap.put(activity.getActivityId(),map2);
|
|
}
|
|
}
|
|
if(configMap == null){
|
|
configMap = tempConfigMap;
|
|
itemMap = tempItemMap;
|
|
}
|
|
}
|
|
|
|
public static Map<Integer, Map<Integer,SComposeActivity>> getConfigMap(){
|
|
return configMap;
|
|
}
|
|
|
|
public static int getTypeById(int actId,int equipId){
|
|
for(Map.Entry<Integer,List<Integer>> entry : itemMap.get(actId).entrySet()){
|
|
if(entry.getValue().contains(equipId)){
|
|
return entry.getKey();
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(int id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public int getActivityId() {
|
|
return activityId;
|
|
}
|
|
|
|
public void setActivityId(int activityId) {
|
|
this.activityId = activityId;
|
|
}
|
|
|
|
public int[] getNeedItems() {
|
|
return needItems;
|
|
}
|
|
|
|
public void setNeedItems(int[] needItems) {
|
|
this.needItems = needItems;
|
|
}
|
|
|
|
public int getCount() {
|
|
return count;
|
|
}
|
|
|
|
public void setCount(int count) {
|
|
this.count = count;
|
|
}
|
|
|
|
public int getComposeType() {
|
|
return composeType;
|
|
}
|
|
|
|
public void setComposeType(int composeType) {
|
|
this.composeType = composeType;
|
|
}
|
|
}
|