Пример #1
0
        internal static void Execute(object msg, User user)
        {
            Msg_CR_PickUpNpc pickUpNpcMsg = msg as Msg_CR_PickUpNpc;

            if (null != pickUpNpcMsg)
            {
                UserInfo userInfo = user.Info;
                if (null != userInfo)
                {
                    Scene scene = user.OwnRoom.GetActiveScene();
                    if (null != scene)
                    {
                        NpcInfo npc = scene.SceneContext.GetCharacterInfoById(pickUpNpcMsg.npc_id) as NpcInfo;
                        if (null != npc && npc.OwnerId == userInfo.GetId())
                        {
                            npc.NeedDelete = true;
                            DropOutInfo info = npc.GetAiStateInfo().AiDatas.GetData <DropOutInfo>();
                            if (null != info)
                            {
                                userInfo.Money += info.Value;
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        internal void SyncPickUpNpc(CharacterInfo character)
        {
            Msg_CR_PickUpNpc msg = new Msg_CR_PickUpNpc();

            msg.npc_id = character.GetId();
            SendMessage(msg);
        }