public void InitWithUnityData(CharacterPrefabsLoad prefs) { // load abilities into list abilities = new LinkedList <AbilityData> [prefs.abilities.Count]; for (int i = 0; i < prefs.abilities.Count; i++) { abilities[i] = DecoratorHolder.ConstructAbilityStack((DecoratorHolder)prefs.abilities[i]);//.evt } abilityTree = prefs.tree.tree; followAllyAbility = prefs.followAllyAbilityData.evt; }
public static LinkedList <AbilityData> AsLinkedList(DecoratorHolder start) { // max depth: 20 effects. that's completly over the top. LinkedList <AbilityData> data = new LinkedList <AbilityData>(); data.AddLast(start.evt); DecoratorHolder d = start; for (int i = 0; i < 20 && ((DecoratorHolder)d.childAction) != null; i++) { data.AddLast(((DecoratorHolder)d.childAction).evt); d = ((DecoratorHolder)d.childAction); } return(data); }
internal static LinkedList <AbilityData> ConstructAbilityStack(DecoratorHolder decoratorHolder) { // missing application of stuns, etc etc. return(AsLinkedList(decoratorHolder)); }