public void Fill(Component com, MyJson.IJsonNode json)
    {
        MeshRenderer t = com as MeshRenderer;

        t.castShadows    = json.GetDictItem("castShadows").AsBool();
        t.receiveShadows = json.GetDictItem("receiveShadows").AsBool();
        t.useLightProbes = json.GetDictItem("useLightProbes").AsBool();
        List <Material> mats = new List <Material>();

        foreach (var item in json.GetDictItem("materials").AsList())
        {
            Material mat = new Material(Shader.Find(item.GetDictItem("shader").AsString()));
            mat.name = item.GetDictItem("name").AsString();
            List <string> keywords = new List <string>();
            foreach (var key in item.GetDictItem("shaderkeyword").AsList())
            {
                keywords.Add(key.AsString());
            }
            mat.shaderKeywords = keywords.ToArray();
            if (item.HaveDictItem("maintex"))
            {
                mat.mainTexture = AssetMgr.Instance.GetTexture(item.GetDictItem("maintex").AsString());
            }
            mats.Add(mat);
        }
        t.sharedMaterials = mats.ToArray();
    }
Beispiel #2
0
        public int Cmd_CreateChar(string name, int side, MyJson.IJsonNode param)
        {
            //Debug.LogError("Cmd_CreateChar name= " + name);
            if (roleroot == null)
            {
                roleroot = GameObject.Find("role");
                if (roleroot == null)
                {
                    roleroot = new GameObject("role");
                }
            }

            GameObject inst = null;

            if (world.extplayer != null)
            {
                inst = (world.extplayer as IResourceMgr).CreateChar(name);
            }
            else
            {
                inst = GameObject.Instantiate(Resources.Load <GameObject>(name));
            }
            //if (reloadObjMap.ContainsKey(name))
            //{
            //    inst = GameObject.Instantiate(reloadObjMap[name]);
            //}
            inst.SetActive(true);
            inst.transform.SetParent(roleroot.transform, true);
            freeid++;
            createChars[freeid] = new FB.FFSM.GraphChar_Driver(freeid, inst.transform, world, true);
            return(freeid);
        }
Beispiel #3
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        MeshFilter t = com as MeshFilter;

        MyJson.JsonNode_Object obj = json as MyJson.JsonNode_Object;
        t.sharedMesh = AssetMgr.Instance.GetMesh(obj["mesh"].ToString());
    }
Beispiel #4
0
    void check_plat_notify(MyJson.IJsonNode json)
    {
        b_notify_need_refresh = false;

        var json_pending = json.AsDict()["pending"].AsList();

        if (json_pending.Count > 0)
        {//有pending数据,开启定时器
            b_notify_need_refresh = true;
        }

        var json_complete = json.AsDict()["complete"].AsList();

        if (json_complete.Count > 0)
        {
            foreach (var item in json_complete)
            {
                string txid = item.AsDict()["txid"].ToString();
                string ext  = item.AsDict()["ext"].ToString();
                if (!m_platNotifyTxids.ContainsKey(txid))
                {
                    //notify
                    do_plat_notify(item, ext);

                    m_platNotifyTxids[txid] = 1;
                }
            }
        }
    }
Beispiel #5
0
 void dapp_EmitParam(ThinNeo.ScriptBuilder sb, MyJson.IJsonNode param)
 {
     if (param is MyJson.JsonNode_ValueNumber)//bool 或小整数
     {
         sb.EmitParamJson(param);
     }
     else if (param is MyJson.JsonNode_Array)
     {
         var list = param.AsList();
         for (var i = list.Count - 1; i >= 0; i--)
         {
             dapp_EmitParam(sb, list[i]);
         }
         sb.EmitPushNumber(param.AsList().Count);
         sb.Emit(ThinNeo.VM.OpCode.PACK);
     }
     else if (param is MyJson.JsonNode_ValueString)//复杂格式
     {
         var str   = param.AsString();
         var bytes = dapp_getCallParam(str);
         sb.EmitPushBytes(bytes);
     }
     else
     {
         throw new Exception("should not pass a {}");
     }
 }
