79 lines
1.8 KiB
C#
79 lines
1.8 KiB
C#
using Godot;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
/// TODO alter code to player vs computer to account for differing logic
|
|
public partial class Manager : Node
|
|
{
|
|
public bool _dead, _ready;
|
|
public int _ballsMoving = 0, _health = 10, _healthMax;
|
|
public string _imagePath;
|
|
public CollisionShape2D _startArea;
|
|
public ManagerPanel _managerPanel = null;
|
|
public Manager _opponent;
|
|
public List<Worker> _workers = new();
|
|
public List<Tchotchke> _tchotckes = new();
|
|
|
|
public override void _Ready()
|
|
{
|
|
_healthMax = _health;
|
|
|
|
SetSprite("res://art/ness.png");
|
|
|
|
_managerPanel = GetNode<ManagerPanel>("Panel");
|
|
|
|
_managerPanel.SetManager(this);
|
|
|
|
Worker newWorker = Globals.Instance._workerScene.Instantiate<Worker>();
|
|
newWorker.Position = Globals.Instance._screenCenter + new Vector2(0, 100);
|
|
newWorker._id = 1;
|
|
AddChild(newWorker);
|
|
_workers.Add(newWorker);
|
|
|
|
newWorker = Globals.Instance._workerScene.Instantiate<Worker>();
|
|
newWorker.Position = Globals.Instance._screenCenter - new Vector2(0, 100);
|
|
newWorker._id = 2;
|
|
AddChild(newWorker);
|
|
_workers.Add(newWorker);
|
|
|
|
Tchotchke newTchotchke = Globals.Instance._tchotchkeScene.Instantiate<Tchotchke>();
|
|
newTchotchke.Position = new Vector2(Globals.Instance._screenSize.X - 100, Globals.Instance._screenCenter.Y);
|
|
AddChild(newTchotchke);
|
|
_tchotckes.Add(newTchotchke);
|
|
}
|
|
|
|
public override void _Process(double DELTA_)
|
|
{
|
|
|
|
if (_workers.All(w => w._placed && w._primed))
|
|
{
|
|
for (int i = 0; i < _workers.Count; i++)
|
|
{
|
|
_workers[i].Launch();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void ChangeHealth(int CHANGE)
|
|
{
|
|
_health += CHANGE;
|
|
_health = Math.Min(_health, _healthMax);
|
|
|
|
if (_health < 0)
|
|
{
|
|
_dead = true;
|
|
_health = 0;
|
|
}
|
|
|
|
GetNode<ManagerPanel>("Panel").SetValue(_health);
|
|
}
|
|
|
|
public void SetSprite(string PATH)
|
|
{
|
|
_imagePath = PATH;
|
|
}
|
|
|
|
|
|
}
|