public bool Contains(MasterDataRecord masterDataRecord) { if (masterDataRecord is WeaponRecord) { foreach (var w in this.weapons) { if (w.WeaponRecord == masterDataRecord) { return(true); } } return(false); } if (masterDataRecord is AccessoryRecord) { return(this.accessories.Contains(masterDataRecord as AccessoryRecord)); } if (masterDataRecord is MaterialRecord) { return(this.materials.ContainsKey(masterDataRecord as MaterialRecord)); } Assert.IsTrue(false, "未定義の動作です"); return(false); }
private int GetPossessionCount(MasterDataRecord masterDataRecord) { var result = 0; if (masterDataRecord is WeaponRecord) { foreach (var w in this.weapons) { result += (w.WeaponRecord == masterDataRecord) ? 1 : 0; } return(result); } if (masterDataRecord is AccessoryRecord) { foreach (var a in this.accessories) { result += (a == masterDataRecord) ? 1 : 0; } return(result); } if (masterDataRecord is MaterialRecord) { var materialRecord = masterDataRecord as MaterialRecord; return(this.Materials[materialRecord].Amount); } Assert.IsTrue(false, "未定義の動作です"); return(0); }
public bool IsEnough(MasterDataRecord masterDataRecord, int amount) { return(this.GetPossessionCount(masterDataRecord) >= amount); }