コード例 #1
0
ファイル: JournalHandler.cs プロジェクト: byterj/phoenix
        private static CallbackResult OnUnicodeSpeech(byte[] data, CallbackResult prevResult)
        {
            UnicodeSpeech packet = new UnicodeSpeech(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);
        }
コード例 #2
0
        static CallbackResult OnUniSpeech(byte[] data, CallbackResult prevResult)
        {
            lock (World.SyncRoot) {
                UnicodeSpeech packet = new UnicodeSpeech(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 updated: {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);
            }
        }