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