Beispiel #6
0
    public void do_plat_notify(MyJson.IJsonNode json_complete, string ext = "")
    {
        string txid = json_complete.AsDict()["txid"].ToString();

        switch (json_complete.AsDict()["type"].ToString())
        {
        case "2":     //sgas->gas退款
            if (json_complete.AsDict()["state"].ToString() == "1")
            {
                if (ext == "")
                {    //sgas->utxo确认
                    sdk_http._instance.transform_sgas_gas2(json_complete);
                }
                else
                {    //utxo->gas提交成功,循环获取结果
                    doPlatNotifyRefundRes(txid, ext);
                }
            }
            else
            {
                api_tool._instance.walletNotify(roleInfo.getInstance().uid, roleInfo.getInstance().token, txid, global.netType, null);
            }
            break;
        }
    }
Beispiel #7
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        LGButton btn   = com as LGButton;
        var      jsono = json as MyJson.JsonNode_Object;

        btn.Tag  = jsono["Tag"] as MyJson.JsonNode_ValueString;
        btn.Team = jsono["Team"] as MyJson.JsonNode_ValueString;
    }
Beispiel #8
0
        public static void init(string configPath)
        {
            configJson = MyJson.Parse(File.ReadAllText(configPath));

            GasLimit["NEP5Transfer"]       = Fixed8.FromDecimal(4500);
            GasLimit["NativeNEP5Transfer"] = Fixed8.FromDecimal(1000);
            GasLimit["BCPTransfer"]        = Fixed8.FromDecimal(1000);
        }
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        BoxCollider2D t = com as BoxCollider2D;
        var jsono = json as MyJson.JsonNode_Object;

        t.isTrigger = jsono["isTrigger"] as MyJson.JsonNode_ValueNumber;
        t.center = ComponentTypeConvert.StringToVector3(jsono["center"] as MyJson.JsonNode_ValueString);
        t.size = ComponentTypeConvert.StringToVector3(jsono["size"] as MyJson.JsonNode_ValueString);
    }
Beispiel #10
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        Transform t     = com as Transform;
        var       jsono = json as MyJson.JsonNode_Object;

        t.localPosition    = ComponentTypeConvert.StringToVector3(jsono["P"] as MyJson.JsonNode_ValueString);
        t.localEulerAngles = ComponentTypeConvert.StringToVector3(jsono["R"] as MyJson.JsonNode_ValueString);
        t.localScale       = ComponentTypeConvert.StringToVector3(jsono["S"] as MyJson.JsonNode_ValueString);
    }
Beispiel #11
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIDragDropContainer t = com as UIDragDropContainer;
        var jsono             = json as MyJson.JsonNode_Object;

        if (jsono.ContainsKey("reparentTarget"))
        {
            t.reparentTarget = (GameObjParser.IDToObj(jsono["reparentTarget"] as MyJson.JsonNode_ValueNumber)).transform;
        }
    }
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        MeshCollider t     = com as MeshCollider;
        var          jsono = json as MyJson.JsonNode_Object;

        t.isTrigger              = jsono["isTrigger"] as MyJson.JsonNode_ValueNumber;
        t.sharedMesh             = AssetMgr.Instance.GetMesh(jsono["mesh"].ToString());
        t.convex                 = json.GetDictItem("convex").AsBool();
        t.smoothSphereCollisions = json.GetDictItem("smoothSphereCollisions").AsBool();
    }
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIDragScrollView t = com as UIDragScrollView;
        var jsono          = json as MyJson.JsonNode_Object;

        if (jsono.ContainsKey("scrollView"))
        {
            t.scrollView = (GameObjParser.IDToObj(jsono["scrollView"] as MyJson.JsonNode_ValueNumber)).GetComponent <UIScrollView>();
        }
    }
