using CommonAI.Zone.Instance; using CommonLang; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CommonAI.Zone.Helper { public class SpellChainLevelInfo { private int mSpellID; private int mChainLevel; private HashMap mChainList; private InstanceUnit mLastTarget; public int Level { get { return mChainLevel; } } public InstanceUnit LastTarget { get { return mLastTarget; } } internal SpellChainLevelInfo(LaunchSpell launch) { mSpellID = launch.SpellID; mChainLevel = launch.ChainLevel; mChainList = new HashMap(mChainLevel); } internal bool TryLaunch(int spellID) { if (spellID == mSpellID) { mChainLevel--; return (mChainLevel >= 0); } mSpellID = spellID; return true; } internal void AddTarget(InstanceUnit target) { mChainList.Put(target.ID, target); mLastTarget = target; } public bool ContainsTarget(InstanceUnit target) { return mChainList.ContainsKey(target.ID); } } }