Fix Enemy logic

This commit is contained in:
2025-03-11 17:11:43 -07:00
parent 29af9062b5
commit 76b94f7be3
4 changed files with 315 additions and 326 deletions

View File

@@ -13,6 +13,7 @@ public class PlayerStatController
_currentVT.OnNext(playerStats.CurrentVT);
_maximumVT.OnNext(playerStats.MaximumVT);
_currentExp.OnNext(playerStats.CurrentExp);
_expToNextLevel.OnNext(playerStats.ExpToNextLevel);
_currentLevel.OnNext(playerStats.CurrentLevel);
_currentAttack.OnNext(playerStats.CurrentAttack);
_bonusAttack.OnNext(playerStats.BonusAttack);
@@ -20,7 +21,6 @@ public class PlayerStatController
_currentDefense.OnNext(playerStats.CurrentDefense);
_bonusDefense.OnNext(playerStats.BonusDefense);
_maxDefense.OnNext(playerStats.MaxDefense);
_expToNextLevel.OnNext(playerStats.ExpToNextLevel);
_luck.OnNext(playerStats.Luck);
}

View File

@@ -44,7 +44,7 @@ public partial class NavigationAgentClient : Node3D, INavigationAgentClient
if (!_canMove)
return;
var enemy = GetParent() as IEnemy;
var enemy = GetOwner() as IEnemy;
enemy.Move(safeVelocity);
}
@@ -71,7 +71,7 @@ public partial class NavigationAgentClient : Node3D, INavigationAgentClient
var rng = new RandomNumberGenerator();
rng.Randomize();
_patrolTimer.WaitTime = rng.RandfRange(5.0f, 10.0f);
var enemy = GetParent() as ICanPatrol;
var enemy = GetOwner() as ICanPatrol;
enemy.Patrol();
}
}

View File

@@ -124,7 +124,6 @@ public partial class InventoryMenu : Control, IInventoryMenu
private void ExpToNextLevel_Sync(int obj) => EXPValue.Text = $"{Player.Stats.CurrentExp.Value}/{obj}";
// TODO: Change font style when EXP Bonus effect is active
private void CurrentExp_Sync(double obj) => EXPValue.Text = $"{obj}/{Player.Stats.ExpToNextLevel.Value}";
private void MaxDefense_Sync(int obj) => DEFValue.Text = $"{Player.Stats.CurrentDefense.Value}/{obj}";

View File

@@ -384,9 +384,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
public void Equip(EquipableItem equipable)
{
if (string.IsNullOrEmpty(equipable.ItemName))
return;
if (equipable is Weapon weapon)
{
Unequip(_equippedWeapon.Value);
@@ -407,15 +404,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
}
else
throw new NotImplementedException("Item type is not supported.");
_gameRepo.OnEquippedItem(equipable);
}
public void Unequip(EquipableItem equipable)
{
if (string.IsNullOrEmpty(equipable.ItemName))
return;
if (equipable is Weapon weapon)
{
weapon.IsEquipped = false;
@@ -443,8 +435,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
if (equipable.ItemTag == ItemTag.BreaksOnChange)
Inventory.Remove(equipable);
_gameRepo.OnUnequippedItem(equipable);
}
private static Vector3 GlobalInputVector