Beispiel #14
0
    /// <summary>
    /// 从json写入二进制流
    /// </summary>
    /// <param name="stream">二进制流</param>
    /// <param name="node">json</param>
    /// <param name="pubdict">一个字符串字典(可选)如果字典里有的字符串,保存只记录一个索引,但是需要字典才能读出来</param>
    /// <param name="riseDictByKey">是否把key添加到字典中(默认为false)</param>
    /// <param name="riseDictByString">是否把String值添加到字典中(默认为false)</param>
    public static void Write(System.IO.Stream stream, MyJson.IJsonNode node, IList <string> pubdict = null, bool riseDictByKey = false, bool riseDictByString = false)
    {
        List <string> localdict = new List <string>();

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        PackJson(ms, node, pubdict, localdict, riseDictByKey, riseDictByString);
        byte[] data = ms.ToArray();
        ms.Close();
        WriteStrDict(stream, localdict);
        stream.Write(data, 0, data.Length);
    }
Beispiel #15
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIAnchor t     = com as UIAnchor;
        var      jsono = json as MyJson.JsonNode_Object;

        t.uiCamera       = GameObjParser.IDToComponent <Camera>(jsono["uiCamera"] as MyJson.JsonNode_ValueNumber);
        t.container      = GameObjParser.IDToObj(jsono["container"] as MyJson.JsonNode_ValueNumber);
        t.side           = (UIAnchor.Side)Enum.Parse(typeof(UIAnchor.Side), jsono["side"] as MyJson.JsonNode_ValueString);
        t.runOnlyOnce    = jsono["runOnlyOnce"] as MyJson.JsonNode_ValueNumber;
        t.relativeOffset = ComponentTypeConvert.StringToVector2(jsono["relativeOffset"] as MyJson.JsonNode_ValueString);
        t.pixelOffset    = ComponentTypeConvert.StringToVector2(jsono["pixelOffset"] as MyJson.JsonNode_ValueString);
    }
Beispiel #16
0
    static void FillGameObject(MyJson.JsonNode_Object json, GameObject obj)
    {
        string name = json["name"] as MyJson.JsonNode_ValueString;

        if (obj.name != name)
        {
            Debug.LogError("物件名字对不上" + obj.name + "," + name);
        }
        MyJson.IJsonNode ctrans = null;
        foreach (MyJson.JsonNode_Object c in json["coms"] as MyJson.JsonNode_Array)
        {
            //Debug.Log(c.ToString());
            string type = c["type"] as MyJson.JsonNode_ValueString;
            if (type.Contains("UnityEngine."))
            {
                type = type.Substring("UnityEngine.".Length);
            }
            if (type == "Transform")
            {
                ctrans = c["param"];
                continue;
            }
            var com = obj.GetComponent(type);
            if (com == null)
            {
                Debug.LogError("type:" + type);
            }
            ComponentParser.Instance.GetParser(com.GetType()).Fill(com, c["param"]);
        }
        if (ctrans != null)
        {
            ComponentParser.Instance.GetParser(typeof(Transform)).Fill(obj.transform, ctrans);
        }
        if (json.ContainsKey("child"))
        {
            for (int i = 0; i < (json["child"] as MyJson.JsonNode_Array).Count; i++)
            {
                MyJson.JsonNode_Object c = (json["child"] as MyJson.JsonNode_Array)[i] as MyJson.JsonNode_Object;
                string childname         = c["name"] as MyJson.JsonNode_ValueString;
                for (int j = 0; j < obj.transform.childCount; j++)
                {
                    GameObject o = obj.transform.GetChild(j).gameObject;
                    if (o.name == childname)
                    {
                        FillGameObject(c, o);
                        continue;
                    }
                }
            }
        }
    }
Beispiel #17
0
    public static GameObject FromJson(MyJson.IJsonNode json, GameObject parent = null)
    {
        //建立OBJ树和idcache
        objidcache.Clear();
        var obj = ResumeGameObject(json as MyJson.JsonNode_Object, parent);

        //处理obj组件
        FillGameObject(json as MyJson.JsonNode_Object, obj);

        objidcache.Clear();

        EnableGameObject(json as MyJson.JsonNode_Object, obj);
        return(obj);
    }
