Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / mark / WeaponMark.cs
@lijincheng lijincheng on 5 Apr 2023 1014 bytes 小修改

using Godot;

/// <summary>
/// 针对武器生成位置的标记
/// </summary>
[Tool]
public partial class WeaponMark : ActivityMark
{
    /// <summary>
    /// 当前弹夹弹药量, 如果值小于0, 则使用默认弹药量
    /// </summary>
    [Export]
    public int CurrAmmon = -1;

    /// <summary>
    /// 备用弹药容量, 如果值小于0, 则使用默认弹药量
    /// </summary>
    [Export]
    public int ResidueAmmo = -1;
    
    public override void _Ready()
    {
        DrawColor = Colors.Blue;
        Type = ActivityIdPrefix.ActivityPrefixType.Weapon;
        Layer = RoomLayerEnum.NormalLayer;
    }

    public override void Doing(RoomInfo roomInfo)
    {
        //创建武器
        var instance = (Weapon)CreateActivityObject();
        if (CurrAmmon >= 0)
        {
            instance.SetCurrAmmo(CurrAmmon);   
        }

        if (ResidueAmmo >= 0)
        {
            instance.SetResidueAmmo(ResidueAmmo);   
        }


        instance.PutDown(Layer);
    }
}