Example #1
0
    public static LitJson.JsonData Export(UICamera camera)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Object);
        return(data);
    }
Example #2
0
    public static LitJson.JsonData Export(List <BMGlyph> glyphs)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Array);
        glyphs.ForEach(glyph => data.Add(Export(glyph)));
        return(data);
    }
Example #3
0
    public static LitJson.JsonData Export(List <BMSymbol> symbols)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Array);
        symbols.ForEach(symbol => data.Add(Export(symbol)));
        return(data);
    }
Example #4
0
    public static LitJson.JsonData Export(Vector2 v, Vector2 def)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Object);
        Export(data, "x", v.x, def.x);
        Export(data, "y", v.y, def.y);
        return(data);
    }
Example #5
0
    public static LitJson.JsonData Export(Color32 color32)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Object);
        Export(data, "r", color32.r, 0);
        Export(data, "g", color32.g, 0);
        Export(data, "b", color32.b, 0);
        Export(data, "a", color32.a, 255);
        return(data);
    }
Example #6
0
    public static LitJson.JsonData Export(Quaternion q)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Object);
        var v = q.eulerAngles;

        Export(data, "x", v.x, 0);
        Export(data, "y", v.y, 0);
        Export(data, "z", v.z, 0);
        return(data);
    }
Example #7
0
    public static string parseJson(string[] dataString)
    {
        LitJson.JsonData json  = new LitJson.JsonData();
        string[]         lines = dataString;

        if (lines.Length > 1)
        {
            string[] columnNames = WWWData.SplitWithDoubleQuote(lines[0], ',');

            int count = 0;
            for (int i = 0; i < columnNames.Length; i++)
            {
                if (columnNames[i] == string.Empty ||
                    columnNames[i].Contains("\r"))
                {
                    break;
                }
                count++;
            }

            for (int i = 1; i < lines.Length; i++)
            {
                LitJson.JsonData dic = new LitJson.JsonData();
                dic.SetJsonType(LitJson.JsonType.Object);

                string[] value = WWWData.SplitWithDoubleQuote(lines[i], ',');
                for (int j = 0; j < count; j++)
                {
                    string val = "";
                    try
                    {
                        val = value[j];
                    }
                    catch
                    {
                        Debug.LogError("Utils::parseJson error / line is " + lines[i]);
                    }
                    if (string.IsNullOrEmpty(val) == false)
                    {
                        dic[columnNames[j]] = val;
                    }
                }

                json.Add(dic);
            }
        }

        return(json.ToJson());
    }
 static int SetJsonType(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         LitJson.JsonData obj  = (LitJson.JsonData)ToLua.CheckObject(L, 1, typeof(LitJson.JsonData));
         LitJson.JsonType arg0 = (LitJson.JsonType)ToLua.CheckObject(L, 2, typeof(LitJson.JsonType));
         obj.SetJsonType(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Example #9
0
    public static LitJson.JsonData Export(Component[] comps)
    {
        var data = new LitJson.JsonData();

        data.SetJsonType(LitJson.JsonType.Array);
        foreach (var comp in comps)
        {
            var obj = Export(comp);
            if (obj != null)
            {
                obj["meta_type"] = comp.GetType().Name;
                obj["meta_id"]   = comp.GetInstanceID();
                data.Add(obj);
            }
        }
        return(data);
    }
Example #10
0
 public LitJson.JsonData ToJson()
 {
     try
     {
         LitJson.JsonData root = new LitJson.JsonData();
         root.SetJsonType(LitJson.JsonType.Object);
         root["ver"] = kVersion;
         var model = new JsonData();
         model.SetJsonType(JsonType.Object);
         SerializeToJson(model);
         root["model"] = model;
         return(root);
     }
     catch (Exception ex)
     {
         DebugUtility.LogException(ex);
     }
     return(null);
 }
Example #11
0
 public static JsonData SerializeJson(OSD osd)
 {
     switch (osd.Type)
     {
         case OSDType.Boolean:
             return new JsonData(osd.AsBoolean());
         case OSDType.Integer:
             return new JsonData(osd.AsInteger());
         case OSDType.Real:
             return new JsonData(osd.AsReal());
         case OSDType.String:
         case OSDType.Date:
         case OSDType.URI:
         case OSDType.UUID:
             return new JsonData(osd.AsString());
         case OSDType.Binary:
             byte[] binary = osd.AsBinary();
             JsonData jsonbinarray = new JsonData();
             jsonbinarray.SetJsonType(JsonType.Array);
             for (int i = 0; i < binary.Length; i++)
                 jsonbinarray.Add(new JsonData(binary[i]));
             return jsonbinarray;
         case OSDType.Array:
             JsonData jsonarray = new JsonData();
             jsonarray.SetJsonType(JsonType.Array);
             OSDArray array = (OSDArray)osd;
             for (int i = 0; i < array.Count; i++)
                 jsonarray.Add(SerializeJson(array[i]));
             return jsonarray;
         case OSDType.Map:
             JsonData jsonmap = new JsonData();
             jsonmap.SetJsonType(JsonType.Object);
             OSDMap map = (OSDMap)osd;
             foreach (KeyValuePair<string, OSD> kvp in map)
                 jsonmap[kvp.Key] = SerializeJson(kvp.Value);
             return jsonmap;
         case OSDType.Unknown:
         default:
             return new JsonData();
     }
 }
 static string CreateInvokeRequest(string id, params string[] invokeArgs)
 {
     JsonData req = new JsonData();
     req.Add("invoke");
     JsonData parameters = new JsonData();
     parameters["id"] = id;
     JsonData args = new JsonData();
     args.SetJsonType(JsonType.Array); // To avoid invalid json if it is empty
     foreach(var arg in invokeArgs) {
         args.Add(arg);
     }
     parameters["args"] = args;
     req.Add(parameters);
     return JsonMapper.ToJson(req);
 }
Example #13
0
        private static IJsonWrapper ReadValue(WrapperFactory factory,
                                              JsonReader reader)
        {
            reader.Read();

            if (reader.Token == JsonToken.ArrayEnd ||
                reader.Token == JsonToken.Null)
            {
                return(null);
            }

            JsonData instance = (JsonData)factory();

            if (reader.Token == JsonToken.String)
            {
                instance.SetString((string)reader.Value);
                return(instance);
            }

            if (reader.Token == JsonToken.Double)
            {
                instance.SetDouble((double)reader.Value);
                return(instance);
            }

            if (reader.Token == JsonToken.Int)
            {
                instance.SetInt((int)reader.Value);
                return(instance);
            }

            if (reader.Token == JsonToken.Long)
            {
                instance.SetLong((long)reader.Value);
                return(instance);
            }

            if (reader.Token == JsonToken.Boolean)
            {
                instance.SetBoolean((bool)reader.Value);
                return(instance);
            }

            if (reader.Token == JsonToken.ArrayStart)
            {
                instance.SetJsonType(JsonType.Array);

                while (true)
                {
                    IJsonWrapper item = ReadValue(factory, reader);
                    if (reader.Token == JsonToken.ArrayEnd)
                    {
                        break;
                    }

                    ((IList)instance).Add(item);
                }
            }
            else if (reader.Token == JsonToken.ObjectStart)
            {
                instance.SetJsonType(JsonType.Object);

                while (true)
                {
                    reader.Read();

                    if (reader.Token == JsonToken.ObjectEnd)
                    {
                        break;
                    }

                    string property = (string)reader.Value;

                    instance[property] = (JsonData)ReadValue(
                        factory, reader);
                }
            }

            return(instance);
        }
Example #14
0
 private JsonData ToJson(Bundle bundle)
 {
     JsonData target = new JsonData();
     if (bundle.Type == DataType.Object) {
         target.SetJsonType(JsonType.Object);
         foreach (KeyValuePair<string, Bundle> entry in bundle.Dictionary) {
             switch (entry.Value.Type) {
             case DataType.Boolean: target[entry.Key] = entry.Value.AsBool(); break;
             case DataType.Integer: target[entry.Key] = entry.Value.AsLong(); break;
             case DataType.Double: target[entry.Key] = entry.Value.AsDouble(); break;
             case DataType.String: target[entry.Key] = entry.Value.AsString(); break;
             default: target[entry.Key] = ToJson(entry.Value); break;
             }
         }
     }
     else {
         target.SetJsonType(JsonType.Array);
         foreach (Bundle entry in bundle.Array) {
             switch (entry.Type) {
             case DataType.Boolean: target.Add(entry.AsBool()); break;
             case DataType.Integer: target.Add(entry.AsInt()); break;
             case DataType.Double: target.Add(entry.AsDouble()); break;
             case DataType.String: target.Add(entry.AsString()); break;
             default: target.Add(ToJson(entry)); break;
             }
         }
     }
     return target;
 }
Example #15
0
 string StepMatches(string stepName)
 {
     JsonData matches = new JsonData();
     matches.SetJsonType(JsonType.Array);
     foreach (var sd in _repository.StepDefinitions)
     {
         List<StepArgument> args = sd.ArgumentsFrom(stepName);
         if(args != null)
         {
             JsonData stepMatch = new JsonData();
             stepMatch["id"] = sd.Id;
             JsonData jsonArgs = new JsonData();
             jsonArgs.SetJsonType(JsonType.Array);
             foreach (var arg in args)
             {
                 JsonData jsonArg = new JsonData();
                 jsonArg["val"] = arg.Val;
                 jsonArg["pos"] = arg.Pos;
                 jsonArgs.Add(jsonArg);
             }
             stepMatch["args"] = jsonArgs;
             matches.Add(stepMatch);
         }
     }
     JsonData response = new JsonData();
     response.Add("step_matches");
     response.Add(matches);
     return JsonMapper.ToJson(response);
 }
Example #16
0
 public static JsonData SerializeJson(OSD osd)
 {
     switch (osd.Type)
     {
         case OSDType.Boolean:
             return new JsonData(osd.AsBoolean());
         case OSDType.Integer:
             return new JsonData(osd.AsInteger());
         case OSDType.Real:
             return new JsonData(osd.AsReal());
         case OSDType.String:
             return new JsonData(osd.AsString());
         case OSDType.Date:
             return new JsonData("date::" + osd.AsString());
         case OSDType.URI:
             return new JsonData("uri::" + osd.AsString());
         case OSDType.UUID:
             return new JsonData("uuid::" + osd.AsString());
         case OSDType.Binary:
             return new JsonData("b64::" + Convert.ToBase64String(osd.AsBinary()));
         case OSDType.Array:
             JsonData jsonarray = new JsonData();
             jsonarray.SetJsonType(JsonType.Array);
             OSDArray array = (OSDArray)osd;
             for (int i = 0; i < array.Count; i++)
                 jsonarray.Add(SerializeJson(array[i]));
             return jsonarray;
         case OSDType.Map:
             JsonData jsonmap = new JsonData();
             jsonmap.SetJsonType(JsonType.Object);
             OSDMap map = (OSDMap)osd;
             foreach (KeyValuePair<string, OSD> kvp in map)
                 jsonmap[kvp.Key] = SerializeJson(kvp.Value);
             return jsonmap;
         case OSDType.Unknown:
         default:
             return new JsonData();
     }
 }
Example #17
0
        private static JsonData SerializeJsonNoDefaults(OSD osd)
        {
            switch (osd.Type)
            {
                case OSDType.Boolean:
                    bool b = osd.AsBoolean();
                    if (!b)
                        return null;

                    return new JsonData(b);
                case OSDType.Integer:
                    int v = osd.AsInteger();
                    if (v == 0)
                        return null;

                    return new JsonData(v);
                case OSDType.Real:
                    double d = osd.AsReal();
                    if (d == 0.0d)
                        return null;

                    return new JsonData(d);
                case OSDType.String:
                case OSDType.Date:
                case OSDType.URI:
                    string str = osd.AsString();
                    if (String.IsNullOrEmpty(str))
                        return null;

                    return new JsonData(str);
                case OSDType.UUID:
                    UUID uuid = osd.AsUUID();
                    if (uuid == UUID.Zero)
                        return null;

                    return new JsonData(uuid.ToString());
                case OSDType.Binary:
                    byte[] binary = osd.AsBinary();
                    if (binary == Utils.EmptyBytes)
                        return null;

                    JsonData jsonbinarray = new JsonData();
                    jsonbinarray.SetJsonType(JsonType.Array);
                    for (int i = 0; i < binary.Length; i++)
                        jsonbinarray.Add(new JsonData(binary[i]));
                    return jsonbinarray;
                case OSDType.Array:
                    JsonData jsonarray = new JsonData();
                    jsonarray.SetJsonType(JsonType.Array);
                    OSDArray array = (OSDArray)osd;
                    for (int i = 0; i < array.Count; i++)
                        jsonarray.Add(SerializeJson(array[i]));
                    return jsonarray;
                case OSDType.Map:
                    JsonData jsonmap = new JsonData();
                    jsonmap.SetJsonType(JsonType.Object);
                    OSDMap map = (OSDMap)osd;
                    foreach (KeyValuePair<string, OSD> kvp in map)
                    {
                        JsonData data = SerializeJsonNoDefaults(kvp.Value);
                        if (data != null)
                            jsonmap[kvp.Key] = data;
                    }
                    return jsonmap;
                case OSDType.Unknown:
                default:
                    return null;
            }
        }
        public SocketModel InvInfoPacket(InvInfoDTO data)
        {
            int playerID = data.playerID;
            string playerUUID = data.playerUUID;
            int type = data.type;//player = 1,Hero = 2,Guide = 3,Inv = 4

            int returnCode = ReturnCode.Success;//设定返回代码
            if (CheckUUID(playerUUID))
            {
                string returnData = "";
                switch (type)
                {
                    case 1://玩家页
                        {
                            JsonData json = new JsonData();
                            json.SetJsonType(JsonType.Array);//设置为数组

                            //从数据库中获取玩家所有的卡片的ID、类型、是否上场并添加到返回字符串
                            string command = string.Format("SELECT CardId,CardType,IsUsing FROM cardinventory WHERE CardOwnerId = '{0}'", playerID);
                            DataSet ds = MySQLHelper.GetDataSet(MySQLHelper.Conn, CommandType.Text, command, null);
                            foreach (DataRow row in ds.Tables[0].Rows)
                            {
                                JsonData rowJson = new JsonData();
                                rowJson["CardId"] = Convert.ToInt32(row["CardId"]);
                                rowJson["CardType"] = row["CardType"].ToString();
                                rowJson["IsUsing"] = Convert.ToBoolean(row["IsUsing"]);

                                json.Add(rowJson);
                            }

                            returnData = json.ToJson();

                            break;
                        }
                    case 2://英雄页
                        {
                            JsonData json = new JsonData();
                            json.SetJsonType(JsonType.Array);//设置为数组

                            //从数据库中获取玩家所有的英雄卡片的ID、是否上场并添加到返回字符串
                            string command = string.Format("SELECT CardId,IsUsing FROM cardinventory WHERE CardOwnerId = '{0}' AND CardType = '{1}'", playerID,"Character");
                            DataSet ds = MySQLHelper.GetDataSet(MySQLHelper.Conn, CommandType.Text, command, null);
                            foreach (DataRow row in ds.Tables[0].Rows)
                            {
                                JsonData rowJson = new JsonData();
                                rowJson["CardId"] = Convert.ToInt32(row["CardId"]);
                                rowJson["IsUsing"] = Convert.ToBoolean(row["IsUsing"]);

                                json.Add(rowJson);
                            }

                            returnData = json.ToJson();

                            break;
                        }
                    case 3://图鉴页
                        {
                            JsonData json = new JsonData();
                            json.SetJsonType(JsonType.Array);//设置为数组

                            //从数据库中获取玩家所有的英雄卡片的ID、是否上场并添加到返回字符串
                            string format = "SELECT *,COUNT(inv.CardId) AS OwnNum, " +
                                "MAX(inv.SpecialAttack + inv.SpecialEnergy+ inv.SpecialHealth+ inv.SpecialSpeed) AS Talent " +
                                "FROM cardinventory as inv " +
                                "LEFT JOIN card " +
                                "ON inv.CardId = card.CardId " +
                                "WHERE inv.CardOwnerId = {0} AND inv.CardType = {1}" +
                                "GROUP BY inv.CardId";
                            string command = string.Format(format, playerID, "Character");
                            DataSet ds = MySQLHelper.GetDataSet(MySQLHelper.Conn, CommandType.Text, command, null);
                            foreach (DataRow row in ds.Tables[0].Rows)
                            {
                                JsonData rowJson = new JsonData();
                                rowJson["CardId"] = Convert.ToInt32(row["CardId"]);
                                rowJson["CardName"] = Convert.ToString(row["CardName"]);
                                rowJson["OwnNum"] = Convert.ToInt32(row["OwnNum"]);
                                rowJson["MaxTalent"] = Convert.ToInt32(row["Talent"]);
                                rowJson["CardRarity"] = Convert.ToInt32(row["CardRarity"]);
                                rowJson["BaseHealth"] = Convert.ToInt32(row["BaseHealth"]);
                                rowJson["BaseEnergy"] = Convert.ToInt32(row["BaseEnergy"]);
                                rowJson["BaseAttack"] = Convert.ToInt32(row["BaseAttack"]);
                                rowJson["BaseSpeed"] = Convert.ToInt32(row["BaseSpeed"]);
                                rowJson["GrowHealth"] = Convert.ToInt32(row["GrowHealth"]);
                                rowJson["GrowEnergy"] = Convert.ToInt32(row["GrowEnergy"]);
                                rowJson["GrowAttack"] = Convert.ToInt32(row["GrowAttack"]);
                                rowJson["GrowSpeed"] = Convert.ToInt32(row["GrowSpeed"]);

                                json.Add(rowJson);
                            }

                            returnData = json.ToJson();

                            break;
                        }
                    case 4:
                        {
                            break;
                        }
                    default:
                        {
                            LogsSystem.Instance.Print("请求访问的类型非法非法:" + type, LogLevel.WARN);
                            returnCode = ReturnCode.Failed;//请求失败
                            return null;
                        }
                }
                data.returnData = returnData;
            }
            else
            {
                LogsSystem.Instance.Print("UUID非法:" + playerUUID, LogLevel.WARN);
                returnCode = ReturnCode.Failed;//请求失败
                return null;
            }

            //重新封装
            SocketModel model = new SocketModel();
            model.returnCode = returnCode;
            model.protocol = SocketProtocol.INVINFO;
            model.message = JsonCoding<InvInfoDTO>.encode(data);

            return model;
        }