nice nice nice
This commit is contained in:
@@ -65,7 +65,12 @@ public partial class Company : Resource
|
|||||||
|
|
||||||
private void EmitCompanyStatusChanged()
|
private void EmitCompanyStatusChanged()
|
||||||
{
|
{
|
||||||
EventBus.CompanyChanged.Invoke(new CompanyStats(Hype, Money, Workers, Runway));
|
EventBus.CompanyChanged.Invoke(ToCompanyStats());
|
||||||
|
}
|
||||||
|
|
||||||
|
public CompanyStats ToCompanyStats()
|
||||||
|
{
|
||||||
|
return new CompanyStats(Hype, Money, Workers, Runway);
|
||||||
}
|
}
|
||||||
|
|
||||||
public record CompanyStats(float Hype, float Money, float Workers, int Runway);
|
public record CompanyStats(float Hype, float Money, float Workers, int Runway);
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ using yourareanaiceo;
|
|||||||
public partial class CurrentTimeLine : Panel
|
public partial class CurrentTimeLine : Panel
|
||||||
{
|
{
|
||||||
[Export]
|
[Export]
|
||||||
private float _speed = 15f;
|
public float Speed = 15f;
|
||||||
|
|
||||||
public bool Running { get; set; }
|
public bool Running { get; private set; }
|
||||||
|
|
||||||
public override void _Process(double delta)
|
public override void _Process(double delta)
|
||||||
{
|
{
|
||||||
@@ -14,8 +14,13 @@ public partial class CurrentTimeLine : Panel
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var pos = OffsetTransformPosition;
|
var pos = OffsetTransformPosition;
|
||||||
pos.Y += _speed * delta.toFloat();
|
pos.Y += Speed * delta.toFloat();
|
||||||
|
|
||||||
OffsetTransformPosition = pos;
|
OffsetTransformPosition = pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
Running = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Godot;
|
using Godot;
|
||||||
|
|
||||||
[SceneTree]
|
[SceneTree]
|
||||||
public partial class DaySchedule : PanelContainer
|
public partial class DaySchedule : PanelContainer
|
||||||
{
|
{
|
||||||
|
private int _currentSlot;
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
private int _hoursInDay = 6;
|
private int _hoursInDay = 6;
|
||||||
|
|
||||||
@@ -17,10 +20,35 @@ public partial class DaySchedule : PanelContainer
|
|||||||
|
|
||||||
TimeSlotContainer.AddChild(timeSlot);
|
TimeSlotContainer.AddChild(timeSlot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProgressTimer.Timeout += OnNewMeetingStarts;
|
||||||
|
|
||||||
|
SetupCurrentTimeLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetupCurrentTimeLine()
|
||||||
|
{
|
||||||
|
var timeSlot = Instantiator.Instantiate<TimeSlot>();
|
||||||
|
CurrentTimeLine.Speed = (float)(timeSlot.Size.Y / ProgressTimer.WaitTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnNewMeetingStarts()
|
||||||
|
{
|
||||||
|
GetTimeSlots()[_currentSlot].StartMeeting();
|
||||||
|
_currentSlot += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartDay()
|
public void StartDay()
|
||||||
{
|
{
|
||||||
CurrentTimeLine.Running = true;
|
ProgressTimer.Start();
|
||||||
|
CurrentTimeLine.Start();
|
||||||
|
|
||||||
|
GetTimeSlots().First().StartMeeting();
|
||||||
|
_currentSlot += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<TimeSlot> GetTimeSlots()
|
||||||
|
{
|
||||||
|
return [.. TimeSlotContainer.GetChildren().OfType<TimeSlot>()];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ mouse_filter = 2
|
|||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_cm0pq")
|
theme_override_styles/panel = SubResource("StyleBoxFlat_cm0pq")
|
||||||
script = ExtResource("1_b6clr")
|
script = ExtResource("1_b6clr")
|
||||||
|
|
||||||
|
[node name="ProgressTimer" type="Timer" parent="." unique_id=131279089]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
wait_time = 2.0
|
||||||
|
|
||||||
[node name="TimeSlotContainer" type="VBoxContainer" parent="." unique_id=1932322928]
|
[node name="TimeSlotContainer" type="VBoxContainer" parent="." unique_id=1932322928]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
public partial class DropZone : Control
|
public partial class DropZone : Control
|
||||||
{
|
{
|
||||||
@@ -13,8 +14,8 @@ public partial class DropZone : Control
|
|||||||
var meetingControl = ((MeetingControlDragData)data).MeetingControl;
|
var meetingControl = ((MeetingControlDragData)data).MeetingControl;
|
||||||
var meetingPhysicsBox = meetingControl.MeetingPhysicsBox;
|
var meetingPhysicsBox = meetingControl.MeetingPhysicsBox;
|
||||||
|
|
||||||
var main = (Main)FindParent("Main");
|
var game = this.GetGame();
|
||||||
main.AddChild(meetingPhysicsBox);
|
game.AddChild(meetingPhysicsBox);
|
||||||
meetingPhysicsBox.Position = GetGlobalMousePosition();
|
meetingPhysicsBox.Position = GetGlobalMousePosition();
|
||||||
meetingControl.QueueFree();
|
meetingControl.QueueFree();
|
||||||
|
|
||||||
|
|||||||
11
Extensions/NodeExtensions.cs
Normal file
11
Extensions/NodeExtensions.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace yourareanaiceo;
|
||||||
|
|
||||||
|
public static class NodeExtensions
|
||||||
|
{
|
||||||
|
public static Game GetGame(this Node node)
|
||||||
|
{
|
||||||
|
return node.GetTree().CurrentScene as Game;
|
||||||
|
}
|
||||||
|
}
|
||||||
1
Extensions/NodeExtensions.cs.uid
Normal file
1
Extensions/NodeExtensions.cs.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://broxfid7ffads
|
||||||
15
Game.cs
Normal file
15
Game.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
|
[SceneTree]
|
||||||
|
public partial class Game : Node2D
|
||||||
|
{
|
||||||
|
public GameState GameState { get; set; } = new();
|
||||||
|
|
||||||
|
public override void _Ready()
|
||||||
|
{
|
||||||
|
ExecuteButton.Pressed += () => DaySchedule.StartDay();
|
||||||
|
|
||||||
|
EventBus.CompanyChanged?.Invoke(GameState.Company.ToCompanyStats());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
[gd_scene format=3 uid="uid://b2rl7r8oav3hy"]
|
[gd_scene format=3 uid="uid://b2rl7r8oav3hy"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://d1h0qvskvk1wu" path="res://Main.cs" id="1_3dxm6"]
|
[ext_resource type="Script" uid="uid://d1h0qvskvk1wu" path="res://Game.cs" id="1_joorw"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dciugg77wsy6p" path="res://MeetingPhysicsBox.tscn" id="1_glv2v"]
|
[ext_resource type="PackedScene" uid="uid://ckdqrg8c0mq8h" path="res://CompanyStatsContainer.tscn" id="2_2vekm"]
|
||||||
[ext_resource type="PackedScene" uid="uid://covomnw8s7k1n" path="res://DaySchedule.tscn" id="1_r0du0"]
|
[ext_resource type="PackedScene" uid="uid://covomnw8s7k1n" path="res://DaySchedule.tscn" id="3_yx171"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ckdqrg8c0mq8h" path="res://CompanyStatsContainer.tscn" id="2_trn2v"]
|
[ext_resource type="PackedScene" uid="uid://dciugg77wsy6p" path="res://MeetingPhysicsBox.tscn" id="4_yhmtn"]
|
||||||
[ext_resource type="Resource" uid="uid://mifwco1yj8kc" path="res://resources/meetings/coffee_meeting.tres" id="3_r0du0"]
|
[ext_resource type="Resource" uid="uid://mifwco1yj8kc" path="res://resources/meetings/coffee_meeting.tres" id="5_gwjdr"]
|
||||||
[ext_resource type="Resource" uid="uid://du72uxjqr0h4a" path="res://resources/meetings/lockin.tres" id="4_cm0pq"]
|
[ext_resource type="Resource" uid="uid://du72uxjqr0h4a" path="res://resources/meetings/lockin.tres" id="6_lvtmh"]
|
||||||
[ext_resource type="Resource" uid="uid://bcd4qf4i84pwf" path="res://resources/meetings/work_product_1.tres" id="5_fos0i"]
|
[ext_resource type="Resource" uid="uid://bcd4qf4i84pwf" path="res://resources/meetings/work_product_1.tres" id="7_yyih5"]
|
||||||
[ext_resource type="Script" uid="uid://bs531c76ivhtf" path="res://DropZone.cs" id="7_lgr22"]
|
[ext_resource type="Script" uid="uid://bs531c76ivhtf" path="res://DropZone.cs" id="8_qjyg3"]
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_trn2v"]
|
[sub_resource type="Gradient" id="Gradient_trn2v"]
|
||||||
offsets = PackedFloat32Array(0, 0.5518293, 1)
|
offsets = PackedFloat32Array(0, 0.5518293, 1)
|
||||||
@@ -31,12 +31,12 @@ size = Vector2(727.5, 20)
|
|||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ig7tw"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ig7tw"]
|
||||||
size = Vector2(21.5, 1920)
|
size = Vector2(21.5, 1920)
|
||||||
|
|
||||||
[node name="Main" type="Node2D" unique_id=287617203]
|
[node name="Game" type="Node2D" unique_id=287617203]
|
||||||
script = ExtResource("1_3dxm6")
|
script = ExtResource("1_joorw")
|
||||||
|
|
||||||
[node name="MeetingSpawn" type="Marker2D" parent="." unique_id=1266113438]
|
[node name="MeetingSpawn" type="Marker2D" parent="." unique_id=1266113438]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(775, 36)
|
position = Vector2(167, -412)
|
||||||
gizmo_extents = 40.0
|
gizmo_extents = 40.0
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="." unique_id=594808349]
|
[node name="TextureRect" type="TextureRect" parent="." unique_id=594808349]
|
||||||
@@ -64,12 +64,12 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
|
|
||||||
[node name="CompanyStatsContainer" parent="CanvasLayer/Control" unique_id=317328071 instance=ExtResource("2_trn2v")]
|
[node name="CompanyStatsContainer" parent="CanvasLayer/Control" unique_id=317328071 instance=ExtResource("2_2vekm")]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
offset_left = -249.53503
|
offset_left = -249.53503
|
||||||
offset_right = 0.0
|
offset_right = 0.0
|
||||||
|
|
||||||
[node name="DaySchedule" parent="." unique_id=457829015 instance=ExtResource("1_r0du0")]
|
[node name="DaySchedule" parent="." unique_id=457829015 instance=ExtResource("3_yx171")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
offset_left = -493.0
|
offset_left = -493.0
|
||||||
offset_top = -277.00006
|
offset_top = -277.00006
|
||||||
@@ -105,57 +105,57 @@ shape = SubResource("RectangleShape2D_ig7tw")
|
|||||||
position = Vector2(1120, -339)
|
position = Vector2(1120, -339)
|
||||||
shape = SubResource("RectangleShape2D_ig7tw")
|
shape = SubResource("RectangleShape2D_ig7tw")
|
||||||
|
|
||||||
[node name="Meeting" parent="." unique_id=796440984 instance=ExtResource("1_glv2v")]
|
[node name="Meeting" parent="." unique_id=796440984 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(35, -776.00006)
|
position = Vector2(35, -776.00006)
|
||||||
MeetingResource = ExtResource("3_r0du0")
|
MeetingResource = ExtResource("5_gwjdr")
|
||||||
|
|
||||||
[node name="Meeting4" parent="." unique_id=1960552374 instance=ExtResource("1_glv2v")]
|
[node name="Meeting4" parent="." unique_id=1960552374 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(108, -662.00006)
|
position = Vector2(108, -662.00006)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
MeetingResource = ExtResource("4_cm0pq")
|
MeetingResource = ExtResource("6_lvtmh")
|
||||||
|
|
||||||
[node name="Meeting5" parent="." unique_id=1692042144 instance=ExtResource("1_glv2v")]
|
[node name="Meeting5" parent="." unique_id=1692042144 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(252, -822.00006)
|
position = Vector2(252, -822.00006)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
MeetingResource = ExtResource("5_fos0i")
|
MeetingResource = ExtResource("7_yyih5")
|
||||||
|
|
||||||
[node name="Meeting6" parent="." unique_id=2120697586 instance=ExtResource("1_glv2v")]
|
[node name="Meeting6" parent="." unique_id=2120697586 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(5, -942)
|
position = Vector2(5, -942)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
MeetingResource = ExtResource("3_r0du0")
|
MeetingResource = ExtResource("5_gwjdr")
|
||||||
|
|
||||||
[node name="Meeting7" parent="." unique_id=2144014406 instance=ExtResource("1_glv2v")]
|
[node name="Meeting7" parent="." unique_id=2144014406 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(258, -983.00006)
|
position = Vector2(258, -983.00006)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
MeetingResource = ExtResource("3_r0du0")
|
MeetingResource = ExtResource("5_gwjdr")
|
||||||
|
|
||||||
[node name="Meeting8" parent="." unique_id=1157887697 instance=ExtResource("1_glv2v")]
|
[node name="Meeting8" parent="." unique_id=1157887697 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(365, -877.00006)
|
position = Vector2(365, -877.00006)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
|
|
||||||
[node name="Meeting9" parent="." unique_id=1055632102 instance=ExtResource("1_glv2v")]
|
[node name="Meeting9" parent="." unique_id=1055632102 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(15, -1055)
|
position = Vector2(15, -1055)
|
||||||
rotation = 0.24779713
|
rotation = 0.24779713
|
||||||
MeetingResource = ExtResource("5_fos0i")
|
MeetingResource = ExtResource("7_yyih5")
|
||||||
|
|
||||||
[node name="Meeting2" parent="." unique_id=1691479453 instance=ExtResource("1_glv2v")]
|
[node name="Meeting2" parent="." unique_id=1691479453 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(338, -674.00006)
|
position = Vector2(338, -674.00006)
|
||||||
rotation = -0.5541229
|
rotation = -0.5541229
|
||||||
MeetingResource = ExtResource("3_r0du0")
|
MeetingResource = ExtResource("5_gwjdr")
|
||||||
|
|
||||||
[node name="Meeting3" parent="." unique_id=673551448 instance=ExtResource("1_glv2v")]
|
[node name="Meeting3" parent="." unique_id=673551448 instance=ExtResource("4_yhmtn")]
|
||||||
position = Vector2(163.99982, -503.0002)
|
position = Vector2(163.99982, -503.0002)
|
||||||
rotation = -0.18364333
|
rotation = -0.18364333
|
||||||
MeetingResource = ExtResource("3_r0du0")
|
MeetingResource = ExtResource("5_gwjdr")
|
||||||
|
|
||||||
[node name="DropZone" type="Control" parent="." unique_id=80494692]
|
[node name="DropZone" type="Control" parent="." unique_id=80494692]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
offset_left = 457.0
|
offset_left = -173.0
|
||||||
offset_top = 9.0
|
offset_top = -323.0
|
||||||
offset_right = 1080.0
|
offset_right = 507.0
|
||||||
offset_bottom = 571.0
|
offset_bottom = 276.0
|
||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
script = ExtResource("7_lgr22")
|
script = ExtResource("8_qjyg3")
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=1154975713]
|
[node name="Camera2D" type="Camera2D" parent="." unique_id=1154975713]
|
||||||
6
GameState.cs
Normal file
6
GameState.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace yourareanaiceo;
|
||||||
|
|
||||||
|
public class GameState
|
||||||
|
{
|
||||||
|
public Company Company { get; set; } = new();
|
||||||
|
}
|
||||||
1
GameState.cs.uid
Normal file
1
GameState.cs.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://ndqbupmafy7v
|
||||||
16
Main.cs
16
Main.cs
@@ -1,16 +0,0 @@
|
|||||||
using Godot;
|
|
||||||
|
|
||||||
[SceneTree]
|
|
||||||
public partial class Main : Node2D
|
|
||||||
{
|
|
||||||
[Export]
|
|
||||||
public Company Company;
|
|
||||||
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
Company = new Company();
|
|
||||||
Company.Hype = 0;
|
|
||||||
|
|
||||||
ExecuteButton.Pressed += () => DaySchedule.StartDay();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
public sealed partial class MeetingControlDragData(MeetingControl meetingControl) : GodotObject
|
public sealed partial class MeetingControlDragData(MeetingControl meetingControl) : GodotObject
|
||||||
{
|
{
|
||||||
@@ -86,9 +87,9 @@ public partial class MeetingControl : Control
|
|||||||
|
|
||||||
private void RespawnPhysicsBoxFromSpawn()
|
private void RespawnPhysicsBoxFromSpawn()
|
||||||
{
|
{
|
||||||
var main = (Main)FindParent("Main");
|
var game = this.GetGame();
|
||||||
main.AddChild(MeetingPhysicsBox);
|
game.AddChild(MeetingPhysicsBox);
|
||||||
MeetingPhysicsBox.Position = main.MeetingSpawn.GlobalPosition;
|
MeetingPhysicsBox.Position = game.MeetingSpawn.GlobalPosition;
|
||||||
QueueFree();
|
QueueFree();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,4 +102,17 @@ public partial class MeetingControl : Control
|
|||||||
|
|
||||||
return preview;
|
return preview;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Animate()
|
||||||
|
{
|
||||||
|
var tween = CreateTween();
|
||||||
|
|
||||||
|
tween.TweenProperty(
|
||||||
|
this,
|
||||||
|
new NodePath(Control.PropertyName.Scale),
|
||||||
|
new Vector2(1.2f, 1.2f),
|
||||||
|
0.4f
|
||||||
|
);
|
||||||
|
tween.TweenProperty(this, new NodePath(Control.PropertyName.Scale), Vector2.One, 0.4f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
11
TimeSlot.cs
11
TimeSlot.cs
@@ -1,4 +1,5 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
[SceneTree]
|
[SceneTree]
|
||||||
public partial class TimeSlot : PanelContainer
|
public partial class TimeSlot : PanelContainer
|
||||||
@@ -30,4 +31,14 @@ public partial class TimeSlot : PanelContainer
|
|||||||
if (what == NotificationDragEnd)
|
if (what == NotificationDragEnd)
|
||||||
MouseFilter = MouseFilterEnum.Ignore;
|
MouseFilter = MouseFilterEnum.Ignore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void StartMeeting()
|
||||||
|
{
|
||||||
|
GD.Print("New Meeting starts!");
|
||||||
|
var gameState = this.GetGame().GameState;
|
||||||
|
|
||||||
|
// TODO: TimeSlot hat bekommt die MeetingResource on Drop?? oder zumindest nicht über Gfx gehen
|
||||||
|
MeetingControl?.MeetingControlGfx.MeetingResource.StartMeeting(gameState);
|
||||||
|
MeetingControl?.Animate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
14
resources/GainHypeAction.cs
Normal file
14
resources/GainHypeAction.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
|
[GlobalClass]
|
||||||
|
public partial class GainHypeAction : MeetingActionResource
|
||||||
|
{
|
||||||
|
[Export]
|
||||||
|
public int Amount;
|
||||||
|
|
||||||
|
public override void Execute(GameState gameState)
|
||||||
|
{
|
||||||
|
gameState.Company.Hype += Amount;
|
||||||
|
}
|
||||||
|
}
|
||||||
1
resources/GainHypeAction.cs.uid
Normal file
1
resources/GainHypeAction.cs.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cduoflv3vjfmg
|
||||||
8
resources/MeetingActionResource.cs
Normal file
8
resources/MeetingActionResource.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Godot;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
|
[GlobalClass]
|
||||||
|
public abstract partial class MeetingActionResource : Resource
|
||||||
|
{
|
||||||
|
public abstract void Execute(GameState gameState);
|
||||||
|
}
|
||||||
1
resources/MeetingActionResource.cs.uid
Normal file
1
resources/MeetingActionResource.cs.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://chl0yv2tsg2va
|
||||||
@@ -1,13 +1,32 @@
|
|||||||
|
using System.Linq;
|
||||||
using Godot;
|
using Godot;
|
||||||
|
using Godot.Collections;
|
||||||
|
using yourareanaiceo;
|
||||||
|
|
||||||
[GlobalClass]
|
[GlobalClass]
|
||||||
public partial class MeetingResource : Resource
|
public partial class MeetingResource : Resource
|
||||||
{
|
{
|
||||||
|
[Export]
|
||||||
|
public Array<MeetingActionResource> OnMeetingStartActions { get; set; } = [];
|
||||||
|
|
||||||
|
[Export]
|
||||||
|
public Array<MeetingActionResource> OnMeetingEndActions { get; set; } = [];
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
||||||
[Export]
|
[Export]
|
||||||
public Color Color { get; set; }
|
public Color Color { get; set; }
|
||||||
|
|
||||||
|
public void StartMeeting(GameState gameState)
|
||||||
|
{
|
||||||
|
OnMeetingStartActions.ToList().ForEach(m => m.Execute(gameState));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void EndMeeting(GameState gameState)
|
||||||
|
{
|
||||||
|
OnMeetingEndActions.ToList().ForEach(m => m.Execute(gameState));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class DummyMeetingResource : MeetingResource
|
public partial class DummyMeetingResource : MeetingResource
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
[gd_resource type="Resource" script_class="MeetingResource" format=3 uid="uid://du72uxjqr0h4a"]
|
[gd_resource type="Resource" script_class="MeetingResource" format=3 uid="uid://du72uxjqr0h4a"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cuq38lbfa2v74" path="res://resources/MeetingResource.cs" id="1_4yd4m"]
|
[ext_resource type="Script" uid="uid://cuq38lbfa2v74" path="res://resources/MeetingResource.cs" id="1_4yd4m"]
|
||||||
|
[ext_resource type="Script" uid="uid://cduoflv3vjfmg" path="res://resources/GainHypeAction.cs" id="1_qpv0b"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_7t1gw"]
|
||||||
|
script = ExtResource("1_qpv0b")
|
||||||
|
Amount = 20
|
||||||
|
metadata/_custom_type_script = "uid://cduoflv3vjfmg"
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_4yd4m")
|
script = ExtResource("1_4yd4m")
|
||||||
|
OnMeetingStartActions = Array[Object]([SubResource("Resource_7t1gw")])
|
||||||
|
OnMeetingEndActions = null
|
||||||
Title = "LOCK IN"
|
Title = "LOCK IN"
|
||||||
Color = Color(0.73206806, 0.22440341, 0.33911285, 1)
|
Color = Color(0.73206806, 0.22440341, 0.33911285, 1)
|
||||||
metadata/_custom_type_script = "uid://cuq38lbfa2v74"
|
metadata/_custom_type_script = "uid://cuq38lbfa2v74"
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
[gd_resource type="Resource" script_class="MeetingResource" format=3 uid="uid://bcd4qf4i84pwf"]
|
[gd_resource type="Resource" script_class="MeetingResource" format=3 uid="uid://bcd4qf4i84pwf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cduoflv3vjfmg" path="res://resources/GainHypeAction.cs" id="1_7t1gw"]
|
||||||
[ext_resource type="Script" uid="uid://cuq38lbfa2v74" path="res://resources/MeetingResource.cs" id="1_qndny"]
|
[ext_resource type="Script" uid="uid://cuq38lbfa2v74" path="res://resources/MeetingResource.cs" id="1_qndny"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_b6clr"]
|
||||||
|
script = ExtResource("1_7t1gw")
|
||||||
|
Amount = 10
|
||||||
|
metadata/_custom_type_script = "uid://cduoflv3vjfmg"
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_qndny")
|
script = ExtResource("1_qndny")
|
||||||
|
OnMeetingStartActions = Array[Object]([SubResource("Resource_b6clr")])
|
||||||
|
OnMeetingEndActions = null
|
||||||
Title = "Work on your Product"
|
Title = "Work on your Product"
|
||||||
Color = Color(0.4354798, 0.3262509, 0.83488727, 1)
|
Color = Color(0.4354798, 0.3262509, 0.83488727, 1)
|
||||||
metadata/_custom_type_script = "uid://cuq38lbfa2v74"
|
metadata/_custom_type_script = "uid://cuq38lbfa2v74"
|
||||||
|
|||||||
Reference in New Issue
Block a user