コード例 #1
0
ファイル: CraftInfo.cs プロジェクト: AllanNisbet/runuo
        public CraftInfo(
            Type t,
            TextDefinition group,
            TextDefinition name,
            double minSkill,
            double maxSkill,
            IEnumerable <ResourceInfo> resources,
            Action <CraftItem> onAdded = null)
        {
            TypeOf   = t;
            Group    = group.IsNullOrWhiteSpace() ? new TextDefinition("Misc") : group;
            Name     = name.IsNullOrWhiteSpace() ? new TextDefinition("Unknown") : name;
            MinSkill = Math.Max(0.0, Math.Min(minSkill, maxSkill));
            MaxSkill = Math.Max(MinSkill, Math.Max(minSkill, maxSkill));

            if (resources != null)
            {
                Resources = resources.Where(r => r.TypeOf != null && r.TypeOf.IsEqualOrChildOf <Item>()).ToArray();
            }

            if (Resources.Length == 0)
            {
                Resources = DefResources.Dupe(r => new ResourceInfo(r.TypeOf, r.Name, r.Amount));
            }

            _OnAdded = onAdded;
        }
コード例 #2
0
ファイル: ResourceInfo.cs プロジェクト: AllanNisbet/runuo
 public ResourceInfo(Type t, TextDefinition name, int amount)
 {
     TypeOf = t;
     Name   = name.IsNullOrWhiteSpace() ? new TextDefinition("Unknown") : name;
     Amount = Math.Max(1, amount);
 }