Enemy follow
This commit is contained in:
@@ -40,6 +40,7 @@ public partial class GameManager : Node
|
||||
|
||||
public void OnP1CharacterSelected()
|
||||
{
|
||||
GD.Print("Instancing...");
|
||||
var selectedPlayer = _p1Characters[_p1CharacterIndex].Instantiate();
|
||||
_p1SelectedCharacter = selectedPlayer as Character;
|
||||
GetTree().Root.AddChild(_p1SelectedCharacter);
|
||||
|
||||
@@ -14,7 +14,7 @@ public partial class MainMenu : Node2D
|
||||
_player = GetTree().Root.GetNode<AnimationPlayer>("/root/Main/MainMenu/UIAnimations/AnimationPlayer");
|
||||
_player.Queue("IntroLore");
|
||||
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
|
||||
bgmPlayer.SetBGMFromFilepath("Audio/BGM/02 MovinOn.mp3");
|
||||
bgmPlayer.SetBGMFromFilepath("Audio/BGM/titlemusic.wav");
|
||||
bgmPlayer.PlayBGM();
|
||||
}
|
||||
|
||||
|
||||
20
Scripts/MeleeEnemy.cs
Normal file
20
Scripts/MeleeEnemy.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Godot;
|
||||
using System.Linq;
|
||||
|
||||
public partial class MeleeEnemy : CharacterBody3D
|
||||
{
|
||||
private float _speed = 1.0f;
|
||||
|
||||
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();
|
||||
GD.Print(Position.DirectionTo(target.Position));
|
||||
Position = Position.MoveToward(target.Position, _speed * (float)delta);
|
||||
MoveAndSlide();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user