public void setCfg(BattleInfoConfig cfg, HeroMgr hMgr) { _id = Convert.ToInt32(cfg.id); _maxRound = Convert.ToInt32(cfg.round); int[] monsterInfos = cfg.monster; _monsters = new List <BattleHeroModel> (); for (int i = 0; i < monsterInfos.Length; i += 4) { int id = Convert.ToInt32(monsterInfos[i]); int level = Convert.ToInt32(monsterInfos[i + 1]); HeroModel heroModel = hMgr.createHero(id, level, 0); BattleHeroModel bhModel = new BattleHeroModel(); int x = Convert.ToInt32(monsterInfos[i + 2]); int y = Convert.ToInt32(monsterInfos[i + 3]); bhModel.setModel(heroModel, true, new Vector3(x, y, 0)); _monsters.Add(bhModel); } }
public BattleInfoConfigData() { _dataJson = SimpleJson.SimpleJson.DeserializeObject <JsonArray> (_data).ToArray(); foreach (object jsonObject in _dataJson) { JsonObject jo = (JsonObject)jsonObject; BattleInfoConfig config = new BattleInfoConfig(); _dataList.Add(config); foreach (string key in jo.Keys) { object value = jo[key]; System.Type type = typeof(BattleInfoConfig); System.Reflection.FieldInfo info = type.GetField(key); if (info == null) { continue; } if (value is JsonArray) { JsonArray jarr = (JsonArray)value; int jarrSize = jarr.Count; if (info.FieldType.FullName == "System.Int32[]") { int[] data = new int[jarrSize]; for (int i = 0; i < jarrSize; i++) { data[i] = (int)jarr[i]; } info.SetValue(config, data); } else { string[] data = new string[jarrSize]; for (int i = 0; i < jarrSize; i++) { data[i] = (string)jarr[i]; } info.SetValue(config, data); } } else { info.SetValue(config, value); } } } _dataJson = null; _data = null; }