/// <summary> /// Initializes a new instance of the <see cref="SelectTargetForSkillState"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="args">The arguments.</param> /// <exception cref="ArgumentNullException">args</exception> /// <exception cref="NullReferenceException"> /// SkillOwner /// or /// Skill /// </exception> public SelectTargetForSkillState(MouseSelector selector, SkillTargetArgsSelecting args) : base(selector) { if (args == null) { throw new ArgumentNullException(nameof(args)); } skillOwner = args.SkillOwner ?? throw new NullReferenceException(nameof(args.SkillOwner)); skill = args.Skill ?? throw new NullReferenceException(nameof(args.Skill)); accessoryObjects = new List <IPoolableObject>(); var targetingMode = skill.GetTargetingMode(); targetingMode.Accept(this); }
/// <summary> /// Initializes a new instance of the <see cref="SelectAndMoveState"/> class. /// </summary> /// <param name="selector">The selector.</param> public SelectAndMoveState(MouseSelector selector) : base(selector) { }
/// <summary> /// Initializes a new instance of the <see cref="MouseSelectorState"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <exception cref="NullReferenceException">selector</exception> protected MouseSelectorState(MouseSelector selector) { this.selector = selector ?? throw new NullReferenceException(nameof(selector)); }