Beispiel #18
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIScrollView sv    = com as UIScrollView;
        var          jsono = json as MyJson.JsonNode_Object;

        sv.movement            = (UIScrollView.Movement)Enum.Parse(typeof(UIScrollView.Movement), jsono["movement"] as MyJson.JsonNode_ValueString);
        sv.dragEffect          = (UIScrollView.DragEffect)Enum.Parse(typeof(UIScrollView.DragEffect), jsono["dragEffect"] as MyJson.JsonNode_ValueString);
        sv.scrollWheelFactor   = jsono["scrollWheelFactor"] as MyJson.JsonNode_ValueNumber;
        sv.momentumAmount      = jsono["momentumAmount"] as MyJson.JsonNode_ValueNumber;
        sv.restrictWithinPanel = jsono["restrictWithinPanel"] as MyJson.JsonNode_ValueNumber;
        sv.disableDragIfFits   = jsono["disableDragIfFits"] as MyJson.JsonNode_ValueNumber;
        sv.smoothDragStart     = jsono["smoothDragStart"] as MyJson.JsonNode_ValueNumber;
        sv.iOSDragEmulation    = jsono["iOSDragEmulation"] as MyJson.JsonNode_ValueNumber;
    }
Beispiel #19
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIGrid t     = com as UIGrid;
        var    jsono = json as MyJson.JsonNode_Object;

        t.arrangement     = (UIGrid.Arrangement)Enum.Parse(typeof(UIGrid.Arrangement), jsono["arrangement"] as MyJson.JsonNode_ValueString);
        t.sorting         = (UIGrid.Sorting)Enum.Parse(typeof(UIGrid.Sorting), jsono["sorting"] as MyJson.JsonNode_ValueString);
        t.pivot           = (UIWidget.Pivot)Enum.Parse(typeof(UIWidget.Pivot), jsono["pivot"] as MyJson.JsonNode_ValueString);
        t.maxPerLine      = jsono["maxPerLine"] as MyJson.JsonNode_ValueNumber;
        t.cellWidth       = jsono["cellWidth"] as MyJson.JsonNode_ValueNumber;
        t.cellHeight      = jsono["cellHeight"] as MyJson.JsonNode_ValueNumber;
        t.animateSmoothly = jsono["animateSmoothly"] as MyJson.JsonNode_ValueNumber;
        t.hideInactive    = jsono["hideInactive"] as MyJson.JsonNode_ValueNumber;
        t.keepWithinPanel = jsono["keepWithinPanel"] as MyJson.JsonNode_ValueNumber;
    }
Beispiel #20
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIToggle t     = com as UIToggle;
        var      jsono = json as MyJson.JsonNode_Object;

        //t.group = jsono["group"] as MyJson.JsonNode_ValueNumber;
        //t.value = jsono["value"] as MyJson.JsonNode_ValueNumber;
        //	t.activeSprite = jsono["sprite"] as MyJson.JsonNode_ValueString;
        //	t.onChange = jsono["onChange"] as MyJson.JsonNode_ValueString;
        //
        if (jsono.ContainsKey("activeSprite"))
        {
            t.activeSprite = (GameObjParser.IDToObj(jsono["activeSprite"] as MyJson.JsonNode_ValueNumber)).GetComponent <UISprite>();
        }
    }
