灵兽活动提交
parent
5a84536aa6
commit
36304b135e
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.ljsd.jieling.handler.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.protocols.ActivityProto;
|
||||||
|
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/11/11
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class SpecialMonsterChooseHandler extends BaseHandler<ActivityProto.SpecicalMonsterChooseRequest>{
|
||||||
|
@Override
|
||||||
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
|
return MessageTypeProto.MessageType.SPECICAL_MONSTER_CHOOSE_REQUEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void processWithProto(ISession iSession, ActivityProto.SpecicalMonsterChooseRequest proto) throws Exception {
|
||||||
|
ActivityLogic.getInstance().chooseSpecialMonster(iSession,proto.getActivityId(),proto.getSelectId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1374,4 +1374,25 @@ public class ActivityLogic implements IEventHandler{
|
||||||
return openActivityIds.contains(activityId);
|
return openActivityIds.contains(activityId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 灵兽活动选择灵兽
|
||||||
|
* @param session
|
||||||
|
* @param activityId
|
||||||
|
* @param chooseId
|
||||||
|
*/
|
||||||
|
public void chooseSpecialMonster(ISession session,int activityId,int chooseId) throws Exception {
|
||||||
|
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||||
|
if(activity==null||activity.getType()!=ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY){
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
|
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
ActivityMission activityMission = activityMissionMap.get(activityId);
|
||||||
|
if(activityMission==null||!activityMission.getActivityMissionMap().containsKey(0)){
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
activityMission.getActivityMissionMap().get(0).setProgrss(chooseId);
|
||||||
|
|
||||||
|
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.SPECICAL_MONSTER_CHOOSE_RESPONSE_VALUE,null,true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,5 +80,7 @@ public interface ActivityType {
|
||||||
int SHEJI_ACTIVITY = 60;//社稷大典
|
int SHEJI_ACTIVITY = 60;//社稷大典
|
||||||
int SUB_ACTIVITY = 8000;//易经宝库
|
int SUB_ACTIVITY = 8000;//易经宝库
|
||||||
int SKIN_RECHARGE_ACTIVITY = 71;
|
int SKIN_RECHARGE_ACTIVITY = 71;
|
||||||
|
int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽限时抽卡
|
||||||
|
int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,8 @@ public enum ActivityTypeEnum {
|
||||||
SHEJI_ACTIVITY(ActivityType.SHEJI_ACTIVITY,SheJiActivity::new),
|
SHEJI_ACTIVITY(ActivityType.SHEJI_ACTIVITY,SheJiActivity::new),
|
||||||
SUB_ACTIVITY(ActivityType.SUB_ACTIVITY, SubActivity::new),
|
SUB_ACTIVITY(ActivityType.SUB_ACTIVITY, SubActivity::new),
|
||||||
SKIN_RECHARGE_ACTIVITY(ActivityType.SKIN_RECHARGE_ACTIVITY, DefaultEmptyActivity::new),
|
SKIN_RECHARGE_ACTIVITY(ActivityType.SKIN_RECHARGE_ACTIVITY, DefaultEmptyActivity::new),
|
||||||
|
SPECIAL_MONSTER_RANDOM_ACTIVITY(ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY,LimitRandomSpecialMonsterActivity::new),
|
||||||
|
SPECIAL_MONSTER_GIFT_ACTIVITY(ActivityType.SPECIAL_MONSTER_GIFT_ACTIVITY,DefaultEmptyActivity::new),
|
||||||
;
|
;
|
||||||
private int type;
|
private int type;
|
||||||
private Function<Integer, AbstractActivity> toActivityFunction;
|
private Function<Integer, AbstractActivity> toActivityFunction;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.jbean.ActivityMission;
|
||||||
|
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/11/11
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
public class LimitRandomSpecialMonsterActivity extends LimitRandomCardActivity {
|
||||||
|
|
||||||
|
public LimitRandomSpecialMonsterActivity(int id) {
|
||||||
|
super(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initActivity(User user) {
|
||||||
|
super.initActivity(user);
|
||||||
|
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
ActivityMission activityMission = activityMissionMap.get(id);
|
||||||
|
if(activityMission!=null){
|
||||||
|
activityMission.getActivityMissionMap().put(0,new ActivityProgressInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void updateProgress(ActivityMission activityMission, int count) {
|
||||||
|
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||||
|
int progress;
|
||||||
|
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
|
||||||
|
if(item.getKey()==0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ActivityProgressInfo activityProgressInfo = item.getValue();
|
||||||
|
progress = item.getValue().getProgrss() + count;
|
||||||
|
activityProgressInfo.setProgrss(progress);
|
||||||
|
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package config;
|
||||||
|
|
||||||
|
import manager.STableManager;
|
||||||
|
import manager.Table;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Table(name ="SpiritAnimalSummon")
|
||||||
|
public class SSpiritAnimalSummon implements BaseConfig {
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
private int focusID;
|
||||||
|
|
||||||
|
private int activityID;
|
||||||
|
|
||||||
|
private int[] originalItemList;
|
||||||
|
|
||||||
|
private int[] targetItemList;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFocusID() {
|
||||||
|
return focusID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getActivityID() {
|
||||||
|
return activityID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getOriginalItemList() {
|
||||||
|
return originalItemList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getTargetItemList() {
|
||||||
|
return targetItemList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue