12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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<uint, InstanceUnit> 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<uint, InstanceUnit>(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);
- }
- }
- }
|