Beispiel #21
0
            public static ResultItem FromJson(string type, MyJson.IJsonNode value)
            {
                ResultItem item = new ResultItem();

                if (type == "Array")
                {
                    item.subItem = new ResultItem[value.AsList().Count];
                    for (var i = 0; i < item.subItem.Length; i++)
                    {
                        var subjson = value.AsList()[i].AsDict();
                        var subtype = subjson["type"].AsString();
                        item.subItem[i] = FromJson(subtype, subjson["value"]);
                    }
                }
                else if (type == "ByteArray")
                {
                    item.data = ThinNeo.Helper.HexString2Bytes(value.AsString());
                }
                else if (type == "Integer")
                {
                    item.data = System.Numerics.BigInteger.Parse(value.AsString()).ToByteArray();
                }
                else if (type == "Boolean")
                {
                    if (value.AsBool())
                    {
                        item.data = new byte[1] {
                            0x01
                        }
                    }
                    ;
                    else
                    {
                        item.data = new byte[0];
                    }
                }
                else if (type == "String")
                {
                    item.data = System.Text.Encoding.UTF8.GetBytes(value.AsString());
                }
                else
                {
                    throw new Exception("not support type:" + type);
                }
                return(item);
            }
Beispiel #22
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        Light t = com as Light;

        t.type = (LightType)json.GetDictItem("type").AsInt();
        if (t.type == LightType.Spot)
        {
            t.range     = (float)json.GetDictItem("range").AsDouble();
            t.spotAngle = (float)json.GetDictItem("spotangle").AsDouble();
        }
        if (t.type == LightType.Point)
        {
            t.range = (float)json.GetDictItem("range").AsDouble();
        }

        if (t.type != LightType.Area)
        {
            t.color     = ComponentTypeConvert.StringToColor(json.GetDictItem("color").AsString());
            t.intensity = (float)json.GetDictItem("intensity").AsDouble();

            //t.cookie
            //t.cookiesize
            t.shadows = (LightShadows)json.GetDictItem("shadowtype").AsInt();

            if (t.shadows != LightShadows.None)
            {
                t.shadowStrength = (float)json.GetDictItem("shadowStrength").AsDouble();
                t.shadowBias     = (float)json.GetDictItem("shadowBias").AsDouble();
                //shadow质量找不到怎么操作
            }

            if (t.shadows == LightShadows.Soft)
            {
                t.shadowSoftness     = (float)json.GetDictItem("shadowSoftness").AsDouble();
                t.shadowSoftnessFade = (float)json.GetDictItem("shadowSoftnessFade").AsDouble();
            }
            //Drawhalo not found
            //flare
            t.renderMode = (LightRenderMode)json.GetDictItem("renderMode").AsInt();

            json.SetDictValue("renderMode", (int)t.renderMode);
            t.cullingMask = json.GetDictItem("cullingMask").AsInt();

            //lightmapping not found
        }
    }
Beispiel #23
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UILabel t     = com as UILabel;
        var     jsono = json as MyJson.JsonNode_Object;

        //font 有特殊的打包逻辑
        if (jsono.ContainsKey("bfont"))
        {
            string bfontname = jsono["bfont"] as MyJson.JsonNode_ValueString;
            t.bitmapFont = FontMgr.Instance.GetUIFont(bfontname);
        }
        else if (jsono.ContainsKey("tfont"))
        {
            string tfontname = jsono["tfont"] as MyJson.JsonNode_ValueString;
            t.trueTypeFont = FontMgr.Instance.GetUnityFont(tfontname);
        }
        else
        {
            Debug.LogWarning("UILabel" + com.name + " 未指定Font");
        }
        t.fontSize = (jsono["fontsize"] as MyJson.JsonNode_ValueNumber);


        //材质有特殊的打包逻辑
        //json["mate"] = t.material;


        t.text                = jsono["text"] as MyJson.JsonNode_ValueString;
        t.overflowMethod      = (UILabel.Overflow)Enum.Parse(typeof(UILabel.Overflow), jsono["overflowMethod"] as MyJson.JsonNode_ValueString);
        t.alignment           = (NGUIText.Alignment)Enum.Parse(typeof(NGUIText.Alignment), jsono["alignment"] as MyJson.JsonNode_ValueString);
        t.keepCrispWhenShrunk = (UILabel.Crispness)Enum.Parse(typeof(UILabel.Crispness), jsono["keepCrispWhenShrunk"] as MyJson.JsonNode_ValueString);
        t.applyGradient       = (jsono["applyGradient"] as MyJson.JsonNode_ValueNumber);
        t.gradientTop         = ComponentTypeConvert.StringToColor(jsono["gradientTop"] as MyJson.JsonNode_ValueString);
        t.gradientBottom      = ComponentTypeConvert.StringToColor(jsono["gradientBottom"] as MyJson.JsonNode_ValueString);
        t.effectStyle         = (UILabel.Effect)Enum.Parse(typeof(UILabel.Effect), jsono["effectStyle"] as MyJson.JsonNode_ValueString);
        t.effectColor         = ComponentTypeConvert.StringToColor(jsono["effectColor"] as MyJson.JsonNode_ValueString);
        t.effectDistance      = ComponentTypeConvert.StringToVector2(jsono["effectDistance"] as MyJson.JsonNode_ValueString);
        var spacing = ComponentTypeConvert.StringToVector2(jsono["spacing"] as MyJson.JsonNode_ValueString);

        t.spacingX     = (int)spacing.x;
        t.spacingY     = (int)spacing.y;
        t.maxLineCount = (jsono["maxLineCount"] as MyJson.JsonNode_ValueNumber);

        ComponentParser.FillWidget(t, jsono);
    }
