private void OnFightMessage(FightResultMessage msg) { if (msg.Result == OkTag) { var follower = (Follower)FollowerObjectManager.Instance.GetObj(msg.ObjectId); if (msg.StatusNow == FightMessage.GoToFight) { PlayerObject.Instance.Self.FightFollower.Followers.Add(follower); follower.IsFighting = true; } else { if (PlayerObject.Instance.Self.FightFollower.Followers.Contains(follower)) { PlayerObject.Instance.Self.FightFollower.Followers.Remove(follower); follower.IsFighting = false; } } MessageManager.SendMessage("Message.FollowerFight.Success"); } else { MessageManager.SendMessage("Message.FollowerFight.Failed"); } }
private void FightMessageImpl(NetIncomingMessage im, MessageBase msg) { var fightMsg = msg as FightMessage; var r = new FightResultMessage(); if (AdventurePluginDB.User.Get(fightMsg.PlayerId) != null) { r.Result = OkTag; r.ObjectId = fightMsg.ObjectId; var follower = AdventurePluginDB.PlayerFollower.GetPlayerFollower(fightMsg.PlayerId); if(follower.FollowerList.Contains(fightMsg.ObjectId)) { if(fightMsg.FightType == FightMessage.GoToFight) { follower.FightingFollowerList.Add(fightMsg.ObjectId); r.StatusNow = FightMessage.GoToFight; } else { if(follower.FightingFollowerList.Contains(fightMsg.ObjectId)) { follower.FightingFollowerList.Remove(fightMsg.ObjectId); r.StatusNow = FightMessage.GoToRest; } } } AdventurePluginDB.PlayerFollower.Update(follower); } else { r.Result = ErrorTag; } SharedServer.SendMessage(r, im.SenderConnection); }