// calculate reach of a character public override void OnSelect() { animator.Select(); //Debug.Log("Selected"); //If selected character has no stamina or is from the other team if (stamina == 0 || team != GameManager.currentTeam) { return; } GridManager gridM = GridManager.instance; reach = gridM.getReach(place, stamina, "token", "enemy"); foreach (GridManager.GridPoint point in reach.grid) { point.hex.changeState("reach"); } reach = gridM.getReach(place, stamina); foreach (GridManager.GridPoint point in reach.grid) { Character c = (Character)point.hex.token; if (point.hex.state.name == "token" && c.team != this.team) { point.hex.changeState("enemy"); } } locked = true; }
public void Move(GridManager.Grid path) { place.changeState("default"); place.token = null; HexGrid destiny = path.grid[path.grid.Count - 1].hex; Raycast.block = true; this.OnMove(path, destiny); place = destiny; destiny.token = this; destiny.changeState("token"); Raycast.block = false; }
//Check if ability can be used based on its min and max range public bool checkRange(int minDistance, int maxDistance) { GridManager gridM = GridManager.instance; range = gridM.getReach(place, minDistance, maxDistance); foreach (GridManager.GridPoint point in range.grid) { if (point.hex.token == target) { return(true); } } return(false); }
public override void OnMove(GridManager.Grid path, HexGrid destiny) { base.OnMove(path, destiny); if (reach == null) { return; } int qtd = path.grid.Count; foreach (GridManager.GridPoint point in reach.grid) { if (point.hex.state.name == "enemy") { point.hex.changeState("token"); } if (point.hex.state.name == "reach") { point.hex.changeState("default"); } } stamina -= qtd; GridManager gridM = GridManager.instance; reach = gridM.getReach(destiny, stamina, "token", "enemy"); foreach (GridManager.GridPoint point in reach.grid) { point.hex.changeState("reach"); } reach = gridM.getReach(destiny, stamina); foreach (GridManager.GridPoint point in reach.grid) { Character c = (Character)point.hex.token; if (point.hex.state.name == "token" && c.team != this.team) { point.hex.changeState("enemy"); } } if (stamina == 0) { locked = false; } }
public override void OnPointerEnter(HexGrid hexagon) { base.OnPointerEnter(hexagon); GridManager gridM = GridManager.instance; path = gridM.getPath(Token.selected.place, hexagon, "token", "enemy"); if (path != null) { foreach (GridManager.GridPoint point in path.grid) { point.hex.state.changeColor(point.hex, 1); } } }
public void OnPointerEnter(HexGrid hexagon, Character target) { base.OnPointerEnter(Token.selected.place); GridManager gridM = GridManager.instance; path = gridM.getPath(Token.selected.place, target.place); if (path != null) { foreach (GridManager.GridPoint point in path.grid) { point.hex.state.changeColor(point.hex, 1); if (point.hex.token == target) { point.hex.changeState("enemy"); } } } }
public override void OnEnter(HexGrid hexagon) { colorSet = hexagon.GetColors("enemy"); path = null; changeColor(hexagon, 0); }
public void Start() { event_system.Suscribe(OnEvent); // Starting grid and paths (don't use them before that) grid_manager.InitGrids(); path_manager.InitPaths(); // Setup grid curr_grid = grid_manager.GetGridByBridName("grid_1"); if (curr_grid != null) { curr_grid.SetGridInfo(world_parent, grid_base_sprite, grid_pressed_sprite); curr_grid.SetPrintGrid(true); } // Get spawn points if (map != null) { MapInstance mi = map.GetComponent <MapInstance>(); if (mi != null) { spawn_points = mi.GetSpawners(); GameObject enemy_killer = mi.GetEnemyKiller(); if (enemy_killer != null) { EnemyKiller e_killer_script = enemy_killer.GetComponent <EnemyKiller>(); if (e_killer_script != null) { e_killer_script.SetEventSystem(event_system); } } } } // Trackers if (map_tracker != null) { MarkerDetectionScript md = map_tracker.GetComponent <MarkerDetectionScript>(); if (md != null) { md.SetEventSystem(event_system); } } if (red_turret_tracker != null) { MarkerDetectionScript md = red_turret_tracker.GetComponent <MarkerDetectionScript>(); if (md != null) { md.SetEventSystem(event_system); } } if (blue_turret_tracker != null) { MarkerDetectionScript md = blue_turret_tracker.GetComponent <MarkerDetectionScript>(); if (md != null) { md.SetEventSystem(event_system); } } if (green_turret_tracker != null) { MarkerDetectionScript md = green_turret_tracker.GetComponent <MarkerDetectionScript>(); if (md != null) { md.SetEventSystem(event_system); } } money = starting_money; // UI UpdateMoneyUI(money); UpdateWaveUI(curr_wave); }
public virtual void OnMove(GridManager.Grid path, HexGrid destiny) { this.transform.position = destiny.transform.position; //Debug.Log("MOVED"); }
public void SetGridManager(GridManager.Grid gm) { grid = gm; }