예제 #1
0
파일: Sheep.cs 프로젝트: lvyitian1/Alex
        public void SetColor(int value)
        {
            if (value < 0 || value > 19)
            {
                Log.Warn($"Invalid sheep color: {value}");
                return;
            }

            Color = SheepColors[value % SheepColors.Length];
        }
예제 #2
0
        public Item(IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, DbWarehouseItem dbWarehouseItem) : this(databasePreloader, enchantConfig, itemCreateConfig, dbWarehouseItem.Type, dbWarehouseItem.TypeId, dbWarehouseItem.Count)
        {
            Bag     = WarehouseManager.WAREHOUSE_BAG;
            Slot    = dbWarehouseItem.Slot;
            Quality = dbWarehouseItem.Quality;

            CreationTime   = dbWarehouseItem.CreationTime;
            ExpirationTime = dbWarehouseItem.ExpirationTime;

            if (!string.IsNullOrWhiteSpace(dbWarehouseItem.Craftname))
            {
                ParseCraftname(dbWarehouseItem.Craftname);
            }

            if (dbWarehouseItem.HasDyeColor)
            {
                DyeColor = new DyeColor(dbWarehouseItem.DyeColorAlpha, dbWarehouseItem.DyeColorSaturation, dbWarehouseItem.DyeColorR, dbWarehouseItem.DyeColorG, dbWarehouseItem.DyeColorB);
            }

            if (dbWarehouseItem.GemTypeId1 != 0)
            {
                Gem1 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId1, 0);
            }
            if (dbWarehouseItem.GemTypeId2 != 0)
            {
                Gem2 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId2, 1);
            }
            if (dbWarehouseItem.GemTypeId3 != 0)
            {
                Gem3 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId3, 2);
            }
            if (dbWarehouseItem.GemTypeId4 != 0)
            {
                Gem4 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId4, 3);
            }
            if (dbWarehouseItem.GemTypeId5 != 0)
            {
                Gem5 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId5, 4);
            }
            if (dbWarehouseItem.GemTypeId6 != 0)
            {
                Gem6 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId6, 5);
            }
        }
예제 #3
0
        public Item(IDatabasePreloader databasePreloader, DbCharacterItems dbCharacterItem) : this(databasePreloader, dbCharacterItem.Type, dbCharacterItem.TypeId, dbCharacterItem.Count)
        {
            Bag     = dbCharacterItem.Bag;
            Slot    = dbCharacterItem.Slot;
            Quality = dbCharacterItem.Quality;

            CreationTime   = dbCharacterItem.CreationTime;
            ExpirationTime = dbCharacterItem.ExpirationTime;

            if (!string.IsNullOrWhiteSpace(dbCharacterItem.Craftname))
            {
                ParseCraftname(dbCharacterItem.Craftname);
            }

            if (dbCharacterItem.HasDyeColor)
            {
                DyeColor = new DyeColor(dbCharacterItem.DyeColorAlpha, dbCharacterItem.DyeColorSaturation, dbCharacterItem.DyeColorR, dbCharacterItem.DyeColorG, dbCharacterItem.DyeColorB);
            }

            if (dbCharacterItem.GemTypeId1 != 0)
            {
                Gem1 = new Gem(databasePreloader, dbCharacterItem.GemTypeId1, 0);
            }
            if (dbCharacterItem.GemTypeId2 != 0)
            {
                Gem2 = new Gem(databasePreloader, dbCharacterItem.GemTypeId2, 1);
            }
            if (dbCharacterItem.GemTypeId3 != 0)
            {
                Gem3 = new Gem(databasePreloader, dbCharacterItem.GemTypeId3, 2);
            }
            if (dbCharacterItem.GemTypeId4 != 0)
            {
                Gem4 = new Gem(databasePreloader, dbCharacterItem.GemTypeId4, 3);
            }
            if (dbCharacterItem.GemTypeId5 != 0)
            {
                Gem5 = new Gem(databasePreloader, dbCharacterItem.GemTypeId5, 4);
            }
            if (dbCharacterItem.GemTypeId6 != 0)
            {
                Gem6 = new Gem(databasePreloader, dbCharacterItem.GemTypeId6, 5);
            }
        }
예제 #4
0
 internal void SendDyeConfirm(IWorldClient client, bool success, DyeColor color)
 {
     using var packet = new Packet(PacketType.DYE_CONFIRM);
     packet.Write(success);
     if (success)
     {
         packet.Write(color.Alpha);
         packet.Write(color.Saturation);
         packet.Write(color.R);
         packet.Write(color.G);
         packet.Write(color.B);
     }
     else
     {
         packet.WriteByte(0);
         packet.WriteByte(0);
         packet.WriteByte(0);
         packet.WriteByte(0);
         packet.WriteByte(0);
     }
     client.SendPacket(packet);
 }
예제 #5
0
 private static DyeColorInfoAttribute GetAttribute(DyeColor dyeColor)
 {
     return(dyeColor.GetAttribute <DyeColorInfoAttribute>());
 }
예제 #6
0
 public static Color GetColor(this DyeColor dyeColor)
 {
     return(GetAttribute(dyeColor).Color);
 }
예제 #7
0
 public static byte GetDyeData(this DyeColor dyeColor)
 {
     return(GetAttribute(dyeColor).DyeData);
 }
예제 #8
0
 public static Color GetFireworkColor(this DyeColor dyeColor)
 {
     return(GetAttribute(dyeColor).FireworkColor);
 }
예제 #9
0
 public void SetColor(DyeColor color)
 {
     Data = (byte)color;
 }
예제 #10
0
 public void SetColor(DyeColor color)
 {
     Data = color.GetWoolData();
 }
예제 #11
0
 public Wool(DyeColor color)
     : this()
 {
     SetColor(color);
 }