Beispiel #24
0
        public static async Task <Result> api_InvokeScript(Hash160 scripthash, string methodname, params string[] subparam)
        {
            byte[] data = null;
            using (ScriptBuilder sb = new ScriptBuilder())
            {
                MyJson.JsonNode_Array array = new MyJson.JsonNode_Array();
                if (subparam != null && subparam.Length > 0)
                {
                    for (var i = 0; i < subparam.Length; i++)
                    {
                        array.AddArrayValue(subparam[i]);
                    }
                }
                sb.EmitParamJson(array);
                sb.EmitPushString(methodname);
                sb.EmitAppCall(scripthash);
                data = sb.ToArray();
            }
            string script = ThinNeo.Helper.Bytes2HexString(data);

            byte[] postdata;
            var    url  = Helper.MakeRpcUrlPost(Config.api, "invokescript", out postdata, new MyJson.JsonNode_ValueString(script));
            var    text = await Helper.HttpPost(url, postdata);

            MyJson.JsonNode_Object json = MyJson.Parse(text) as MyJson.JsonNode_Object;

            Console.WriteLine("json = " + json);

            Result rest = new Result();

            rest.textInfo = text;
            if (json.ContainsKey("result"))
            {
                var result = json["result"].AsList()[0].AsDict()["stack"].AsList();

                var type = result.AsList()[0].AsDict()["type"].AsString();

                MyJson.IJsonNode value = result.AsList()[0].AsDict()["value"] as MyJson.IJsonNode;

                rest.value = ResultItem.FromJson(type, value);
            }

            return(rest); //subPrintLine("得到的结果是:" + result);
        }
