guild walk
parent
dd0cab498d
commit
707724627c
|
@ -1,16 +1,25 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GuildMyInfo extends MongoBase {
|
||||
private static int speed = 500;
|
||||
|
||||
|
||||
private List<Integer> path; //行走路线
|
||||
private List<Integer> path = new ArrayList<>(); //行走路线
|
||||
private int curPos=257;//当前位置
|
||||
private long preMoveTimestamp; //上次更新时间
|
||||
|
||||
public void clearOfLevelGuild(){
|
||||
path.clear();
|
||||
curPos = 257;
|
||||
setCurPos(curPos);
|
||||
setPath(new ArrayList<>());
|
||||
}
|
||||
|
||||
|
||||
//用户移动到新位置, 返回下一个点的坐标,用户展示客户端的转向,及模拟移动
|
||||
public void move(List<Integer> path){
|
||||
|
@ -22,8 +31,10 @@ public class GuildMyInfo extends MongoBase {
|
|||
return;
|
||||
}
|
||||
this.path.clear();
|
||||
this.path.addAll(path);
|
||||
this.path.remove(0);
|
||||
if(!path.isEmpty()){
|
||||
this.path.addAll(path);
|
||||
this.path.remove(0);
|
||||
}
|
||||
preMoveTimestamp = timestamp;
|
||||
setPreMoveTimestamp(timestamp);
|
||||
}
|
||||
|
|
|
@ -430,6 +430,7 @@ public class GuildLogic {
|
|||
}
|
||||
User targetUser = UserManager.getUser(targetUid);
|
||||
targetUser.getPlayerInfoManager().setGuildId(0);
|
||||
targetUser.getGuildMyInfo().clearOfLevelGuild();
|
||||
addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName());
|
||||
Family.FamilyKickIndication build = Family.FamilyKickIndication.newBuilder().setType(1).build();
|
||||
ISession targetSession = OnlineUserManager.getSessionByUid(targetUid);
|
||||
|
@ -638,6 +639,7 @@ public class GuildLogic {
|
|||
}
|
||||
guildInfo.removeMember(uidType,uid);
|
||||
user.getPlayerInfoManager().setGuildId(0);
|
||||
user.getGuildMyInfo().clearOfLevelGuild();
|
||||
addGuildLog(guildInfo.getId(),GuildDef.Log.LEVEL,user.getPlayerInfoManager().getNickName());
|
||||
MessageUtil.sendMessage(session,1,msgId,null,true);
|
||||
}
|
||||
|
@ -689,6 +691,17 @@ public class GuildLogic {
|
|||
sendIndicationToMember(guildInfo, MessageTypeProto.MessageType.FAMILY_WALK_INDICATION,familyWalkIndicaiton);
|
||||
}
|
||||
|
||||
public static void updateMyPos(User user) {
|
||||
int guildId = user.getPlayerInfoManager().getGuildId();
|
||||
if(guildId == 0){
|
||||
return;
|
||||
}
|
||||
user.getGuildMyInfo().move(new ArrayList<>());
|
||||
Family.FamilyWalkIndicaiton familyWalkIndicaiton = CBean2Proto.getFamilyWalkIndicaiton(user);
|
||||
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId);
|
||||
sendIndicationToMember(guildInfo, MessageTypeProto.MessageType.FAMILY_WALK_INDICATION,familyWalkIndicaiton);
|
||||
}
|
||||
|
||||
public static void addGuildLog(int guildId, int type,String name) throws Exception {
|
||||
switch (type) {
|
||||
case GuildDef.Log.CREATE: {
|
||||
|
@ -852,4 +865,6 @@ public class GuildLogic {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -25,7 +25,9 @@ import com.ljsd.jieling.logic.activity.ActivityType;
|
|||
import com.ljsd.jieling.logic.dao.LevelDifficulty;
|
||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildLog;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.logic.room.Room;
|
||||
import com.ljsd.jieling.logic.room.RoomManager;
|
||||
|
@ -344,6 +346,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
long onlineTime = playerInfoManager.getOffLineTime() - playerInfoManager.getLoginTime();
|
||||
//更新在线时长
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.OnlineReward,(int)(onlineTime/TimeUtils.ONE_SECOND));
|
||||
GuildLogic.updateMyPos(user);
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
// 下线处理的逻辑需要添加在这里
|
||||
} catch (Exception e) {
|
||||
|
|
Loading…
Reference in New Issue