Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public bool IsEnough(MasterDataRecord masterDataRecord, int amount)
 {
     return(this.GetPossessionCount(masterDataRecord) >= amount);
 }