26 lines
658 B
C#
26 lines
658 B
C#
using Godot;
|
|
using System;
|
|
|
|
public class Creature : KinematicBody2D
|
|
{
|
|
[Export]
|
|
public String creatureName = "UNKNOWN";
|
|
public Health health = new Health();
|
|
private Vector2 worldPosition = Vector2.Zero;
|
|
private TileMap map {
|
|
get {
|
|
return GetParent().GetChild<TileMap>(0);
|
|
}}
|
|
|
|
protected void Move(Vector2 movement)
|
|
{
|
|
// Generate new position in world and check
|
|
// if location is a valid location to move to.
|
|
Vector2 new_pos = worldPosition + movement;
|
|
if (map.IsValidMapPosition(new_pos))
|
|
{
|
|
Position = map.MapToWorld(worldPosition); // Update position based on tile location
|
|
worldPosition = new_pos; // Save new location
|
|
}
|
|
}
|
|
} |