Ejemplo n.º 1
0
        private void HandlePacket(CSVCMsgGameEvent message)
        {
            CSVCMsgGameEventList.DescriptorT descriptor;
            if (!_gameEvents.TryGetValue(message.Eventid, out descriptor))
            {
                return;
            }

            GameEventHandler handler;

            if (_gameEventHandlers.TryGetValue(message.Eventid, out handler))
            {
                handler(this, message);
            }

            if (descriptor.Name == "player_footstep")
            {
                return;
            }

            var builder = new StringBuilder();

            builder.AppendFormat("{0}", descriptor.Name);
            builder.AppendLine();

            if (descriptor.Keys.Count > 0)
            {
                for (var i = 0; i < descriptor.Keys.Count; ++i)
                {
                    var keyDesc = descriptor.Keys[i];
                    var keyVal  = message.Keys[i];

                    builder.AppendFormat("  {0}: ", keyDesc.Name);

                    switch ((GameEventType)keyVal.Type)
                    {
                    case GameEventType.String: builder.AppendFormat("\"{0}\"", keyVal.ValString); break;

                    case GameEventType.Float: builder.Append(keyVal.ValFloat); break;

                    case GameEventType.Long: builder.Append(keyVal.ValLong); break;

                    case GameEventType.Short: builder.Append(keyVal.ValShort); break;

                    case GameEventType.Byte: builder.Append(keyVal.ValByte); break;

                    case GameEventType.Bool: builder.Append(keyVal.ValBool); break;

                    case GameEventType.Uint64: builder.Append(keyVal.ValUint64); break;

                    case GameEventType.Wstring: builder.AppendFormat("\"{0}\"", Encoding.Unicode.GetString(keyVal.ValWstring)); break;

                    default: builder.Append("?"); break;
                    }

                    builder.AppendLine();
                }
            }

            Debug.Log(builder);
        }
Ejemplo n.º 2
0
 private static CSVCMsgGameEvent.KeyT GetGameEventValue(CSVCMsgGameEvent message, int index)
 {
     return(message.Keys[index]);
 }