Example #1
0
        private void OnRoomEnter([FromSource] Player source, Shared.Entity.Room obj, Shared.Entity.Character character)
        {
            var room = Database.SqLite.Repository <Shared.Entity.Room> .GetById(obj.Id);

            if (room == null)
            {
                return;
            }

            if (!(room.Owner.Id == character.Id || room.Allowed.FirstOrDefault(x => x.Id == character.Id) != null))
            {
                FireEvent(room.CurrentlyInside.ToArray(), "fivelife.room.enter", false, room);
                return;
            }

            room.CurrentlyInside.Add(Int32.Parse(source.Handle));
            Database.SqLite.Repository <Shared.Entity.Room> .Update(room);

            FireEvent(source, "fivelife.room.enter", true, room);
            FireEvent("fivelife.room.joined", Int32.Parse(source.Handle), room);
        }
Example #2
0
        private void OnMessageSend([FromSource] Player player, Shared.Entity.Character arg1, string arg2, Vector3 arg3)
        {
            if (arg2.Length == 0)
            {
                return;
            }
            var message = new Shared.Entity.ChatMessage()
            {
                Character = arg1,
                Message   = arg2,
                Position  = arg3
            };

            if (arg2.Substring(0, 1) == "/")
            {
                ExecuteCommand(player, message); // each command will deal with sending it back to the client
                return;
            }

            message.Message = $"{arg1.FirstName} {arg1.LastName}: {arg2}";
            Broadcast(message);
        }