Esempio n. 1
0
 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);
    }