Beeg checkin

This commit is contained in:
2023-09-06 03:49:16 -07:00
parent f180d4cacd
commit f8cca640a6
320 changed files with 2751 additions and 26682 deletions

View File

@@ -0,0 +1,18 @@
using Godot;
public partial class BasicEnemy : Node3D
{
protected GameManager _gameManager;
public override void _Ready()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
}
public void OnEnemyHit(Node3D node)
{
var currentLevel = (Level)GetTree().GetFirstNodeInGroup("Level");
currentLevel.OnEnemyDefeated(this);
QueueFree();
}
}

View File

@@ -0,0 +1,14 @@
using Godot;
public partial class GodCircuit : Node3D
{
private void OnHit(Node3D node)
{
GD.Print("Hit");
var hpComponent = GetNode<HealthPoints>("HP Component");
hpComponent.TakeDamage(800000);
hpComponent.UpdateHealthbar();
if (hpComponent.CurrentHP <= 0)
QueueFree();
}
}

View File

@@ -0,0 +1,20 @@
using Godot;
using System.Linq;
public partial class MeleeEnemy : BasicEnemy
{
[Export]
private float _speed = 0.4f;
public override void _PhysicsProcess(double delta)
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
Position = Position.MoveToward(target.Position, _speed * (float)delta);
LookAt(-target.Position, Vector3.Up);
}
}
}

View File

@@ -0,0 +1,17 @@
using Godot;
using System.Linq;
public partial class RangedEnemy : BasicEnemy
{
public override void _Process(double delta)
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var area = GetChildren().OfType<Area3D>().Single();
area.LookAt(target.Position, Vector3.Up);
}
}
}