GetSkillLevel() public method

public GetSkillLevel ( SkillID skill ) : byte
skill SkillID
return byte
コード例 #1
0
ファイル: BuildItem.cs プロジェクト: Fulborg/dwarrowdelf
        static ItemObject PerformBuildItem(LivingObject builder, BuildableItem buildableItem, IEnumerable<ObjectID> sourceObjects)
        {
            if (!VerifyBuildItem(builder, buildableItem, sourceObjects))
                return null;

            var obs = sourceObjects.Select(oid => builder.World.FindObject<ItemObject>(oid));

            MaterialID materialID;

            if (buildableItem.MaterialID.HasValue)
                materialID = buildableItem.MaterialID.Value;
            else
                materialID = obs.First().MaterialID;

            var skillLevel = builder.GetSkillLevel(buildableItem.SkillID);

            var itemBuilder = new ItemObjectBuilder(buildableItem.ItemID, materialID)
            {
                Quality = skillLevel,
            };
            var item = itemBuilder.Create(builder.World);

            foreach (var ob in obs)
                ob.Destruct();

            if (item.MoveTo(builder.Environment, builder.Location) == false)
                throw new Exception();

            return item;
        }
コード例 #2
0
        static ItemObject PerformBuildItem(LivingObject builder, BuildableItem buildableItem, IEnumerable <ObjectID> sourceObjects)
        {
            if (!VerifyBuildItem(builder, buildableItem, sourceObjects))
            {
                return(null);
            }

            var obs = sourceObjects.Select(oid => builder.World.FindObject <ItemObject>(oid));

            MaterialID materialID;

            if (buildableItem.MaterialID.HasValue)
            {
                materialID = buildableItem.MaterialID.Value;
            }
            else
            {
                materialID = obs.First().MaterialID;
            }

            var skillLevel = builder.GetSkillLevel(buildableItem.SkillID);

            var itemBuilder = new ItemObjectBuilder(buildableItem.ItemID, materialID)
            {
                Quality = skillLevel,
            };
            var item = itemBuilder.Create(builder.World);

            foreach (var ob in obs)
            {
                ob.Destruct();
            }

            item.MoveToMustSucceed(builder.Environment, builder.Location);

            return(item);
        }