新活动
parent
9193d8b6da
commit
6cd02d8979
|
@ -95,5 +95,6 @@ public interface ActivityType {
|
|||
int NEW_GENERAL_ATTACK = 200;//新将来袭
|
||||
|
||||
int SUPER_BOX = 69;//惊喜礼盒
|
||||
int HERO_STAR = 500;
|
||||
|
||||
}
|
||||
|
|
|
@ -73,6 +73,7 @@ public enum ActivityTypeEnum {
|
|||
TA_SUI_LING_XIAO(ActivityType.TA_SUI_LING_XIAO,TaSuiLingXiaoActivity::new),
|
||||
CHOICE_DRAW_CRAD(ActivityType.CHOICE_DRAW_CRAD,ChoiceDrawCardActivity::new),
|
||||
SUPER_BOX(ActivityType.SUPER_BOX,SuperBoxActivity::new),
|
||||
HERO_STAR(ActivityType.HERO_STAR,HeroStarActivity::new),
|
||||
|
||||
;
|
||||
private int type;
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import config.SActivityRewardConfig;
|
||||
import config.SGlobalActivity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class HeroStarActivity extends AbstractActivity {
|
||||
|
||||
public HeroStarActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, HeroUpStarEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if (!(event instanceof HeroUpStarEvent))
|
||||
return;
|
||||
HeroUpStarEvent heroUpStarEvent = (HeroUpStarEvent) event;
|
||||
User user = UserManager.getUser(heroUpStarEvent.getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if( null == activityMission){
|
||||
return;
|
||||
}
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
List<SActivityRewardConfig> list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||
int heroId = list.get(0).getValues()[0][0];
|
||||
if(heroUpStarEvent.getHeroTid() != heroId){
|
||||
return;
|
||||
}
|
||||
int maxstar = user.getHeroManager().getHeroHandBook().get(heroId);
|
||||
for (SActivityRewardConfig sActivityRewardConfig : list) {
|
||||
if (maxstar >= sActivityRewardConfig.getValues()[0][1]) {
|
||||
ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null);
|
||||
if (null == activityProgressInfo)
|
||||
continue;
|
||||
if(activityProgressInfo.getState()<1){
|
||||
activityProgressInfo.setState(1);
|
||||
}
|
||||
activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo);
|
||||
}
|
||||
}
|
||||
//更新进度
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||
sendActivityProgress(sessionByUid, activityMission, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
SGlobalActivity globalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if(globalActivity == null){
|
||||
return;
|
||||
}
|
||||
ActivityLogic.getInstance().initAllActivityMission(user.getActivityManager().getActivityMissionMap(),globalActivity.getId());
|
||||
if(user.getActivityManager().getActivityMissionMap().get(globalActivity.getId()) == null){
|
||||
return;
|
||||
}
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if( null == activityMission){
|
||||
return;
|
||||
}
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
List<SActivityRewardConfig> list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||
int heroId = list.get(0).getValues()[0][0];
|
||||
Integer maxstar = user.getHeroManager().getHeroHandBook().get(heroId);
|
||||
if(maxstar == null){
|
||||
return;
|
||||
}
|
||||
for (SActivityRewardConfig sActivityRewardConfig : list) {
|
||||
if (maxstar.intValue() >= sActivityRewardConfig.getValues()[0][1]) {
|
||||
ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null);
|
||||
if (null == activityProgressInfo)
|
||||
continue;
|
||||
if(activityProgressInfo.getState()<1){
|
||||
activityProgressInfo.setState(1);
|
||||
}
|
||||
activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue