예제 #1
0
    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);
        }
    }
예제 #2
0
 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;
 }