Beispiel #1
0
    private void RefreshVaultSpace(HomeStationData homeStationData, List <InvItemData> vaultItems)
    {
        if (homeStationData == null)
        {
            AvailableVaultSpaceValue = 0;
            VaultSpace.SetFillPercentage(1);
            AvailableVaultSpace.text = "0";

            return;
        }

        int   totalVaultSpace = homeStationData.VaultSize;
        float usedSpace       = 0;

        foreach (InvItemData itemData in vaultItems)
        {
            usedSpace += itemData.Item.CargoUnits * itemData.Quantity;
        }

        AvailableVaultSpaceValue = Mathf.Clamp(totalVaultSpace - usedSpace, 0, homeStationData.VaultSize);
        VaultSpace.SetFillPercentage(Mathf.Clamp01(usedSpace / totalVaultSpace));
        AvailableVaultSpace.text = Mathf.CeilToInt(AvailableVaultSpaceValue).ToString();
    }
    private void RefreshHangarSpace(HomeStationData homeStationData, List <InvItemData> hangarItems)
    {
        if (homeStationData == null)
        {
            AvailableHangarSpaceValue = 0;
            HangarSpace.SetFillPercentage(1);
            AvailableHangarSpace.text = "0";

            return;
        }

        int   totalHangarSpace = homeStationData.HangarSize;
        float usedSpace        = 0;

        foreach (InvItemData itemData in hangarItems)
        {
            usedSpace += itemData.Item.GetIntAttribute("Hangar Units");
        }

        AvailableHangarSpaceValue = totalHangarSpace - usedSpace;
        HangarSpace.SetFillPercentage(usedSpace / totalHangarSpace);
        AvailableHangarSpace.text = AvailableHangarSpaceValue.ToString();
    }
    public void CreateInitialLoadout()
    {
        ActiveLoadout           = new Loadout("Spitfire", ShipType.Fighter);
        ActiveLoadout.LoadoutID = "Player_Spitfire_1";

        ActiveLoadout.CurrentPowerMgmtButton = new Vector3(0, -20f, 0);
        ActiveLoadout.HullAmount             = GameManager.Inst.ItemManager.GetShipStats(ActiveLoadout.ShipID).Hull;
        ActiveLoadout.FuelAmount             = GameManager.Inst.ItemManager.GetShipStats(ActiveLoadout.ShipID).MaxFuel;
        ActiveLoadout.LifeSupportAmount      = GameManager.Inst.ItemManager.GetShipStats(ActiveLoadout.ShipID).LifeSupport;

        ActiveLoadout.Defensives = new List <InvItemData>();

        ActiveLoadout.ShipMods = new InvItemData[GameManager.Inst.ItemManager.GetShipStats(ActiveLoadout.ShipID).ModSlots];
        {
            Item        item     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_StrelskySeekerMissile"));
            InvItemData itemData = new InvItemData();
            itemData.Item     = item;
            itemData.Quantity = 12;


            Item        item2     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_LongDurationCM"));
            InvItemData itemData2 = new InvItemData();
            itemData2.Item     = item2;
            itemData2.Quantity = 10;

            //Debug.Log(ActiveLoadout.AmmoBayItems[1].Item.ID);

            Item        item3     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_KeslerFighterShieldMK1"));
            InvItemData itemData3 = new InvItemData();
            itemData3.Item     = item3;
            itemData3.Quantity = 1;


            Item        item4     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_KeslerFighterShieldMK1"));
            InvItemData itemData4 = new InvItemData();
            itemData4.Item     = item4;
            itemData4.Quantity = 1;


            Item        item5     = new Item(GameManager.Inst.ItemManager.GetItemStats("wc_VikoWeaponCapacitorMK1"));
            InvItemData itemData5 = new InvItemData();
            itemData5.Item     = item5;
            itemData5.Quantity = 1;


            Item        item6     = new Item(GameManager.Inst.ItemManager.GetItemStats("thr_StrelskyThrusterMK1"));
            InvItemData itemData6 = new InvItemData();
            itemData6.Item     = item6;
            itemData6.Quantity = 1;


            Item        item7     = new Item(GameManager.Inst.ItemManager.GetItemStats("scn_RadianTekShortRangeScanner"));
            InvItemData itemData7 = new InvItemData();
            itemData7.Item     = item7;
            itemData7.Quantity = 1;


            Item        item8     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldConnectorTuningStage1"));
            InvItemData itemData8 = new InvItemData();
            itemData8.Item     = item8;
            itemData8.Quantity = 1;


            Item        item9     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldConnectorTuningStage2"));
            InvItemData itemData9 = new InvItemData();
            itemData9.Item     = item9;
            itemData9.Quantity = 1;


            Item        item10     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_NCPTransporterShieldMK1"));
            InvItemData itemData10 = new InvItemData();
            itemData10.Item     = item10;
            itemData10.Quantity = 1;


            Item        item11     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldCapacitorGrade1"));
            InvItemData itemData11 = new InvItemData();
            itemData11.Item     = item11;
            itemData11.Quantity = 1;


            Item        item12     = new Item(GameManager.Inst.ItemManager.GetItemStats("dfs_CMDispenser"));
            InvItemData itemData12 = new InvItemData();
            itemData12.Item          = item12;
            itemData12.Quantity      = 1;
            itemData12.RelatedItemID = "ammo_LongDurationCM";

            Item        item15     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_AlFasadStingerPulseCannon"));
            InvItemData itemData15 = new InvItemData();
            itemData15.Item     = item15;
            itemData15.Quantity = 1;

            Item        item16     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_StrelskyScreamerMissileLauncher"));
            InvItemData itemData16 = new InvItemData();
            itemData16.Item          = item16;
            itemData16.Quantity      = 1;
            itemData16.RelatedItemID = "ammo_StrelskySeekerMissile";

            Item        item17     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_SDCStomperAutocannon"));
            InvItemData itemData17 = new InvItemData();
            itemData17.Item     = item17;
            itemData17.Quantity = 1;

            Item        item18     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_AlFasadStingerPulseCannon"));
            InvItemData itemData18 = new InvItemData();
            itemData18.Item     = item18;
            itemData18.Quantity = 1;

            Item        item21     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_20mmTitaniumSlugs"));
            InvItemData itemData21 = new InvItemData();
            itemData21.Item     = item21;
            itemData21.Quantity = 500;

            Item        item31     = new Item(GameManager.Inst.ItemManager.GetItemStats("com_IronOre"));
            InvItemData itemData31 = new InvItemData();
            itemData31.Item     = item31;
            itemData31.Quantity = 10;

            ActiveLoadout.Shield          = itemData4;
            ActiveLoadout.WeaponCapacitor = itemData5;
            ActiveLoadout.AmmoBayItems.Add(itemData);
            ActiveLoadout.AmmoBayItems.Add(itemData2);
            ActiveLoadout.AmmoBayItems.Add(itemData21);
            ActiveLoadout.CargoBayItems.Add(itemData3);
            ActiveLoadout.Thruster = itemData6;
            ActiveLoadout.CargoBayItems.Add(itemData7);
            ActiveLoadout.CargoBayItems.Add(itemData8);
            ActiveLoadout.CargoBayItems.Add(itemData9);
            ActiveLoadout.CargoBayItems.Add(itemData10);
            ActiveLoadout.CargoBayItems.Add(itemData11);
            ActiveLoadout.CargoBayItems.Add(itemData31);
            ActiveLoadout.Defensives.Add(itemData12);

            ActiveLoadout.WeaponJoints = new Dictionary <string, InvItemData>()
            {
                { "GimballLeft", itemData17 },
                { "GimballRight", itemData15 },
                { "GimballFront", itemData18 },
            };
        }

        //create a second loadout for testing
        Loadout StoredLoadout = new Loadout("Trimaran", ShipType.Transport);

        StoredLoadout.LoadoutID = "Player_Trimaran_1";
        StoredLoadout.CurrentPowerMgmtButton = new Vector3(0, -20f, 0);
        StoredLoadout.HullAmount             = GameManager.Inst.ItemManager.GetShipStats(StoredLoadout.ShipID).Hull;
        StoredLoadout.FuelAmount             = GameManager.Inst.ItemManager.GetShipStats(StoredLoadout.ShipID).MaxFuel;
        StoredLoadout.LifeSupportAmount      = GameManager.Inst.ItemManager.GetShipStats(StoredLoadout.ShipID).LifeSupport;

        StoredLoadout.Defensives = new List <InvItemData>();

        StoredLoadout.ShipMods = new InvItemData[GameManager.Inst.ItemManager.GetShipStats(StoredLoadout.ShipID).ModSlots];
        {
            Item        item     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_StrelskySeekerMissile"));
            InvItemData itemData = new InvItemData();
            itemData.Item     = item;
            itemData.Quantity = 12;

            Item        item2     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_LongDurationCM"));
            InvItemData itemData2 = new InvItemData();
            itemData2.Item     = item2;
            itemData2.Quantity = 10;

            //Debug.Log(ActiveLoadout.AmmoBayItems[1].Item.ID);

            Item        item3     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_KeslerFighterShieldMK1"));
            InvItemData itemData3 = new InvItemData();
            itemData3.Item     = item3;
            itemData3.Quantity = 1;


            Item        item4     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_KeslerFighterShieldMK1"));
            InvItemData itemData4 = new InvItemData();
            itemData4.Item     = item4;
            itemData4.Quantity = 1;


            Item        item5     = new Item(GameManager.Inst.ItemManager.GetItemStats("wc_VikoWeaponCapacitorMK1"));
            InvItemData itemData5 = new InvItemData();
            itemData5.Item     = item5;
            itemData5.Quantity = 1;


            Item        item6     = new Item(GameManager.Inst.ItemManager.GetItemStats("thr_StrelskyThrusterMK1"));
            InvItemData itemData6 = new InvItemData();
            itemData6.Item     = item6;
            itemData6.Quantity = 1;


            Item        item7     = new Item(GameManager.Inst.ItemManager.GetItemStats("scn_RadianTekShortRangeScanner"));
            InvItemData itemData7 = new InvItemData();
            itemData7.Item     = item7;
            itemData7.Quantity = 1;


            Item        item8     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldConnectorTuningStage1"));
            InvItemData itemData8 = new InvItemData();
            itemData8.Item     = item8;
            itemData8.Quantity = 1;


            Item        item9     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldConnectorTuningStage2"));
            InvItemData itemData9 = new InvItemData();
            itemData9.Item     = item9;
            itemData9.Quantity = 1;


            Item        item10     = new Item(GameManager.Inst.ItemManager.GetItemStats("shd_NCPTransporterShieldMK1"));
            InvItemData itemData10 = new InvItemData();
            itemData10.Item     = item10;
            itemData10.Quantity = 1;


            Item        item11     = new Item(GameManager.Inst.ItemManager.GetItemStats("mod_ShieldCapacitorGrade1"));
            InvItemData itemData11 = new InvItemData();
            itemData11.Item     = item11;
            itemData11.Quantity = 1;


            Item        item12     = new Item(GameManager.Inst.ItemManager.GetItemStats("dfs_CMDispenser"));
            InvItemData itemData12 = new InvItemData();
            itemData12.Item          = item12;
            itemData12.Quantity      = 1;
            itemData12.RelatedItemID = "ammo_LongDurationCM";

            Item        item15     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_AlFasadStingerPulseCannon"));
            InvItemData itemData15 = new InvItemData();
            itemData15.Item     = item15;
            itemData15.Quantity = 1;

            Item        item16     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_StrelskyScreamerMissileLauncher"));
            InvItemData itemData16 = new InvItemData();
            itemData16.Item          = item16;
            itemData16.Quantity      = 1;
            itemData16.RelatedItemID = "ammo_StrelskySeekerMissile";

            Item        item17     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_SDCStomperAutocannon"));
            InvItemData itemData17 = new InvItemData();
            itemData17.Item     = item17;
            itemData17.Quantity = 1;

            Item        item18     = new Item(GameManager.Inst.ItemManager.GetItemStats("wpn_AlFasadStingerPulseCannon"));
            InvItemData itemData18 = new InvItemData();
            itemData18.Item     = item18;
            itemData18.Quantity = 1;

            Item        item21     = new Item(GameManager.Inst.ItemManager.GetItemStats("ammo_20mmTitaniumSlugs"));
            InvItemData itemData21 = new InvItemData();
            itemData21.Item     = item21;
            itemData21.Quantity = 500;



            StoredLoadout.Shield = itemData10;
            StoredLoadout.AmmoBayItems.Add(itemData2);
            StoredLoadout.AmmoBayItems.Add(itemData21);
            StoredLoadout.CargoBayItems.Add(itemData5);
            StoredLoadout.CargoBayItems.Add(itemData7);
            StoredLoadout.CargoBayItems.Add(itemData8);
            StoredLoadout.CargoBayItems.Add(itemData9);
            StoredLoadout.CargoBayItems.Add(itemData11);

            StoredLoadout.Defensives.Add(itemData12);

            StoredLoadout.WeaponJoints = new Dictionary <string, InvItemData>()
            {
                { "GimballLeft", itemData15 },
                { "GimballRight", itemData18 },
                { "TurretLeft", null },
                { "TurretRight", null },
                { "TurretTop", null },
            };
        }

        //create a garage and vault in planet colombia
        HomeStationData homeStation = new HomeStationData();

        homeStation.HangarSize = 5;
        homeStation.VaultSize  = 250;
        homeStation.ShipsInHangar.Add(StoredLoadout);

        GameManager.Inst.WorldManager.DockableStationDatas["planet_colombia_landing"].HomeStationData = homeStation;


        ProfileName = "Kurt";
    }