示例#1
0
        partial void Merge(UpgradeComponent entity, ItemDTO dto, object state)
        {
            var upgradeComponent = dto.UpgradeComponent;

            if (upgradeComponent == null)
            {
                return;
            }

            var flags = upgradeComponent.Flags;

            if (flags != null)
            {
                entity.UpgradeComponentFlags = this.upgradeComponentFlagCollectionConverter.Convert(flags, upgradeComponent);
            }

            var infusionUpgradeFlags = upgradeComponent.InfusionUpgradeFlags;

            if (infusionUpgradeFlags != null)
            {
                entity.InfusionUpgradeFlags = this.infusionSlotFlagCollectionConverter.Convert(infusionUpgradeFlags, upgradeComponent);
            }

            entity.Suffix = upgradeComponent.Suffix;

            var infixUpgrade = upgradeComponent.InfixUpgrade;

            if (infixUpgrade != null)
            {
                entity.InfixUpgrade = this.infixUpgradeConverter.Convert(infixUpgrade, upgradeComponent);
            }

            entity.Bonuses = upgradeComponent.Bonuses;
        }
        partial void Merge(UpgradeComponent entity, ItemDTO dto, object state)
        {
            var details = dto.Details;

            if (details == null)
            {
                return;
            }

            var flags = details.Flags;

            if (flags != null)
            {
                entity.UpgradeComponentFlags = this.upgradeComponentFlagCollectionConverter.Convert(flags, details);
            }

            var infusionUpgradeFlags = details.InfusionUpgradeFlags;

            if (infusionUpgradeFlags != null)
            {
                entity.InfusionUpgradeFlags = this.infusionSlotFlagCollectionConverter.Convert(infusionUpgradeFlags, details);
            }

            entity.Suffix = details.Suffix;

            var infixUpgrade = details.InfixUpgrade;

            if (infixUpgrade != null)
            {
                entity.InfixUpgrade = this.infixUpgradeConverter.Convert(infixUpgrade, details);
            }

            entity.Bonuses = details.Bonuses;
        }
示例#3
0
    private void Refresh(UpgradeComponent comp, Upgrade upgrade)
    {
        int level = ShipUpgrade.Instance.GetUpgrade(upgrade);
        int max   = ShipUpgrade.Instance.GetUpgradeMax(upgrade);

        if (level < max)
        {
            (int, int)res = ShipUpgrade.Instance.GetNextLevelCost(upgrade);
            comp.Set(res.Item1, res.Item2, level, max);
        }
        else
        {
            comp.Set(max);
        }
    }
        public override void process(Entity entity)
        {
            UpgradeComponent upgrade        = entity.getComponent <UpgradeComponent>();
            Collider         entityCollider = entity.getComponent <Collider>();
            var colliders = Physics.boxcastBroadphase(entityCollider.bounds, 1 << 1);

            foreach (var collider in colliders)
            {
                var upgrades = collider.getComponent <PlayerUpgradesComponent>();
                if (upgrades != null)
                {
                    upgrades.AddUpgrade(upgrade.Upgrade);
                    entity.destroy();
                    break;
                }
            }
        }
