diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2020-07-21 09:16:24 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2020-07-21 09:16:24 +0200 | 
| commit | b7f765ebe28dd8dea3e4c094c46681fdfec56fc3 (patch) | |
| tree | 1d2f39f52ab78e2eb1f7c6cf18e21089240b4a9d | |
| parent | 7c0292f085fb6a590c64f105647bb8bdd536fef8 (diff) | |
| download | godot-hexgrid-b7f765ebe28dd8dea3e4c094c46681fdfec56fc3.zip godot-hexgrid-b7f765ebe28dd8dea3e4c094c46681fdfec56fc3.tar.gz | |
HexMap.configure(…) -> HexMap._init(…)
| -rw-r--r-- | HexMap.gd | 3 | ||||
| -rw-r--r-- | demo/Map.gd | 14 | 
2 files changed, 8 insertions, 9 deletions
| @@ -28,7 +28,8 @@ var adjacents : Array  var search_count : int  var stack : Array -func configure(cols : int, rows : int, side : float, v0 : Vector2, vertical : bool) -> void: +func _init(cols : int, rows : int, side : float, v0 : Vector2, vertical : bool, fct : FuncRef) -> void: +	tile_factory_fct = fct  	v = vertical  	s = side  	w  = s * 1.73205 diff --git a/demo/Map.gd b/demo/Map.gd index 81c5c36..22ad0fd 100644 --- a/demo/Map.gd +++ b/demo/Map.gd @@ -34,9 +34,6 @@ var show_influence : bool  func _ready():  	drag = null  	unit = Unit.new() -	board = HexBoard.new() -	board.tile_factory_fct = funcref(self, "get_tile") -	board.v = false  	rotate_map()  func reset() -> void: @@ -56,7 +53,7 @@ func reset() -> void:  	compute()  func rotate_map() -> void: -	texture = load(MAPH if board.v else MAPV) +	texture = load(MAPH if is_instance_valid(board) and board.v else MAPV)  	configure()  	reset() @@ -67,20 +64,21 @@ func set_mode(l : bool, m : bool, i : bool) -> void:  	compute()  func configure() -> void: +	var v : bool = (is_instance_valid(board) and board.v)  	var v0 : Vector2 = Vector2(50, 100)  	if centered:  		var ts : Vector2 = texture.get_size() -		if board.v:	 +		if v:  			v0.x -= ts.y / 2  			v0.y -= ts.x / 2  		else:  			v0 -= ts / 2 -	if board.v: +	if v:  		hex_rotation = 30 -		board.configure(10, 4, 100, v0, false) +		board = HexBoard.new(10, 4, 100, v0, false, funcref(self, "get_tile"))  	else:  		hex_rotation = 0 -		board.configure(10, 7, 100, v0, true) +		board = HexBoard.new(10, 7, 100, v0, true, funcref(self, "get_tile"))  func texture_size() -> Vector2:  	return texture.get_size() | 