Beispiel #25
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UISprite t     = com as UISprite;
        var      jsono = json as MyJson.JsonNode_Object;

        //t.atlas atlas 有特殊的打包逻辑
        string atlas = jsono["atlas"] as MyJson.JsonNode_ValueString;

        t.atlas = AtlasMgr.Instance.GetAtlas(atlas);
        //Debug.Log("atals:" + atlas + "," + t.atlas);
        t.spriteName = jsono["spriteName"] as MyJson.JsonNode_ValueString;
        t.type       = (UISprite.Type)Enum.Parse(typeof(UISprite.Type), jsono["spriteType"] as MyJson.JsonNode_ValueString);
        if (t.type == UISprite.Type.Simple)
        {
            t.flip = (UISprite.Flip)Enum.Parse(typeof(UISprite.Flip), jsono["flip"] as MyJson.JsonNode_ValueString);
        }
        else if (t.type == UISprite.Type.Sliced)
        {
            t.centerType = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["centerType"] as MyJson.JsonNode_ValueString);
            t.flip       = (UISprite.Flip)Enum.Parse(typeof(UISprite.Flip), jsono["flip"] as MyJson.JsonNode_ValueString);
        }
        else if (t.type == UISprite.Type.Tiled)
        {
        }
        else if (t.type == UISprite.Type.Filled)
        {
            t.flip          = (UISprite.Flip)Enum.Parse(typeof(UISprite.Flip), jsono["flip"] as MyJson.JsonNode_ValueString);
            t.fillDirection = (UISprite.FillDirection)Enum.Parse(typeof(UISprite.FillDirection), jsono["fillDirection"] as MyJson.JsonNode_ValueString);
            t.fillAmount    = jsono["fillAmount"] as MyJson.JsonNode_ValueNumber;
            t.invert        = jsono["invert"] as MyJson.JsonNode_ValueNumber;
        }
        else if (t.type == UISprite.Type.Advanced)
        {
            t.leftType   = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["leftType"] as MyJson.JsonNode_ValueString);
            t.rightType  = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["rightType"] as MyJson.JsonNode_ValueString);
            t.topType    = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["topType"] as MyJson.JsonNode_ValueString);
            t.bottomType = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["bottomType"] as MyJson.JsonNode_ValueString);
            t.centerType = (UISprite.AdvancedType)Enum.Parse(typeof(UISprite.AdvancedType), jsono["centerType"] as MyJson.JsonNode_ValueString);
            t.flip       = (UISprite.Flip)Enum.Parse(typeof(UISprite.Flip), jsono["flip"] as MyJson.JsonNode_ValueString);
        }
        ComponentParser.FillWidget(t, jsono);
    }
Beispiel #26
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        //Debug.Log(json.ToString());
        UIPanel t     = com as UIPanel;
        var     jsono = json as MyJson.JsonNode_Object;

        t.alpha    = jsono["alpha"] as MyJson.JsonNode_ValueNumber;
        t.depth    = jsono["depth"] as MyJson.JsonNode_ValueNumber;
        t.clipping = (UIDrawCall.Clipping)Enum.Parse(typeof(UIDrawCall.Clipping), jsono["clipping"] as MyJson.JsonNode_ValueString);
        if (t.clipping != UIDrawCall.Clipping.None)
        {
            t.clipOffset     = ComponentTypeConvert.StringToVector2(jsono["offset"] as MyJson.JsonNode_ValueString);
            t.baseClipRegion = ComponentTypeConvert.StringToVector4(jsono["region"] as MyJson.JsonNode_ValueString);

            if (t.clipping == UIDrawCall.Clipping.SoftClip)
            {
                t.clipSoftness = ComponentTypeConvert.StringToVector2(jsono["softness"] as MyJson.JsonNode_ValueString);
            }
        }
    }
Beispiel #27
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIButton t     = com as UIButton;
        var      jsono = json as MyJson.JsonNode_Object;

        t.tweenTarget   = GameObjParser.IDToObj(jsono["tweenTarget"] as MyJson.JsonNode_ValueNumber);
        t.dragHighlight = jsono["dragHighlight"] as MyJson.JsonNode_ValueNumber;
        t.duration      = jsono["duration"] as MyJson.JsonNode_ValueNumber;

        t.defaultColor  = ComponentTypeConvert.StringToColor(jsono["colorN"] as MyJson.JsonNode_ValueString);
        t.hover         = ComponentTypeConvert.StringToColor(jsono["colorH"] as MyJson.JsonNode_ValueString);
        t.pressed       = ComponentTypeConvert.StringToColor(jsono["colorP"] as MyJson.JsonNode_ValueString);
        t.disabledColor = ComponentTypeConvert.StringToColor(jsono["colorD"] as MyJson.JsonNode_ValueString);

        t.normalSprite   = jsono["spriteN"] as MyJson.JsonNode_ValueString;
        t.hoverSprite    = jsono["springH"] as MyJson.JsonNode_ValueString;
        t.pressedSprite  = jsono["springP"] as MyJson.JsonNode_ValueString;
        t.disabledSprite = jsono["springD"] as MyJson.JsonNode_ValueString;
        t.pixelSnap      = jsono["pixelSnap"] as MyJson.JsonNode_ValueNumber;
    }
