小编use*_*483的帖子

C#Subclass最佳实践

我目前正在XNA上玩游戏,我不确定如何进行以下操作......

我有这样的基础建筑物

   public class BuildingsBase
   {
     private int _hp;
     public int hp
     {
        get { return _hp; }
        set { _hp= value; }
     }

     private int _woodRequired;
     public int woodRequired
     {
        get { return _woodRequired; }
        set { _woodRequired = value; }
     }
  }
Run Code Online (Sandbox Code Playgroud)

然后,我有多个子类用于构建类型,例如.

public class TownHall:BuildingsBase
{
    public int foodHeld;

    public TownHall()
    {
        foodHeld = 100;
        woodRequired = 500;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,设置构建子类的默认值的最佳方法是什么.

例如,市政厅的woodRequired被设置为500但在代码中的不同位置我需要访问此值,然后才能宣布市政厅的实例(当检查是否有足够的木材建造时).

我目前为每种建筑类型都有一个全局的默认变量数组,但我想知道是否有更好的方法来做到这一点.

if (Globals.buildingDefaults[BuildingType.Townhall].woodRequired < Globals.currentWood)
{
    Townhall newTH = new Townhall();
}
Run Code Online (Sandbox Code Playgroud)

c# constructor subclass

5
推荐指数
1
解决办法
493
查看次数

多个类名在 NgClass 中不起作用

我正在尝试根据 上的条件添加多个类名NgClass。它适用于最后一个条件,但似乎不适用于第二个条件。在检查器中看起来好像fas第二个条件错过了课程。

<i [ngClass]="{'pr-1' : true,
               'valid-group fas fa-check-circle ' : isGroupValid('vg1'),
               'invalid-group fas fa-exclamation-circle' : !isGroupValid('vg1')}"></i>
Run Code Online (Sandbox Code Playgroud)

这会正确显示感叹号图标,但不显示复选圈,如果我交换顺序,则复选圈有效但不是感叹号。这让我相信第二种情况下的课程与最后一种情况不同,这是正确的吗?

css angular

3
推荐指数
1
解决办法
368
查看次数

标签 统计

angular ×1

c# ×1

constructor ×1

css ×1

subclass ×1