using System.Collections; using System.Collections.Generic; using UnityEngine; using XPlugin.Data.JsonLiteDB; public class AiInfo { public int ID; public int Type; public string Name; public List HitRate;//命中率 public float FiringRate;//射击频率 public float FiringWaitTime;//射击等待时间 public List FiringTarget1;//射击目标1 public List FiringTarget2;//射击目标2 public Vector3 EulerAngles; public AiInfo(JsonLiteDB.TableReader table) { HitRate = new List(); FiringTarget1 = new List(); FiringTarget2 = new List(); ID = table["ID"].OptInt(); Type = table["Type"].OptInt(); Name = table["CN_Name"].OptString(); string hitRateStr = table["HitRate"].OptString(); if (hitRateStr == "-1") { HitRate.Add(-1); } else { HitRate=ParseStringToIntArray(hitRateStr); } FiringRate = table["FiringRate"].OptFloat(); FiringWaitTime = table["FiringWaitTime"].OptFloat(); string firingTarget1 = table["FiringTarget1"].OptString(); if (hitRateStr == "-1") { FiringTarget1.Add(-1); } else { FiringTarget1=ParseStringToIntArray(firingTarget1); } string firingTarget2 = table["FiringTarget2"].OptString(); if (hitRateStr == "-1") { FiringTarget2.Add(-1); } else { FiringTarget2=ParseStringToIntArray(firingTarget2); } string eulerAnglesStr = table["EulerAngles"].OptString(); var eulerAnglesList = ParseStringToIntArray(eulerAnglesStr); EulerAngles = new Vector3(eulerAnglesList[0], eulerAnglesList[1], eulerAnglesList[2]); } List ParseStringToIntArray(string input) { if (input == "") { return null; } string[] elements = input.Replace("[", "").Replace("]", "").Split(','); List intArray = new List(); for (int i = 0; i < elements.Length; i++) { intArray.Add(int.Parse(elements[i])); } return intArray; } }