Kinda works ish now
This commit is contained in:
parent
0b735bc009
commit
99c83fef2b
@ -1,16 +1,16 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bh6e2nxqswoqg"]
|
[gd_scene load_steps=4 format=3 uid="uid://bh6e2nxqswoqg"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://buildings/arms_building.cs" id="1_wbsyl"]
|
[ext_resource type="Script" path="res://buildings/arms_building.cs" id="1_wbsyl"]
|
||||||
[ext_resource type="PackedScene" path="res://assets/meshes/nuke.tscn" id="2_upv26"]
|
[ext_resource type="PackedScene" uid="uid://py8i4xd737su" path="res://assets/meshes/nuke.tscn" id="2_upv26"]
|
||||||
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_xrkoj"]
|
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_xrkoj"]
|
||||||
|
|
||||||
[node name="radiotower" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
[node name="nukesilo" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
||||||
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0, 0)
|
||||||
script = ExtResource("1_wbsyl")
|
script = ExtResource("1_wbsyl")
|
||||||
Megaton = 10
|
Megaton = 20
|
||||||
Approval = -5
|
Approval = -15
|
||||||
BlocksNode = NodePath("blocks")
|
BlocksNode = NodePath("blocks")
|
||||||
DisplayName = "Radio Tower"
|
DisplayName = "Nuke Silo"
|
||||||
KashCost = 30
|
KashCost = 30
|
||||||
|
|
||||||
[node name="nuke" parent="." instance=ExtResource("2_upv26")]
|
[node name="nuke" parent="." instance=ExtResource("2_upv26")]
|
||||||
|
@ -19,38 +19,29 @@ transform = Transform3D(0.0261279, 0, 0, 0, 0.042186, 0, 0, 0, 0.0268019, -0.878
|
|||||||
|
|
||||||
[node name="grass_block" parent="blocks" instance=ExtResource("3_nf4at")]
|
[node name="grass_block" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
|
|
||||||
[node name="grass_block2" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block2" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block3" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block3" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -2)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -2)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block4" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block4" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block5" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block5" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -4)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -4)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block6" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block6" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -4)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -4)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block7" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block7" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block8" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block8" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -6)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block9" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block9" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -6)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
|
||||||
[node name="grass_block10" parent="blocks" node_paths=PackedStringArray("_ray") instance=ExtResource("3_nf4at")]
|
[node name="grass_block10" parent="blocks" instance=ExtResource("3_nf4at")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||||
_ray = NodePath("../grass_block/RayCast3D")
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://2pw0p13lcklv"]
|
[gd_scene load_steps=4 format=3 uid="uid://2pw0p13lcklv"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://buildings/kash_building.cs" id="1_bcr1q"]
|
[ext_resource type="Script" path="res://buildings/kash_building.cs" id="1_bcr1q"]
|
||||||
[ext_resource type="PackedScene" path="res://assets/meshes/factory.tscn" id="2_st133"]
|
[ext_resource type="PackedScene" uid="uid://bbxjweewwjrd4" path="res://assets/meshes/factory.tscn" id="2_st133"]
|
||||||
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_4p2cy"]
|
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_4p2cy"]
|
||||||
|
|
||||||
[node name="factory" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
[node name="factory" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
||||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
||||||
script = ExtResource("1_bcr1q")
|
script = ExtResource("1_bcr1q")
|
||||||
|
KashGenPerSec = 2
|
||||||
BlocksNode = NodePath("blocks")
|
BlocksNode = NodePath("blocks")
|
||||||
DisplayName = "Factory"
|
DisplayName = "Factory"
|
||||||
KashCost = 6
|
KashCost = 6
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://b8f1n3hp1fdlm"]
|
[gd_scene load_steps=4 format=3 uid="uid://b8f1n3hp1fdlm"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://buildings/propaganda_building.cs" id="1_oo36g"]
|
[ext_resource type="Script" path="res://buildings/propaganda_building.cs" id="1_oo36g"]
|
||||||
[ext_resource type="PackedScene" path="res://assets/meshes/radiotower.tscn" id="2_4131e"]
|
[ext_resource type="PackedScene" uid="uid://cy2sb2tms48ir" path="res://assets/meshes/radiotower.tscn" id="2_4131e"]
|
||||||
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_pn4dl"]
|
[ext_resource type="PackedScene" uid="uid://m3lrwoup4i4r" path="res://buildings/grass_block.tscn" id="3_pn4dl"]
|
||||||
|
|
||||||
[node name="radiotower2" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
[node name="radiotower" type="Node3D" node_paths=PackedStringArray("BlocksNode")]
|
||||||
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0, 0)
|
||||||
script = ExtResource("1_oo36g")
|
script = ExtResource("1_oo36g")
|
||||||
|
Approval = 10
|
||||||
BlocksNode = NodePath("blocks")
|
BlocksNode = NodePath("blocks")
|
||||||
DisplayName = "Radio Tower"
|
DisplayName = "Radio Tower"
|
||||||
KashCost = 5
|
KashCost = 5
|
||||||
|
109
player/player.cs
109
player/player.cs
@ -17,8 +17,20 @@ public partial class player : Camera3D
|
|||||||
private Node3D _cursorPoint;
|
private Node3D _cursorPoint;
|
||||||
private bool _mUp, _mDown, _mLeft, _mRight, _wIn, _wOut;
|
private bool _mUp, _mDown, _mLeft, _mRight, _wIn, _wOut;
|
||||||
|
|
||||||
|
|
||||||
|
private enum buildingType
|
||||||
|
{
|
||||||
|
kash,
|
||||||
|
pr,
|
||||||
|
nuke
|
||||||
|
}
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
private PackedScene _test_building;
|
private PackedScene _kash_building;
|
||||||
|
[Export]
|
||||||
|
private PackedScene _pr_building;
|
||||||
|
[Export]
|
||||||
|
private PackedScene _nuke_building;
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
private TextureProgressBar _nuke, _pr, _kash;
|
private TextureProgressBar _nuke, _pr, _kash;
|
||||||
@ -57,25 +69,70 @@ public partial class player : Camera3D
|
|||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
//for debugging TODO: Remove
|
|
||||||
game_manager.CurrentState = game_manager.State.Building;
|
|
||||||
if (_test_building != null)
|
|
||||||
{
|
|
||||||
CurrentBuilding = _test_building.Instantiate<base_building>();
|
|
||||||
GetTree().Root.CallDeferred("add_child", CurrentBuilding);
|
|
||||||
}
|
|
||||||
_tmrChtr.Start();
|
_tmrChtr.Start();
|
||||||
_tmrChtr.Timeout += () => Chatter = "";
|
_tmrChtr.Timeout += () => Chatter = "";
|
||||||
_tmrCashGen.Timeout += MakeMoney;
|
_tmrCashGen.Timeout += MakeMoney;
|
||||||
_btnEnd.Pressed += () => _sndBtn.Play();
|
_btnEnd.Pressed += () => _sndBtn.Play();
|
||||||
_btnNukes.Pressed += () => { _sndBtn.Play(); ChangeScore(30, -5, 10, 0); };
|
_btnNukes.Pressed += () => HandleBtnNuke();
|
||||||
_btnPR.Pressed += () => { _sndBtn.Play(); ChangeScore(5, 10, 0, 0); };
|
_btnPR.Pressed += () => HandleBtnPR();
|
||||||
_btnKashCow.Pressed += () => { _sndBtn.Play(); ChangeScore(6, 0, 0, 1); };
|
_btnKashCow.Pressed += () => HandleBtnKash();
|
||||||
Chatter = "The enemy is stockpiling weapons of mass destruction.";
|
Chatter = "The enemy is stockpiling weapons of mass destruction.";
|
||||||
|
|
||||||
SetBarLabels();
|
SetBarLabels();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UnHandBuilding()
|
||||||
|
{
|
||||||
|
if (CurrentBuilding != null)
|
||||||
|
{
|
||||||
|
GetTree().Root.RemoveChild(CurrentBuilding);
|
||||||
|
CurrentBuilding.QueueFree();
|
||||||
|
CurrentBuilding = null;
|
||||||
|
game_manager.CurrentState = game_manager.State.Play;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InstantiateBuilding(buildingType type)
|
||||||
|
{
|
||||||
|
PackedScene toInstantiate = null;
|
||||||
|
UnHandBuilding();
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case buildingType.kash:
|
||||||
|
toInstantiate = _kash_building;
|
||||||
|
break;
|
||||||
|
case buildingType.pr:
|
||||||
|
toInstantiate = _pr_building;
|
||||||
|
break;
|
||||||
|
case buildingType.nuke:
|
||||||
|
toInstantiate = _nuke_building;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
toInstantiate = _kash_building;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentBuilding = toInstantiate.Instantiate<base_building>();
|
||||||
|
GetTree().Root.CallDeferred("add_child", CurrentBuilding);
|
||||||
|
game_manager.CurrentState = game_manager.State.Building;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleBtnNuke()
|
||||||
|
{
|
||||||
|
_sndBtn.Play();
|
||||||
|
InstantiateBuilding(buildingType.nuke);
|
||||||
|
}
|
||||||
|
private void HandleBtnPR()
|
||||||
|
{
|
||||||
|
_sndBtn.Play();
|
||||||
|
InstantiateBuilding(buildingType.pr);
|
||||||
|
}
|
||||||
|
private void HandleBtnKash()
|
||||||
|
{
|
||||||
|
_sndBtn.Play();
|
||||||
|
InstantiateBuilding(buildingType.kash);
|
||||||
|
}
|
||||||
|
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
Vector3 rot = this.Rotation;
|
Vector3 rot = this.Rotation;
|
||||||
@ -177,7 +234,7 @@ public partial class player : Camera3D
|
|||||||
Chatter = "Game Over.";
|
Chatter = "Game Over.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeScore(int price, int pr, int nukes, int kashFlow = 0)
|
public void BuildBuilding(int price, int pr, int nukes, int kashFlow = 0)
|
||||||
{
|
{
|
||||||
if (price > Kash)
|
if (price > Kash)
|
||||||
{
|
{
|
||||||
@ -191,6 +248,10 @@ public partial class player : Camera3D
|
|||||||
Kash -= price;
|
Kash -= price;
|
||||||
KashFlow += kashFlow;
|
KashFlow += kashFlow;
|
||||||
|
|
||||||
|
base_building tempBuilding = (base_building)CurrentBuilding.Duplicate();
|
||||||
|
GetTree().Root.CallDeferred("add_child", tempBuilding);
|
||||||
|
game_manager.CurrentState = game_manager.State.Play;
|
||||||
|
|
||||||
SetBarLabels();
|
SetBarLabels();
|
||||||
CheckGame();
|
CheckGame();
|
||||||
}
|
}
|
||||||
@ -224,12 +285,32 @@ public partial class player : Camera3D
|
|||||||
CurrentBuilding.RotateY(Mathf.DegToRad(90));
|
CurrentBuilding.RotateY(Mathf.DegToRad(90));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Input.IsActionJustPressed("cancel"))
|
||||||
|
{
|
||||||
|
UnHandBuilding();
|
||||||
|
}
|
||||||
|
|
||||||
if (Input.IsActionJustPressed("build"))
|
if (Input.IsActionJustPressed("build"))
|
||||||
{
|
{
|
||||||
if (CurrentBuilding.IsPlaceable)
|
if (CurrentBuilding.IsPlaceable)
|
||||||
{
|
{
|
||||||
base_building tempBuilding = (base_building)CurrentBuilding.Duplicate();
|
switch (CurrentBuilding.DisplayName)
|
||||||
GetTree().Root.CallDeferred("add_child", tempBuilding);
|
{
|
||||||
|
case "Radio Tower":
|
||||||
|
propaganda_building radio = (propaganda_building)CurrentBuilding;
|
||||||
|
BuildBuilding(radio.KashCost, radio.Approval, 0);
|
||||||
|
break;
|
||||||
|
case "Nuke Silo":
|
||||||
|
arms_building silo = (arms_building)CurrentBuilding;
|
||||||
|
BuildBuilding(silo.KashCost, silo.Approval, silo.Megaton);
|
||||||
|
break;
|
||||||
|
case "Factory":
|
||||||
|
kash_building factory = (kash_building)CurrentBuilding;
|
||||||
|
BuildBuilding(factory.KashCost, 0, 0, factory.KashGenPerSec);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
[gd_scene load_steps=25 format=3 uid="uid://b5gb5paiupum"]
|
[gd_scene load_steps=28 format=3 uid="uid://b5gb5paiupum"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://player/player.cs" id="1_of2l4"]
|
[ext_resource type="Script" path="res://player/player.cs" id="1_of2l4"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://2pw0p13lcklv" path="res://buildings/kash_buildings/factory.tscn" id="2_ox06o"]
|
||||||
[ext_resource type="AudioStream" uid="uid://07ben02qe8yc" path="res://audio/chatter.wav" id="2_sa1qd"]
|
[ext_resource type="AudioStream" uid="uid://07ben02qe8yc" path="res://audio/chatter.wav" id="2_sa1qd"]
|
||||||
[ext_resource type="AudioStream" uid="uid://ds7ec1n3pytnr" path="res://audio/btn.wav" id="3_00x5l"]
|
[ext_resource type="AudioStream" uid="uid://ds7ec1n3pytnr" path="res://audio/btn.wav" id="3_00x5l"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b8f1n3hp1fdlm" path="res://buildings/propaganda_buildings/radiotower.tscn" id="3_j4p3m"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bh6e2nxqswoqg" path="res://buildings/arms_buildings/nuke.tscn" id="4_2vnif"]
|
||||||
|
|
||||||
[sub_resource type="CameraAttributesPhysical" id="CameraAttributesPhysical_1ejpb"]
|
[sub_resource type="CameraAttributesPhysical" id="CameraAttributesPhysical_1ejpb"]
|
||||||
frustum_near = 0.032
|
frustum_near = 0.032
|
||||||
@ -89,6 +92,9 @@ _mousePosLabel = NodePath("HUD/Debug info/mousePos")
|
|||||||
_cursorPosLabel = NodePath("HUD/Debug info/cursorPointPos")
|
_cursorPosLabel = NodePath("HUD/Debug info/cursorPointPos")
|
||||||
_cursor = NodePath("cursor")
|
_cursor = NodePath("cursor")
|
||||||
_cursorPoint = NodePath("cursorPoint")
|
_cursorPoint = NodePath("cursorPoint")
|
||||||
|
_kash_building = ExtResource("2_ox06o")
|
||||||
|
_pr_building = ExtResource("3_j4p3m")
|
||||||
|
_nuke_building = ExtResource("4_2vnif")
|
||||||
_nuke = NodePath("HUD/Buttons and info/NukeBar")
|
_nuke = NodePath("HUD/Buttons and info/NukeBar")
|
||||||
_pr = NodePath("HUD/Buttons and info/PrBar")
|
_pr = NodePath("HUD/Buttons and info/PrBar")
|
||||||
_kash = NodePath("HUD/Buttons and info/KashBar")
|
_kash = NodePath("HUD/Buttons and info/KashBar")
|
||||||
@ -212,7 +218,7 @@ offset_top = -132.0
|
|||||||
offset_right = -270.0
|
offset_right = -270.0
|
||||||
grow_horizontal = 0
|
grow_horizontal = 0
|
||||||
grow_vertical = 0
|
grow_vertical = 0
|
||||||
text = ":)
|
text = "Approval
|
||||||
"
|
"
|
||||||
icon_alignment = 1
|
icon_alignment = 1
|
||||||
expand_icon = true
|
expand_icon = true
|
||||||
@ -229,7 +235,7 @@ offset_top = -132.0
|
|||||||
offset_right = -406.0
|
offset_right = -406.0
|
||||||
grow_horizontal = 0
|
grow_horizontal = 0
|
||||||
grow_vertical = 0
|
grow_vertical = 0
|
||||||
text = "$"
|
text = "Ka$h"
|
||||||
icon_alignment = 1
|
icon_alignment = 1
|
||||||
expand_icon = true
|
expand_icon = true
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user