Esempio n. 1
0
    /// <summary>
    /// 反序列化一场战斗
    /// </summary>
    private void DeserializeBattleField()
    {
        if (!File.Exists(outputPath))
        {
            UnityEditor.EditorUtility.DisplayDialog("错误", "找不到战斗序列化文件,请先序列化一场战斗...", "得嘞");
            return;
        }
        battleField?.Return();
        battleField = BattleField.Create();
        using (TextReader rt = new StreamReader(outputPath))
        {
            LitJson.JsonReader jsonReader = new LitJson.JsonReader(rt);
            var dh = DeserializeHelper.Create();
            dh.ObjectDeserializeCallback = delegate(string propertyName, JsonReader reader)
            {
                if (propertyName == "battleField")
                {
                    battleField.Deserialize(reader);
                    return(true);
                }
                return(false);
            };
            //开始反序列化
            dh.Deserialize(jsonReader, true);
        }

        Debug.Log("反序列化完成");

        //对反序列化战场进行序列化
        if (battleField != null)
        {
            SerializeBattleFieldToPath(mirrorOutputPath);
        }
    }
Esempio n. 2
0
        //ToDo generic?
        public void Receive(object obj)
        {
            var message = DeserializeHelper <T> .Deserialize(obj.ToString());

            if (message != null)
            {
                Handling.Invoke(message);
            }
        }
