public UnitData(UnitScriptableObject data) { id = data.name; sprites = data.sprites; foreach (var kv in data.animData) { string animData = kv.Value.data; int[] numbers = animData.Split(',').Select(Int32.Parse).ToArray(); Sprite[] anim_frames = new Sprite[numbers.Length]; for (int i = 0; i < anim_frames.Length; i++) { anim_frames[i] = sprites[numbers[i]]; } animations[kv.Key.ToString()] = new AnimationData() { frames = anim_frames, spf = kv.Value.spf, loop = kv.Value.loop }; } bannerOffset = data.bannerOffset; avatarOffset = data.avatarOffset; stats = new UnitStats(data.stats); abilities = data.abilities; }
public static UnitScriptableObject GetUnitData(string id) { UnitScriptableObject data = null; if (!cachedUnitData.TryGetValue(id, out data)) { UnitScriptableObject a = Resources.Load("RemoveFromProduct/GameData/Units/" + id) as UnitScriptableObject; data = a; cachedUnitData[id] = data; } return(data); }