public override bool OnMouseDown(Surface s, Model m, Point square, Point offset, MouseButtons mb)
        {
            if (mb == MouseButtons.Left)
                selected = m.ActorsAt(square).Where(a => a is IOrderTarget).FirstOrDefault();

            if (mb == MouseButtons.Right && selected != null)
                ((IOrderTarget)selected).AcceptOrder( square );

            return true;
        }
        public void SetActor(Actor a)
        {
            if (a == null)
            {
                Visible = false;
                return;
            }

            propertyGrid1.SelectedObject = a;
            Text = string.Format("{0} ({1})", a.Name, a.GetType().Name);
            Visible = true;
        }
Exemple #3
0
 public void AddActor(Actor a)
 {
     addedActors.Add(a);
 }
Exemple #4
0
 public void RemoveActor(Actor a)
 {
     if (!removedActors.Contains(a)) removedActors.Add(a);
 }
Exemple #5
0
 public static Order Use(Actor b)
 {
     return a =>
     {
         b.Use(a);
         return true;
     };
 }
Exemple #6
0
 public bool CanSee(Actor other)
 {
     // todo: real occlusion! this is just a cone test
     var dir = MakeDirection(Position.ToSquare(), other.Position.ToSquare(), Direction);
     return (dir == Direction || (dir + 1) % 8 == Direction || (dir + 7) % 8 == Direction);
 }
Exemple #7
0
 public virtual void Use(Actor user)
 {
 }