using ColdMint.scripts.character;
using ColdMint.scripts.inventory;
using ColdMint.scripts.map.miniMap;
using ColdMint.scripts.utils;
using Godot;
namespace ColdMint.scripts;
///
/// Dependencies on the runtime of the game scene
/// 游戏场景运行时的依赖
///
public static class GameSceneDepend
{
///
/// MiniMap
/// 迷你地图
///
public static MiniMap? MiniMap { get; set; }
///
/// MiniMapAnimationPlayer
/// 迷你地图的动画节点
///
public static AnimationPlayer? MiniMapAnimationPlayer { get; set; }
private static Player? _player;
///
/// Player instances within the game scene
/// 游戏场景内的玩家实例
///
public static Player? Player
{
get => _player;
set
{
_player = value;
if (MiniMap != null)
{
MiniMap.OwnerNode = _player;
}
}
}
///
/// When the mouse enters the scope of a character, it is considered a target
/// 鼠标进入到某个角色的范围内时,会将其视作目标
///
public static Node2D? TemporaryTargetNode { get; set; }
///
/// ProjectileContainer
/// 抛射体容器
///
public static Node2D? ProjectileContainer { get; set; }
///
/// SpellContainer
/// 法术容器
///
public static Node2D? SpellContainer { get; set; }
///
/// WeaponContainer
/// 武器容器
///
public static Node2D? WeaponContainer { get; set; }
///
/// PacksackContainer
/// 背包容器
///
public static Node2D? PacksackContainer { get; set; }
///
/// PlayerContainer
/// 玩家容器
///
public static Node2D? PlayerContainer { get; set; }
///
/// PickAbleContainer
/// 可拾捡物容器
///
public static Node2D? PickAbleContainer { get; set; }
///
/// AICharacterContainer
/// AICharacter角色
///
public static Node2D? AiCharacterContainer { get; set; }
///
/// HotBar
/// 快捷栏
///
public static HotBar? HotBar { get; set; }
///
/// Health Bar UI
/// 健康条UI
///
public static HealthBarUi? HealthBarUi { get; set; }
///
/// DynamicUiGroup
/// 动态生成的Ui组
///
///
///Dynamically generated Ui objects will be placed under this node
///动态生成的Ui对象将放置在此节点下
///
public static UiGroup? DynamicUiGroup { get; set; }
///
/// Whether the player's mouse is hovering over GUI furniture
/// 玩家的鼠标是否悬浮在GUI家具上
///
public static bool IsMouseOverFurnitureGui;
///
/// Whether the mouse is suspended over the item slot
/// 鼠标是否悬浮在物品槽上
///
public static bool IsMouseOverItemSlotNode;
}