示例#1
0
        public static GameObject FromJson(Deserializer deserializer)
        {
            // var item = new WieldedItem((int)data["damage"]) { Id = id };
            var data = deserializer.getData();
            var item = new WieldedItem((int)data["damage"]);

            // SerializeService.Instance.RegisterObject(item);
            return(item);
        }
示例#2
0
        /*
         * public static GameObject FromJson(JObject data)
         * {
         *  Guid id = Guid.Parse(data["Id"].ToString());
         *  Chest chest = (Chest)SerializeService.Instance.LocateObject(id);
         *
         *  if (chest == null)
         *  {
         *      var (coords, halfsize, origin) = PositionJson.FromJson(data);
         *      JObject item_data = (JObject)((JArray)data["Items"])?[0];
         *      if (item_data != null)
         *      {
         *          WieldedItem item = (WieldedItem)WieldedItem.FromJson(item_data);
         *          chest = new Chest(coords, halfsize, item) { Id = id };
         *      }
         *      else
         *          chest = new Chest(coords, halfsize) { Id = id };
         *      SerializeService.Instance.RegisterObject(chest);
         *  }
         *  return chest;
         * }
         */

        public static GameObject FromJson(Deserializer deserializer)
        {
            var data = deserializer.getData();

            var(coords, halfsize, origin) = PositionJson.FromJson(data);
            JObject    item_data = (JObject)((JArray)data["Items"])?[0];
            GameObject chest;

            if (item_data != null)
            {
                WieldedItem item = (WieldedItem)deserializer.decodeObject(item_data);
                chest = new Chest(coords, halfsize, item);
            }
            else
            {
                chest = new Chest(coords, halfsize);
            }
            return(chest);
        }