Esempio n. 3
0
    // Use this for initialization
    void Start()
    {
        this.virtualPos = this.transform.position;

        AStarConfig config = new AStarConfig();

        config.graphs = DeserializeHelper.Load(this.Graph.bytes);

        MoveUpdate();
    }
    public void Deserialize(JsonReader jsonReader)
    {
        if (jsonReader == null)
        {
            return;
        }

        DeserializeHelper dh = DeserializeHelper.Create();

        dh.IntDeserializeCallback = IntDeserialize;
        dh.Deserialize(jsonReader, true);
    }
        public static string ImportComments(InstagraphContext context, string xmlString)
        {
            var xml = XElement.Parse(xmlString);

            var jArray = new JArray();

            foreach (var item in xml.Elements())
            {
                var content  = item.Element("content")?.Value;
                var username = item.Element("user")?.Value;
                var postId   = item.Element("post")?.Attribute("id")?.Value;

                jArray.Add(new JObject(
                               new JProperty("content", content),
                               new JProperty("user", username),
                               new JProperty("postId", postId)));
            }

            var commentsJson = JsonConvert.SerializeObject(jArray, Newtonsoft.Json.Formatting.Indented, new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Ignore
            });

            var comments = JsonConvert.DeserializeObject <List <CommentImportDTO> >(commentsJson);
            var result   = new StringBuilder();

            comments.ForEach(c =>
            {
                if (DeserializeHelper.IsUserExist(c.User, context) &&
                    DeserializeHelper.IsPostExist(c.PostId, context))
                {
                    var user = context.Users.First(u => u.Username == c.User);
                    var post = context.Posts.Find(int.Parse(c.PostId));

                    var comment = Mapper.Map <Comment>(c, opt =>
                    {
                        opt.Items["User"]   = user;
                        opt.Items["UserId"] = user.Id;
                        opt.Items["Post"]   = post;
                        opt.Items["PostId"] = post.Id;
                    });
                    context.Comments.Add(comment);
                    result.AppendLine($"Successfully imported Comment {c.Content}.");
                }
                else
                {
                    result.AppendLine(Constants.ErrorInvalidData);
                }
            });
            context.SaveChanges();
            return(result.ToString());
        }
 public ActionResult Upload(HttpPostedFileBase file)
 {
     try
     {
         var DataFile = DeserializeHelper.Deserialize <JSONFile>(file.InputStream);
         TempData["file"] = DataFile;
     }
     catch (Exception)
     {
         ViewBag.ErrorMessage = "Invalid file type. Please upload a JSON file in the correct format!";
         return(View("Index"));
     }
     return(RedirectToAction("Index", "Main"));
 }
		protected override void DeserializeObject(
			object obj,
			IXtraPropertyCollection store,
			OptionsLayoutBase options)
		{
			if (options == null)
				options = OptionsLayoutBase.FullLayout;
			if (store == null)
				return;
			var coll = new XtraPropertyCollection();
			coll.AddRange(store);
			var helper = new DeserializeHelper(obj, false);
			helper.DeserializeObject(obj, coll, options);
		}
    /// <summary>
    /// 反序列化战场
    /// </summary>
    /// <param name="jsonReader"></param>
    public void Deserialize(JsonReader jsonReader)
    {
        if (jsonReader == null)
        {
            return;
        }

        DeserializeHelper dh = DeserializeHelper.Create();

        //反序列化对象(暂时只有地图)
        dh.ObjectDeserializeCallback = ObjectDeserialize;
        //反序列化数组(暂时只有战斗单位)
        dh.ArrayDeserializeCallback = ArrayDeserialize;
        dh.Deserialize(jsonReader, true);
    }
        protected override void DeserializeObject(
            object obj,
            IXtraPropertyCollection store,
            OptionsLayoutBase options)
        {
            options ??= OptionsLayoutBase.FullLayout;
            if (store == null)
            {
                return;
            }
            var coll = new XtraPropertyCollection();

            coll.AddRange(store);
            var helper = new DeserializeHelper(obj, false);

            helper.DeserializeObject(obj, coll, options);
        }
        public static string ImportPosts(InstagraphContext context, string xmlString)
        {
            var xmlPosts = XDocument.Parse(xmlString);

            var jArray = new JArray();

            foreach (var item in xmlPosts.Root.Elements())
            {
                jArray.Add(new JObject(
                               new JProperty("caption", item.Element("caption")?.Value),
                               new JProperty("user", item.Element("user")?.Value),
                               new JProperty("picture", item.Element("picture")?.Value)));
            }

            var jsonPosts = JsonConvert.SerializeObject(jArray, Newtonsoft.Json.Formatting.Indented,
                                                        new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Ignore
            });

            var posts = JsonConvert.DeserializeObject <List <PostImportDTO> >(jsonPosts);

            var result = new StringBuilder();

            posts.ForEach(p =>
            {
                if (DeserializeHelper.IsUserExist(p.User, context) &&
                    DeserializeHelper.IsPictureExist(p.Picture, context))
                {
                    var user    = context.Users.First(u => u.Username == p.User);
                    var picture = context.Pictures.First(p2 => p2.Path == p.Picture);
                    var post    = Mapper.Map <Post>(p, opt => { opt.Items["User"] = user; opt.Items["Picture"] = picture; });
                    context.Posts.Add(post);
                    result.AppendLine($"Successfully imported Post {p.Caption}.");
                }
                else
                {
                    result.AppendLine(Constants.ErrorInvalidData);
                }
            });
            context.SaveChanges();
            return(result.ToString());
        }
        public static string ImportPictures(InstagraphContext context, string jsonString)
        {
            var pictures = JsonConvert.DeserializeObject <List <Picture> >(jsonString);

            var result = new StringBuilder();

            pictures.ForEach(p =>
            {
                if (DeserializeHelper.IsPictureValid(p, pictures))
                {
                    context.Pictures.Add(p);
                    result.AppendLine($"Successfully imported Picture {p.Path}.");
                }
                else
                {
                    result.AppendLine(Constants.ErrorInvalidData);
                }
            });
            context.SaveChanges();
            return(result.ToString());
        }
        public static string ImportUsers(InstagraphContext context, string jsonString)
        {
            var users = JsonConvert.DeserializeObject <List <UserImportDTO> >(jsonString);

            var result = new StringBuilder();

            users.ForEach(u =>
            {
                if (DeserializeHelper.IsUserValid(u, context))
                {
                    var profilePicture = context.Pictures.FirstOrDefault(p => p.Path == u.ProfilePicture);
                    var user           = Mapper.Map <User>(u, opt => opt.Items["ProfilePicture"] = profilePicture);
                    context.Users.Add(user);
                    result.AppendLine($"Successfully imported User {user.Username}.");
                }
                else
                {
                    result.AppendLine(Constants.ErrorInvalidData);
                }
            });
            context.SaveChanges();
            return(result.ToString());
        }
        public static string ImportFollowers(InstagraphContext context, string jsonString)
        {
            var usersFollowers = JsonConvert.DeserializeObject <List <UserFollowerImportDTO> >(jsonString);

            var result = new StringBuilder();

            usersFollowers.ForEach(uf =>
            {
                var user     = context.Users.FirstOrDefault(u => u.Username == uf.User);
                var follower = context.Users.FirstOrDefault(u => u.Username == uf.Follower);

                if (DeserializeHelper.IsUserFollowerValid(user, follower, context))
                {
                    var userFollower =
                        Mapper.Map <UserFollower>(uf, opt =>
                    {
                        opt.Items["User"]       = user;
                        opt.Items["UserId"]     = user.Id;
                        opt.Items["Follower"]   = follower;
                        opt.Items["FollowerId"] = follower.Id;
                    });

                    context.UsersFollowers.Add(userFollower);

                    context.SaveChanges();
                    user.Followers.Add(userFollower);
                    follower.UsersFollowing.Add(userFollower);
                    result.AppendLine($"Successfully imported Follower {follower.Username} to User {user.Username}.");
                }
                else
                {
                    result.AppendLine(Constants.ErrorInvalidData);
                }
            });
            context.SaveChanges();
            return(result.ToString());
        }
        private List <Model.KeyWordsMap> GetData(string keyword, string jsonStr)
        {
            List <KeyWordsMap> list = DeserializeHelper.GetMap(type, jsonStr);

            return(list);
        }
        public static T Deserialize <T>(this BasicDeliverEventArgs e) where T : class
        {
            var bodyString = Encoding.UTF8.GetString(e.Body.ToArray());

            return(DeserializeHelper <T> .Deserialize(bodyString));
        }
        public static object Deserialize(this BasicDeliverEventArgs e)
        {
            var bodyString = Encoding.UTF8.GetString(e.Body.ToArray());

            return(DeserializeHelper.Deserialize(bodyString));
        }