public void OnSetCampUser(GameCmd.stSetCampUserCmd_S cmd) { Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { return; } //0是玩家,1是npc Client.IEntity entity = null; if (cmd.entry_type == 0) { entity = es.FindPlayer(cmd.entry_id); } else if (cmd.entry_type == 1) { entity = es.FindNPC(cmd.entry_id); } if (entity != null) { Client.stPropUpdate prop = new Client.stPropUpdate(); prop.uid = entity.GetUID(); prop.nPropIndex = (int)Client.CreatureProp.Camp; prop.oldValue = entity.GetProp((int)Client.CreatureProp.Camp); prop.newValue = (int)cmd.camp; entity.SetProp((int)Client.CreatureProp.Camp, (int)cmd.camp); Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.ENTITYSYSTEM_PROPUPDATE, prop); } if (Client.ClientGlobal.Instance().IsMainPlayer(cmd.entry_id)) { if (cmd.camp == eCamp.CF_Green || cmd.camp == eCamp.CF_Red) { DataManager.Manager <CampCombatManager>().OnSetCamp(); } //进去就请求刷行数据 DataManager.Instance.Sender.RequestCampInfoCamp(0, 0, DataManager.Manager <CampCombatManager>().FightingIndex); } }
public void Execute(stBroadCastRideUserCmd_S cmd) {//广播的发的是坐骑的baseid Client.IEntitySystem es = Client.ClientGlobal.Instance().GetEntitySystem(); if (es == null) { return; } Client.IEntity entity = es.FindPlayer(cmd.user_id); if (entity != null) { if (Client.ClientGlobal.Instance().IsMainPlayer(entity)) {//主角不处理 通过stStatusRideUserCmd_S 唯一决定 return; } if (cmd.type == 0)//下马 { bool bRide = (bool)entity.SendMessage(Client.EntityMessage.EntityCommond_IsRide, null); if (bRide) { entity.SendMessage(Client.EntityMessage.EntityCommond_UnRide, null); } entity.SetProp((int)Client.PlayerProp.RideBaseId, 0); #region 主角废弃 //if (Client.ClientGlobal.Instance().IsMainPlayer(entity)) //{ // RideMgr.UsingRide = 0; // if (RideMgr.UnRideCallback != null) // { // RideMgr.UnRideCallback(RideMgr.UnRideCallbackParam); // RideMgr.UnRideCallback = null; // RideMgr.UnRideCallbackParam = null; // } //} #endregion } else if (cmd.type == 1)//上马 { bool bRide = (bool)entity.SendMessage(Client.EntityMessage.EntityCommond_IsRide, null); if (bRide) { return; } entity.SetProp((int)Client.PlayerProp.RideBaseId, (int)cmd.ride_id); entity.SendMessage(Client.EntityMessage.EntityCommond_Ride, (int)cmd.ride_id); #region 主角废弃 //if (Client.ClientGlobal.Instance().IsMainPlayer(entity)) //{ // RideMgr.UsingRide = RideMgr.Auto_Ride; // Client.IControllerSystem cs = Client.ClientGlobal.Instance().GetControllerSystem(); // if (cs != null) // { // Client.ICombatRobot robot = cs.GetCombatRobot(); // if (robot != null && robot.Status != Client.CombatRobotStatus.STOP) // { // robot.Stop(); // } // } //} #endregion } } }