static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult)
        {
            lock (World.SyncRoot) {
                AsciiSpeech packet = new AsciiSpeech(data);

                RealObject obj = World.FindRealObject(packet.Serial);
                if (obj == null) {
                    // System speech
                    return CallbackResult.Normal;
                }

                if (obj.Name != packet.Name) {
                    obj.Name = packet.Name;
            #if WORLDDEBUG
                    Trace.WriteLine(String.Format("Object name upadted: {0}", obj.Description), "World");
            #endif

                    if (obj is RealItem) {
                        itemUpdated.InvokeAsync(null, new ObjectChangedEventArgs(obj.Serial, ObjectChangeType.ItemUpdated));
                        ObjectChanged(obj.Serial, ObjectChangeType.ItemUpdated);
                    }
                    else {
                        ObjectChanged(obj.Serial, ObjectChangeType.CharUpdated);
                    }
                }

                return CallbackResult.Normal;
            }
        }
Example #2
0
 private static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult)
 {
     AsciiSpeech packet = new AsciiSpeech(data);
     Print(new JournalEntry(DateTime.Now, packet.Serial, packet.Name, packet.Text, packet.Color, (SpeechType)packet.Type, (SpeechFont)packet.Font, JournalEntrySource.Server));
     return CallbackResult.Normal;
 }