周刷新

lvxinran 2019-10-14 05:08:20 +08:00
parent a86722392e
commit 7bfa624269
4 changed files with 30 additions and 5 deletions

View File

@ -295,6 +295,7 @@ public class GlobalDataManaager {
PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder); PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder);
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0); user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH,0); user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0); user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0);
FriendLogic.getInstance().refreshState(session); FriendLogic.getInstance().refreshState(session);

View File

@ -13,6 +13,7 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.MathUtils; import com.ljsd.jieling.util.MathUtils;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import com.ljsd.jieling.util.TimeUtils;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -88,6 +89,7 @@ public class UserMissionManager extends MongoBase {
break; break;
case TREASH_WEEK_REFRESH: case TREASH_WEEK_REFRESH:
int[] dailyRefreshIds = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData); int[] dailyRefreshIds = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData); int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
CommonProto.RefreshTask.Builder task1 = treasureIndicationBuild(1, dailyRefreshIds); CommonProto.RefreshTask.Builder task1 = treasureIndicationBuild(1, dailyRefreshIds);
CommonProto.RefreshTask.Builder task2 = treasureIndicationBuild(2, weekRefreshIds); CommonProto.RefreshTask.Builder task2 = treasureIndicationBuild(2, weekRefreshIds);
@ -278,11 +280,21 @@ public class UserMissionManager extends MongoBase {
private int[] resetTreasureTaskInfo(int type,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){ private int[] resetTreasureTaskInfo(int type,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){
int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS); //周刷新检测
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type); if(type==3){
for(Integer treasure:taskTypeMap){ treasureMissionIdsType.setWeekRefresh((int)(TimeUtils.now()/1000));
if(treasureMissionIdsType.getDoingMissionIds().contains(treasure)){ }
treasureMissionIdsType.getDoingMissionIds().remove(treasure); if(type==2){
if(treasureMissionIdsType.getWeekRefresh()>=TimeUtils.getCurWeekdayStartTime(1,5)){
return null;
}
treasureMissionIdsType.setWeekRefresh((int)TimeUtils.now()/1000);
}
int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS);
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type);
for(Integer treasure:taskTypeMap){
if(treasureMissionIdsType.getDoingMissionIds().contains(treasure)){
treasureMissionIdsType.getDoingMissionIds().remove(treasure);
} }
if(treasureMissionIdsType.getFinishMissionIds().contains(treasure)){ if(treasureMissionIdsType.getFinishMissionIds().contains(treasure)){
treasureMissionIdsType.getFinishMissionIds().remove(treasure); treasureMissionIdsType.getFinishMissionIds().remove(treasure);

View File

@ -32,6 +32,7 @@ public class MissionEventDistributor {
eventProcessor.put(GameEvent.DAILY_REFRESH,new DailyRefreshEventProcess()); eventProcessor.put(GameEvent.DAILY_REFRESH,new DailyRefreshEventProcess());
eventProcessor.put(GameEvent.BLOODY_REFRESH,new DailyRefreshEventProcess()); eventProcessor.put(GameEvent.BLOODY_REFRESH,new DailyRefreshEventProcess());
eventProcessor.put(GameEvent.TREASH_REFRESH,new TreasureRefreshEventProcess()); eventProcessor.put(GameEvent.TREASH_REFRESH,new TreasureRefreshEventProcess());
eventProcessor.put(GameEvent.TREASH_WEEK_REFRESH,new TreasureRefreshEventProcess());
eventProcessor.put(GameEvent.TREASH_MONTH_REFRESH,new TreasureRefreshEventProcess()); eventProcessor.put(GameEvent.TREASH_MONTH_REFRESH,new TreasureRefreshEventProcess());
eventProcessor.put(GameEvent.SERVENHAPPY_REFRESH,new TreasureRefreshEventProcess()); eventProcessor.put(GameEvent.SERVENHAPPY_REFRESH,new TreasureRefreshEventProcess());

View File

@ -20,6 +20,17 @@ import java.util.Set;
public class TreasureMissionType extends AbstractMissionType{ public class TreasureMissionType extends AbstractMissionType{
private Map<Integer,Integer> takeTimes = new HashMap<>(); private Map<Integer,Integer> takeTimes = new HashMap<>();
private int weekRefresh;
public int getWeekRefresh() {
return weekRefresh;
}
public void setWeekRefresh(int weekRefresh) {
this.weekRefresh = weekRefresh;
}
@Override @Override
public void openMission(User user, int missionId, List<MissionStateChangeInfo> missionTypeEnumList) { public void openMission(User user, int missionId, List<MissionStateChangeInfo> missionTypeEnumList) {