示例#5
0
        public static async Task GetItems()
        {
            List <Item> allItems = new List <Item>();
            List <int>  allIds   = apiOperations.GetAllIds(ITEMS_SUFFIX);

            Console.WriteLine($"Got {allIds.Count} items Ids");

            for (int i = 0; i < allIds.Count; i += 200)
            {
                IEnumerable <int> idsToDownload = allIds.Skip(i).Take(200);
                StringBuilder     endpoint      = new StringBuilder(ITEMS_SUFFIX).Append("?ids=");
                foreach (var id in idsToDownload)
                {
                    endpoint.Append(id)
                    .Append(',');
                }
                endpoint.Length--;
                List <APIResult <Item> > result = apiOperations.GetObjectsByIds <Item>(endpoint.ToString());

                foreach (var apiItem in result)
                {
                    Item itemToAdd = apiItem.ResultObject;
                    switch (itemToAdd.Type)
                    {
                    case "Armor":
                        Armor armor = JsonConvert.DeserializeObject <Armor>(apiItem.AdditionalDetails);
                        armor.Id          = itemToAdd.Id;
                        itemToAdd.Armor   = armor;
                        itemToAdd.ArmorId = armor.Id;
                        dbOperations.AddWithoutCommit <Armor>(armor);
                        break;

                    case "Weapon":
                        Weapon weapon = JsonConvert.DeserializeObject <Weapon>(apiItem.AdditionalDetails);
                        weapon.Id          = itemToAdd.Id;
                        itemToAdd.Weapon   = weapon;
                        itemToAdd.WeaponId = weapon.Id;
                        dbOperations.AddWithoutCommit <Weapon>(weapon);
                        break;

                    case "Back":
                        BackItem backItem = JsonConvert.DeserializeObject <BackItem>(apiItem.AdditionalDetails);
                        if (backItem == null)
                        {
                            backItem = new BackItem();
                        }
                        backItem.Id          = itemToAdd.Id;
                        itemToAdd.BackItem   = backItem;
                        itemToAdd.BackItemId = backItem.Id;
                        dbOperations.AddWithoutCommit <BackItem>(backItem);
                        break;

                    case "Consumable":
                        Consumable consumable = JsonConvert.DeserializeObject <Consumable>(apiItem.AdditionalDetails);
                        consumable.Id          = itemToAdd.Id;
                        itemToAdd.Consumable   = consumable;
                        itemToAdd.ConsumableId = consumable.Id;
                        dbOperations.AddWithoutCommit <Consumable>(consumable);
                        break;

                    case "Container":
                        Container container = JsonConvert.DeserializeObject <Container>(apiItem.AdditionalDetails);
                        container.Id          = itemToAdd.Id;
                        itemToAdd.Container   = container;
                        itemToAdd.ContainerId = container.Id;
                        dbOperations.AddWithoutCommit <Container>(container);
                        break;

                    case "Gathering":
                        GatheringTool gathering = JsonConvert.DeserializeObject <GatheringTool>(apiItem.AdditionalDetails);
                        gathering.Id              = itemToAdd.Id;
                        itemToAdd.GatheringTool   = gathering;
                        itemToAdd.GatheringToolId = gathering.Id;
                        dbOperations.AddWithoutCommit <GatheringTool>(gathering);
                        break;

                    case "Gizmo":
                        Gizmo gizmo = JsonConvert.DeserializeObject <Gizmo>(apiItem.AdditionalDetails);
                        gizmo.Id          = itemToAdd.Id;
                        itemToAdd.Gizmo   = gizmo;
                        itemToAdd.GizmoId = gizmo.Id;
                        dbOperations.AddWithoutCommit <Gizmo>(gizmo);
                        break;

                    case "MiniPet":
                        Miniature mini = JsonConvert.DeserializeObject <Miniature>(apiItem.AdditionalDetails);
                        mini.Id               = itemToAdd.Id;
                        itemToAdd.Miniature   = mini;
                        itemToAdd.MiniatureId = mini.Id;
                        dbOperations.AddWithoutCommit <Miniature>(mini);
                        break;

                    case "Tool":
                        SalvageKit salvage = JsonConvert.DeserializeObject <SalvageKit>(apiItem.AdditionalDetails);
                        salvage.Id             = itemToAdd.Id;
                        itemToAdd.SalvageKit   = salvage;
                        itemToAdd.SalvageKitId = salvage.Id;
                        dbOperations.AddWithoutCommit <SalvageKit>(salvage);
                        break;

                    case "Trinket":
                        Trinket trinket = JsonConvert.DeserializeObject <Trinket>(apiItem.AdditionalDetails);
                        trinket.Id          = itemToAdd.Id;
                        itemToAdd.Trinket   = trinket;
                        itemToAdd.TrinketId = trinket.Id;
                        dbOperations.AddWithoutCommit <Trinket>(trinket);
                        break;

                    case "UpgradeComponent":
                        UpgradeComponent upgrade = JsonConvert.DeserializeObject <UpgradeComponent>(apiItem.AdditionalDetails);
                        upgrade.Id = itemToAdd.Id;
                        itemToAdd.UpgradeComponent   = upgrade;
                        itemToAdd.UpgradeComponentId = upgrade.Id;
                        dbOperations.AddWithoutCommit <UpgradeComponent>(upgrade);
                        break;

                    default:
                        break;
                    }
                    allItems.Add(apiItem.ResultObject);
                }
                Console.WriteLine($"Loaded {allItems.Count} out of {allIds.Count} items");
            }

            await dbOperations.AddToEntity <Item>(allItems);

            Console.WriteLine("Getting items completed");
        }