public override IBaseData Create(string jsonString_) { //first override all simple type fields... PeriodImpactData data = DefaultJsonFactory.Create <PeriodImpactData>(jsonString_); //...and then more complex fields JSONObject jo = new JSONObject(jsonString_); //IMPACTS JSONObject arrayJo = jo["impact"]; if (arrayJo != null) { int cnt = arrayJo.list.Count; data.impactInfos = new ImpactInfo[cnt]; for (int i = 0; i < cnt; i++) { ImpactInfo info = //JsonFactory.Instance.Create<ImpactInfo>(arrayJo.list[i].ToString()); JsonUtility.FromJson <ImpactInfo>(arrayJo.list[i].ToString()); data.impactInfos[i] = info; } } //targetTypes data.targetTypes = GetStringArray(jo, "targetTypes"); return(data); }
public override IBaseData Create(string jsonString_) { //first override all simple type fields... EnemyData data = DefaultJsonFactory.Create <EnemyData>(jsonString_); //...and then more complex fields JSONObject jo = new JSONObject(jsonString_); //SKILLS JSONObject arrayJo = jo["skills"]; if (arrayJo != null) { int cnt = arrayJo.list.Count; data.skillInfos = new SkillInfo[cnt]; for (int i = 0; i < cnt; i++) { SkillInfo skillInfo = new SkillInfo(); JsonUtility.FromJsonOverwrite(arrayJo.list[i].ToString(), skillInfo); data.skillInfos[i] = skillInfo; } } //BONUSES data.bonusIds = GetStringArray(jo, "bonusIds"); // return(data); }
public override IBaseData Create(string jsonString_) { //first override all simple type fields... BehaviourImpactData data = DefaultJsonFactory.Create <BehaviourImpactData>(jsonString_); //...and then more complex fields JSONObject jo = new JSONObject(jsonString_); //targetTypes data.targetTypes = GetStringArray(jo, "targetTypes"); return(data); }
public T Create <T>(string jsonString_) where T : IBaseData, new() { if (_factories.ContainsKey(typeof(T))) { return((T)_factories[typeof(T)].Create(jsonString_)); } else { return(DefaultJsonFactory.Create <T>(jsonString_)); } }
public override IBaseData Create(string jsonString_) { //first override all simple type fields... SkillImpactData data = DefaultJsonFactory.Create <SkillImpactData>(jsonString_); //...and then more complex fields JSONObject jo = new JSONObject(jsonString_); //skills data.skills = GetStringArray(jo, "skills"); //strategy JSONObject strategy = jo["strategy"]; if (strategy != null) { data.strategy = SkillModifyStrategy.Get(strategy.str); } //targetTypes data.targetTypes = GetStringArray(jo, "targetTypes"); return(data); }
public override IBaseData Create(string jsonString_) { //first override all simple type fields... BulletData data = DefaultJsonFactory.Create <BulletData>(jsonString_); //...and then more complex fields JSONObject jo = new JSONObject(jsonString_); //IMPACTS JSONObject arrayJo = jo["impact"]; if (arrayJo != null) { int cnt = arrayJo.list.Count; data.impactInfos = new ImpactInfo[cnt]; for (int i = 0; i < cnt; i++) { ImpactInfo impactInfo = new ImpactInfo(); JsonUtility.FromJsonOverwrite(arrayJo.list[i].ToString(), impactInfo); data.impactInfos[i] = impactInfo; } } return(data); }