コード例 #1
0
        private Impact CreateTimerImpact(ImpactInfo info_)
        {
            PeriodImpactData periodImpactData = Main.Inst.Data.Get <PeriodImpactData>(info_.impactObjectId);

            if (periodImpactData.impactInfos == null || periodImpactData.impactInfos.Length <= 0)
            {
                Debug.LogError(string.Format("{0} (id:{1}) has no impacts to apply ", periodImpactData.GetType().Name, periodImpactData.ObjectId));
                return(null);
            }
            //create impacts
            int cnt = periodImpactData.impactInfos.Length;

            Impact[] impacts = new Impact[cnt];
            for (int i = 0; i < cnt; i++)
            {
                ImpactInfo info   = periodImpactData.impactInfos[i];
                Impact     impact = Create(info);
                impacts[i] = impact;
            }
            //create timer
            TimerData    timerData    = Main.Inst.Data.Get <TimerData>(periodImpactData.timerId);
            PeriodImpact periodImpact = new PeriodImpact(timerData, impacts);

            return(periodImpact);
        }
コード例 #2
0
        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);
        }