still working out movement

This commit is contained in:
2026-07-04 03:04:56 -04:00
parent 336b72e4cb
commit dbafefd660
16 changed files with 136 additions and 71 deletions
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5jj7yhlnodxt"
path="res://.godot/imported/star.png-7953868fbd7392e6e06ff69587708912.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Art/star.png"
dest_files=["res://.godot/imported/star.png-7953868fbd7392e6e06ff69587708912.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
+4
View File
@@ -31,6 +31,10 @@ public partial class HoverableNode : Node2D
{ {
EmitSignal(SignalName.Click, this, 2); EmitSignal(SignalName.Click, this, 2);
} }
if (Input.IsActionJustPressed("middleClick"))
{
EmitSignal(SignalName.Click, this, 1);
}
} }
} }
+8 -9
View File
@@ -72,6 +72,7 @@ public partial class Map : TileMapLayer
public override void _Ready() public override void _Ready()
{ {
base._Ready(); base._Ready();
// GD.Print(GlobalPosition);
List<Vector2I> usedCells = [.. GetUsedCells()]; List<Vector2I> usedCells = [.. GetUsedCells()];
_cellSize = TileSet.TileSize; _cellSize = TileSet.TileSize;
for (int i = 0; i < usedCells.Count; i++) for (int i = 0; i < usedCells.Count; i++)
@@ -79,7 +80,8 @@ public partial class Map : TileMapLayer
MapCell newMapCell = _mapCellScene.Instantiate<MapCell>(); MapCell newMapCell = _mapCellScene.Instantiate<MapCell>();
Vector2I usedCell = usedCells[i]; Vector2I usedCell = usedCells[i];
newMapCell._address = usedCell; newMapCell._address = usedCell;
newMapCell.GlobalPosition = GetCellPositionFromAddress(newMapCell._address); newMapCell.GlobalPosition = newMapCell._address * _cellSize + _cellSize / 2;
// GD.Print(GlobalPosition, newMapCell.GlobalPosition);
newMapCell._occupant = null; newMapCell._occupant = null;
_cells[usedCell] = newMapCell; _cells[usedCell] = newMapCell;
AddChild(newMapCell); AddChild(newMapCell);
@@ -110,14 +112,10 @@ public partial class Map : TileMapLayer
} }
return new Vector2I((int)Math.Floor(POSITION.X / _cellSize.X), (int)Math.Floor(POSITION.Y / _cellSize.Y)); return new Vector2I((int)Math.Floor(POSITION.X / _cellSize.X), (int)Math.Floor(POSITION.Y / _cellSize.Y));
} }
public Vector2 GetCellPosition(MapCell CELL)
{
return CELL.GlobalPosition;
}
public Vector2 GetCellPositionFromAddress(Vector2I CELL_ADDRESS) public int GetCellDisposition(Vector2I ADDRESS)
{ {
return GlobalPosition + CELL_ADDRESS * _cellSize + _cellSize / 2; return (int)GetCellTileData(ADDRESS).GetCustomData("disposition");
} }
public MapCellOccupant GetOccupant(Vector2I CELL_TO_CHECK) public MapCellOccupant GetOccupant(Vector2I CELL_TO_CHECK)
@@ -157,11 +155,12 @@ public partial class Map : TileMapLayer
{ {
if (PEG != null) if (PEG != null)
{ {
if (PEG._address != -Vector2I.One) if (PEG._cell != null)
{ {
CELL._occupant = null; PEG._cell._occupant = null;
SetCellSolid(_cells[PEG._address]); SetCellSolid(_cells[PEG._address]);
} }
PEG._cell = CELL;
PEG._address = CELL._address; PEG._address = CELL._address;
} }
CELL._occupant = PEG; CELL._occupant = PEG;
+7
View File
@@ -5,4 +5,11 @@ public partial class MapCell : Node2D
{ {
public Vector2I _address; public Vector2I _address;
public MapCellOccupant _occupant; public MapCellOccupant _occupant;
public override void _Ready()
{
base._Ready();
}
} }
+10 -23
View File
@@ -1,6 +1,7 @@
using Godot; using Godot;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq; using System.Linq;
public partial class Peg : MapCellOccupant public partial class Peg : MapCellOccupant
@@ -8,7 +9,7 @@ public partial class Peg : MapCellOccupant
[Signal] [Signal]
public delegate void DeathEventHandler(Peg THIS); public delegate void DeathEventHandler(Peg THIS);
public int _id, _health = 2, _healthMax = 2, _stamina, _staminaRemaining, _movement = 0, _visibility; public int _id, _health = 2, _healthMax = 2, _stamina, _staminaRemaining, _movement = 0, _visibility;
public List<Vector2I> _path = new(); public List<MapCell> _path = new();
public PegController _pegController; public PegController _pegController;
public Map _map; public Map _map;
public List<PegAction> _actions; public List<PegAction> _actions;
@@ -45,28 +46,15 @@ public partial class Peg : MapCellOccupant
} }
public virtual List<Vector2I> GetBestPath(bool PARTIAL = false) public virtual List<MapCell> GetBestPath(bool PARTIAL = false)
{ {
// Map map = _pegController._playArea._map;
// List<Vector2I> goals = Target();
// for (int i = 0; i < goals.Count; i++)
// {
// List<Vector2I> path = map.GetPath(_address, goals[i], false, PARTIAL);
// if (path.Count > 0)
// {
// return path;
// }
// }
MapCell goal = Goal(); MapCell goal = Goal();
return _pegController._playArea._map.GetPath(_address, goal._address, false, PARTIAL); return [.. _map.GetPath(_address, goal._address, false, PARTIAL).Select(a => _map._cells[a])];
} }
public virtual Dictionary<Vector2I, MapCell> GetEnemies() public virtual Dictionary<Vector2I, MapCell> GetEnemies()
{ {
Map map = _pegController._playArea._map; return _map._cells.Where(c => (int)(c.Value._occupant?._disposition ?? Disposition.NONE) == -(int)_disposition).ToDictionary();
return map._cells.Where(c => (int)c.Value._occupant._disposition == -(int)_disposition).ToDictionary();
} }
public virtual Dictionary<Vector2I, MapCell> GetVisibleCells() public virtual Dictionary<Vector2I, MapCell> GetVisibleCells()
@@ -83,17 +71,16 @@ public partial class Peg : MapCellOccupant
return enemies.Keys.Intersect(visible.Keys).ToDictionary(e => e, e => enemies[e]); return enemies.Keys.Intersect(visible.Keys).ToDictionary(e => e, e => enemies[e]);
} }
public Vector2 GetPositionFromAddress()
{
return _pegController._playArea._map.GetCellPositionFromAddress(_address);
}
public virtual MapCell Goal() public virtual MapCell Goal()
{ {
Map map = _pegController._playArea._map; Map map = _pegController._playArea._map;
Dictionary<Vector2I, MapCell> visible = GetVisibleCells(); Dictionary<Vector2I, MapCell> visible = GetVisibleCells();
Dictionary<Vector2I, MapCell> unoccupied = visible.Where(c => !map._astar.IsPointSolid(c.Key)).ToDictionary(); Dictionary<Vector2I, MapCell> unoccupied = visible.Where(c => !map._astar.IsPointSolid(c.Key)).ToDictionary();
Dictionary<Vector2I, MapCell> closest = unoccupied.OrderByDescending(c => c.Value._address.Y * (int)_disposition).ThenByDescending(c => Math.Abs(c.Value._address.X - _address.X)).ToDictionary(); Dictionary<Vector2I, MapCell> enemyTerritory = map._cells.Where(c => _map.GetCellDisposition(c.Value._address) == -(int)_disposition).ToDictionary();
Dictionary<Vector2I, MapCell> closest = enemyTerritory.OrderByDescending(c => c.Value._address.Y).ThenByDescending(c => Math.Abs(c.Value._address.X - _address.X)).ToDictionary();
// Dictionary<Vector2I, MapCell> closest = unoccupied.OrderByDescending(c => c.Value._address.Y * -(int)_disposition).ThenByDescending(c => Math.Abs(c.Value._address.X - _address.X)).ToDictionary();
// Dictionary<Vector2I, MapCell> closest = furthest.Where(c => _map.GetCellDisposition(c.Value._address) == -(int)_disposition).ToDictionary();
return closest.ElementAt(0).Value; return closest.ElementAt(0).Value;
} }
+17 -7
View File
@@ -153,13 +153,7 @@ public partial class PegController : TurnController
} }
if (CLICK_TYPE == 0) if (CLICK_TYPE == 0)
{ {
List<Vector2I> newPath = peg.GetBestPath();
// pathLayer.GetUsedCells().ToList().ForEach(c => pathLayer.SetCell(c,0,Vector2I.Down*4));
// for (int i = 0; i < newPath.Count; i++)
// {
// pathLayer.SetCell(newPath[i],0,Vector2I.One);
// }
Map map = _playArea._map; Map map = _playArea._map;
TileMapLayer pathLayer = _playArea.GetNode<TileMapLayer>("PathLayer"); TileMapLayer pathLayer = _playArea.GetNode<TileMapLayer>("PathLayer");
List<Vector2I> pl = [.. pathLayer.GetUsedCells()]; List<Vector2I> pl = [.. pathLayer.GetUsedCells()];
@@ -172,10 +166,22 @@ public partial class PegController : TurnController
} }
} }
else if (CLICK_TYPE == 1)
{
TileMapLayer pathLayer = _playArea.GetNode<TileMapLayer>("PathLayer");
List<MapCell> newPath = peg.GetBestPath(true);
pathLayer.GetUsedCells().ToList().ForEach(c => pathLayer.SetCell(c,0,Vector2I.Down + Vector2I.Right*4));
for (int i = 0; i < newPath.Count; i++)
{
pathLayer.SetCell(newPath[i]._address,0,Vector2I.One);
}
}
else if (CLICK_TYPE == 2) else if (CLICK_TYPE == 2)
{ {
HandlePegRemoval(peg); HandlePegRemoval(peg);
} }
} }
public void HandlePegRemoval(Peg PEG_TO_REMOVE) public void HandlePegRemoval(Peg PEG_TO_REMOVE)
@@ -201,6 +207,7 @@ public partial class PegController : TurnController
List<Vector2I> fPositions = [.. positions.Where(c => (int)init.GetCellTileData(c).GetCustomData("disposition") == 1)]; List<Vector2I> fPositions = [.. positions.Where(c => (int)init.GetCellTileData(c).GetCustomData("disposition") == 1)];
AddHostilePegs(hPositions); AddHostilePegs(hPositions);
AddFriendlyPegs(fPositions); AddFriendlyPegs(fPositions);
_playArea.HighlightCells();
} }
public void ProcessTween() public void ProcessTween()
@@ -227,9 +234,12 @@ public partial class PegController : TurnController
Peg peg = step.Item1; Peg peg = step.Item1;
PegAction action = step.Item2; PegAction action = step.Item2;
Tween tween = action.CreateAnimation(peg); Tween tween = action.CreateAnimation(peg);
if (tween != null)
{
_tween.Parallel().TweenSubtween(tween); _tween.Parallel().TweenSubtween(tween);
} }
} }
}
_tween.TweenCallback(Callable.From(EndTurn)); _tween.TweenCallback(Callable.From(EndTurn));
} }
@@ -245,12 +255,12 @@ public partial class PegController : TurnController
HandlePegSort(); HandlePegSort();
HandlePegTurn(); HandlePegTurn();
_playArea.HighlightCells();
} }
public void SetPeg(Peg PEG, MapCell CELL) public void SetPeg(Peg PEG, MapCell CELL)
{ {
_map.SetCellPeg(CELL, PEG); _map.SetCellPeg(CELL, PEG);
PEG._cell = CELL;
PEG.GlobalPosition = CELL.GlobalPosition; PEG.GlobalPosition = CELL.GlobalPosition;
} }
+7 -7
View File
@@ -20,10 +20,10 @@ public partial class BasicMovement : PegAction
{ {
PegController pegController = PEG._pegController; PegController pegController = PEG._pegController;
Map map = pegController._playArea._map; Map map = pegController._playArea._map;
Vector2I cell = PEG._path[0]; MapCell cell = PEG._path[0];
Tween subtween = CreateTween(); Tween subtween = CreateTween();
Vector2 target = map.GetCellPositionFromAddress(cell); Vector2 target = cell.GlobalPosition;
subtween.TweenProperty(PEG, "global_position", target, 0.25f); subtween.TweenProperty(PEG, "global_position", target, 0.25f);
PEG._path.RemoveAt(0); PEG._path.RemoveAt(0);
@@ -32,23 +32,23 @@ public partial class BasicMovement : PegAction
public override void DoImmediately(Peg PEG) public override void DoImmediately(Peg PEG)
{ {
List<Vector2I> path = PEG.GetBestPath(true); List<MapCell> path = PEG.GetBestPath(true);
PegController pegController = PEG._pegController; PegController pegController = PEG._pegController;
Map map = pegController._playArea._map; Map map = pegController._playArea._map;
if (path?.Count == 0) if (path?.Count == 0)
{ {
return; return;
} }
Vector2I cell = path[0]; MapCell cell = path[0];
map.SetCellPeg(map._cells[cell], PEG); map.SetCellPeg(cell, PEG);
PEG._path.Add(cell); PEG._path.Add(cell);
} }
public override bool MeetsCriteria(Peg PEG) public override bool MeetsCriteria(Peg PEG)
{ {
List<Vector2I> bestPath = PEG.GetBestPath(true); List<MapCell> bestPath = PEG.GetBestPath(true);
return base.MeetsCriteria(PEG) && bestPath.Count > 0 && (int)PEG._pegController._playArea._map.GetCellTileData(bestPath[0]).GetCustomData("disposition") != -(int)PEG._disposition; return base.MeetsCriteria(PEG) && bestPath.Count > 0;
} }
+4 -1
View File
@@ -17,6 +17,10 @@ public partial class ThrustSpear : PegAction
public override Tween CreateAnimation(Peg PEG) public override Tween CreateAnimation(Peg PEG)
{ {
MapCell target = Target(PEG); MapCell target = Target(PEG);
if (target == PEG._cell)
{
return null;
}
Tween subtween = CreateTween(); Tween subtween = CreateTween();
subtween.TweenProperty(_image, "visible", true, 0.0f); subtween.TweenProperty(_image, "visible", true, 0.0f);
@@ -36,5 +40,4 @@ public partial class ThrustSpear : PegAction
return PEG.Goal(); return PEG.Goal();
} }
} }
+1
View File
@@ -7,6 +7,7 @@
script = ExtResource("1_revbx") script = ExtResource("1_revbx")
[node name="Image" type="Sprite2D" parent="." unique_id=1133735272] [node name="Image" type="Sprite2D" parent="." unique_id=1133735272]
visible = false
position = Vector2(0, -4.999999) position = Vector2(0, -4.999999)
scale = Vector2(0.1, 0.1) scale = Vector2(0.1, 0.1)
texture = ExtResource("2_nwcvh") texture = ExtResource("2_nwcvh")
+1 -2
View File
@@ -14,11 +14,10 @@ public partial class Spearman : FriendlyPeg
public override MapCell Goal() public override MapCell Goal()
{ {
Map map = _pegController._playArea._map;
Dictionary<Vector2I, MapCell> enemies = GetVisibleEnemies(); Dictionary<Vector2I, MapCell> enemies = GetVisibleEnemies();
if (enemies.Count == 0) if (enemies.Count == 0)
{ {
return _map._cells[_address]; return _cell;
} }
Dictionary<Vector2I, MapCell> closest = enemies.OrderBy(e => (e.Value._occupant._address - _address).Length()).ToDictionary(); Dictionary<Vector2I, MapCell> closest = enemies.OrderBy(e => (e.Value._occupant._address - _address).Length()).ToDictionary();
return closest.ElementAt(0).Value; return closest.ElementAt(0).Value;
+1 -1
View File
@@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://xlg4cblo1vf1" path="res://Pegs/HostilePegs/Infantry.cs" id="1_wlksp"] [ext_resource type="Script" uid="uid://xlg4cblo1vf1" path="res://Pegs/HostilePegs/Infantry.cs" id="1_wlksp"]
[ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="2_b77ka"] [ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="2_b77ka"]
[ext_resource type="PackedScene" path="res://Pegs/Actions/swing_shortsword.tscn" id="3_b77ka"] [ext_resource type="PackedScene" uid="uid://c6df6ib0qan5g" path="res://Pegs/Actions/swing_shortsword.tscn" id="3_b77ka"]
[ext_resource type="PackedScene" uid="uid://bup5oli00p3lg" path="res://Pegs/Actions/basic_movement.tscn" id="4_b77ka"] [ext_resource type="PackedScene" uid="uid://bup5oli00p3lg" path="res://Pegs/Actions/basic_movement.tscn" id="4_b77ka"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_7k104"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_7k104"]
+18 -17
View File
@@ -20,8 +20,7 @@ public partial class PlayArea : Node2D
CollisionShape2D regionBounds = _region.GetNode<CollisionShape2D>("Bounds"); CollisionShape2D regionBounds = _region.GetNode<CollisionShape2D>("Bounds");
_map = GetNode<Map>("Map"); _map = GetNode<Map>("Map");
// TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces"); TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces");
// occupiedSpaces.SetCell(Vector2I.Zero, 0, new Vector2I(4,0));
} }
public override void _Process(double delta) public override void _Process(double delta)
@@ -32,21 +31,23 @@ public partial class PlayArea : Node2D
public void HighlightCells() public void HighlightCells()
{ {
TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces"); TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces");
// _map._cells.ForEach(c => for (int i = 0; i < _map._cells.Count; i++)
// { {
// if (_map.HasOccupant(c)) MapCell c = _map._cells.ElementAt(i).Value;
// { if (c._occupant != null)
// occupiedSpaces.SetCell(c, 0, new Vector2I(4,0)); {
// } GD.Print(c._occupant);
// else if (_map._astar.IsPointSolid(c)) occupiedSpaces.SetCell(c._address, 0, new Vector2I(4,0));
// { }
else if (_map._astar.IsPointSolid(c._address))
// } {
// else occupiedSpaces.SetCell(c._address, 0, new Vector2I(3,1));
// { }
// occupiedSpaces.SetCell(c, 0, Vector2I.Down*4); else
// } {
// }); occupiedSpaces.SetCell(c._address, 0, new Vector2I(4,1));
}
}
} }
} }
+9 -1
View File
@@ -1,3 +1,11 @@
[gd_scene format=3 uid="uid://bh28pqqlppt3a"] [gd_scene format=3 uid="uid://cqwi2kesqh5wt"]
[ext_resource type="Script" uid="uid://b8fx1wwyj30bg" path="res://MapCell.cs" id="1_jkeij"]
[ext_resource type="Texture2D" uid="uid://c5jj7yhlnodxt" path="res://Art/star.png" id="2_ugbl7"]
[node name="MapCell" type="Node2D" unique_id=953237004] [node name="MapCell" type="Node2D" unique_id=953237004]
script = ExtResource("1_jkeij")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=733491629]
scale = Vector2(0.025, 0.025)
texture = ExtResource("2_ugbl7")
+2 -1
View File
@@ -1,7 +1,7 @@
[gd_scene format=4 uid="uid://dumcridek4xy3"] [gd_scene format=4 uid="uid://dumcridek4xy3"]
[ext_resource type="Script" uid="uid://bnaxgcafcvtfv" path="res://PlayArea.cs" id="1_lq4m8"] [ext_resource type="Script" uid="uid://bnaxgcafcvtfv" path="res://PlayArea.cs" id="1_lq4m8"]
[ext_resource type="PackedScene" uid="uid://mjinvqj25wha" path="res://Map.tscn" id="2_wqv88"] [ext_resource type="PackedScene" uid="uid://dqknim3lldrmv" path="res://Map.tscn" id="2_wqv88"]
[ext_resource type="Texture2D" uid="uid://cf554xlykq1o4" path="res://Art/tile_set.png" id="3_md2b6"] [ext_resource type="Texture2D" uid="uid://cf554xlykq1o4" path="res://Art/tile_set.png" id="3_md2b6"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_q4dkg"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_q4dkg"]
@@ -95,6 +95,7 @@ tile_map_data = PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAA
tile_set = SubResource("TileSet_he03c") tile_set = SubResource("TileSet_he03c")
[node name="InitialPositions" type="TileMapLayer" parent="." unique_id=555896823] [node name="InitialPositions" type="TileMapLayer" parent="." unique_id=555896823]
visible = false
tile_map_data = PackedByteArray("AAADAAcAAAABAAAAAAAEAAYAAAABAAAAAAAEAAgAAAABAAAAAAAFAAcAAAABAAAAAAAHAAwAAAABAAAAAAAIAA0AAAABAAAAAAAJAA4AAAABAAAAAAAKAA0AAAABAAAAAAALAAkAAAABAAAAAAALAA4AAAABAAAAAAAMAAgAAAABAAAAAAAMAA0AAAABAAAAAAANAAcAAAABAAAAAAANAA4AAAABAAAAAAAOAAgAAAABAAAAAAAOAA0AAAABAAAAAAAPAAgAAAABAAAAAAAPAA0AAAABAAAAAAAQAAcAAAABAAAAAAAQAA4AAAABAAAAAAARAAgAAAABAAAAAAARAA0AAAABAAAAAAASAAkAAAABAAAAAAASAA4AAAABAAAAAAATAA0AAAABAAAAAAAUAA4AAAABAAAAAAAVAA0AAAABAAAAAAAWAAwAAAABAAAAAAAYAAcAAAABAAAAAAAZAAYAAAABAAAAAAAZAAgAAAABAAAAAAAaAAcAAAABAAAAAAACAAAAAAACAAAAAAAHAAAAAAACAAAAAAAMAAAAAAACAAAAAAARAAAAAAACAAAAAAAWAAAAAAACAAAAAAAbAAAAAAACAAAAAAA=") tile_map_data = PackedByteArray("AAADAAcAAAABAAAAAAAEAAYAAAABAAAAAAAEAAgAAAABAAAAAAAFAAcAAAABAAAAAAAHAAwAAAABAAAAAAAIAA0AAAABAAAAAAAJAA4AAAABAAAAAAAKAA0AAAABAAAAAAALAAkAAAABAAAAAAALAA4AAAABAAAAAAAMAAgAAAABAAAAAAAMAA0AAAABAAAAAAANAAcAAAABAAAAAAANAA4AAAABAAAAAAAOAAgAAAABAAAAAAAOAA0AAAABAAAAAAAPAAgAAAABAAAAAAAPAA0AAAABAAAAAAAQAAcAAAABAAAAAAAQAA4AAAABAAAAAAARAAgAAAABAAAAAAARAA0AAAABAAAAAAASAAkAAAABAAAAAAASAA4AAAABAAAAAAATAA0AAAABAAAAAAAUAA4AAAABAAAAAAAVAA0AAAABAAAAAAAWAAwAAAABAAAAAAAYAAcAAAABAAAAAAAZAAYAAAABAAAAAAAZAAgAAAABAAAAAAAaAAcAAAABAAAAAAACAAAAAAACAAAAAAAHAAAAAAACAAAAAAAMAAAAAAACAAAAAAARAAAAAAACAAAAAAAWAAAAAAACAAAAAAAbAAAAAAACAAAAAAA=")
tile_set = SubResource("TileSet_vqhsw") tile_set = SubResource("TileSet_vqhsw")
+5
View File
@@ -51,6 +51,11 @@ changeTurn={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
] ]
} }
middleClick={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":4,"position":Vector2(222, 10),"global_position":Vector2(231, 58),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
[physics] [physics]