Beispiel #28
0
        MyJson.JsonNode_Object getJsonResult(MyJson.JsonNode_Array json, string pos)
        {
            var pp = pos.Split(new char[] { '[', ']' }, StringSplitOptions.RemoveEmptyEntries);

            if (pp[0] == "result")
            {
                MyJson.IJsonNode value = json;

                for (var i = 1; i < pp.Length; i++)
                {
                    if (value is MyJson.JsonNode_Object && value.AsDict()["type"].AsString() == "Array")
                    {
                        value = value.AsDict()["value"];
                    }
                    var index = int.Parse(pp[i]);
                    value = value.AsList()[index];
                }
                return(value.AsDict());
            }
            return(null);
        }
Beispiel #29
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UISlider t     = com as UISlider;
        var      jsono = json as MyJson.JsonNode_Object;

        t.value         = jsono["value"] as MyJson.JsonNode_ValueNumber;
        t.alpha         = jsono["alpha"] as MyJson.JsonNode_ValueNumber;
        t.numberOfSteps = jsono["numberOfSteps"] as MyJson.JsonNode_ValueNumber;
        if (jsono.ContainsKey("foregroundWidget"))
        {
            t.foregroundWidget = (GameObjParser.IDToObj(jsono["foregroundWidget"] as MyJson.JsonNode_ValueNumber)).GetComponent <UISprite>();
        }
        if (jsono.ContainsKey("backgroundWidget"))
        {
            t.backgroundWidget = (GameObjParser.IDToObj(jsono["backgroundWidget"] as MyJson.JsonNode_ValueNumber)).GetComponent <UISprite>();
        }
        if (jsono.ContainsKey("thumb"))
        {
            t.thumb = (GameObjParser.IDToObj(jsono["thumb"] as MyJson.JsonNode_ValueNumber)).transform;
        }
        t.fillDirection = (UIProgressBar.FillDirection)Enum.Parse(typeof(UIProgressBar.FillDirection), jsono["fillDirection"] as MyJson.JsonNode_ValueString);
    }
Beispiel #30
0
    public void Fill(Component com, MyJson.IJsonNode json)
    {
        UIInput inp   = com as UIInput;
        var     jsono = json as MyJson.JsonNode_Object;

        if (jsono.ContainsKey("label"))
        {
            inp.label = GameObjParser.IDToComponent <UILabel>(jsono["label"] as MyJson.JsonNode_ValueNumber);
        }
        inp.value           = jsono["value"] as MyJson.JsonNode_ValueString;
        inp.savedAs         = jsono["savedAs"] as MyJson.JsonNode_ValueString;
        inp.activeTextColor = ComponentTypeConvert.StringToColor(jsono["activeTextColor"] as MyJson.JsonNode_ValueString);
        inp.caretColor      = ComponentTypeConvert.StringToColor(jsono["caretColor"] as MyJson.JsonNode_ValueString);
        inp.selectionColor  = ComponentTypeConvert.StringToColor(jsono["selectionColor"] as MyJson.JsonNode_ValueString);
        if (jsono.ContainsKey("selectOnTab"))
        {
            inp.selectOnTab = GameObjParser.IDToObj(jsono["selectOnTab"] as MyJson.JsonNode_ValueNumber);
        }
        inp.inputType      = (UIInput.InputType)Enum.Parse(typeof(UIInput.InputType), jsono["inputType"] as MyJson.JsonNode_ValueString);
        inp.validation     = (UIInput.Validation)Enum.Parse(typeof(UIInput.Validation), jsono["validation"] as MyJson.JsonNode_ValueString);
        inp.characterLimit = jsono["characterLimit"] as MyJson.JsonNode_ValueNumber;
    }