灵兽活动提交
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 灵兽活动选择灵兽
|
||||
* @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 SUB_ACTIVITY = 8000;//易经宝库
|
||||
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),
|
||||
SUB_ACTIVITY(ActivityType.SUB_ACTIVITY, SubActivity::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 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