Ejemplo n.º 1
0
 public void TargetingRule(TargetingRule rule)
 {
     Rules.Add(rule);
 }
Ejemplo n.º 2
0
 public void TargetingRule(TargetingRule rule)
 {
     Rules.Add(rule);
 }
 public UI.TileCheck TileValidCheck(TargetingRule rule)
 {
     //TileValidCheck determines whether a tile is grayed out. TargetValidCheck determines whether you can actually select a given tile.
     switch(rule){
     default: //currently no exceptions
     return a=>true;
     }
 }
 public UI.TileCheck TargetValidCheck(TargetingRule rule)
 {
     switch(rule){
     case TargetingRule.Enemy:
     return t=>t.Ac != null && t.Ac.base_unit.team != G.active_team;
     case TargetingRule.Ally:
     return t=>t.Ac != null && t.Ac.base_unit.team == G.active_team;
     case TargetingRule.AllyOrEnemy:
     return t=>t.Ac != null && t.Ac != this.Ac;
     case TargetingRule.AnyTile:
     return a=>true;
     case TargetingRule.AnyActor:
     return t=>t.Ac != null;
     default:
     return t=>false;
     }
 }
 public Tile GetTarget(TargetingRule rule,int range)
 {
     return UI.GetTarget(p,range,TileValidCheck(rule),ActorValidCheck(rule),TargetValidCheck(rule));
 }
 public UI.ActorCheck ActorValidCheck(TargetingRule rule)
 {
     switch(rule){
     case TargetingRule.Enemy:
     return a=>a.base_unit.team != G.active_team;
     case TargetingRule.Ally:
     return a=>a.base_unit.team == G.active_team;
     case TargetingRule.AllyOrEnemy:
     return a=>a != this;
     case TargetingRule.AnyTile:
     return a=>false;
     case TargetingRule.AnyActor:
     default:
     return a=>true;
     }
 }