Inheritance: MonoBehaviour
Example #1
0
    public void OnPointerEnter(PointerEventData eventData)
    {
        weaponUP        = weaponManager.GetCurrentWeapon().GetWeaponUpgrade();
        damage.text     = weaponUP.damage.ToString();
        fireRate.text   = weaponUP.fireRate.ToString();
        maxBullets.text = weaponUP.maxBullets.ToString();

        ui.SetActive(true);
    }
        public override ISpecialAction NextSpecialAction()
        {
            if (next == null)
            {
                next = new WeaponUpgrade(new PowerHookLauncher(SceneMgr, Owner));
            }

            return(next);
        }
        public override ISpecialAction NextSpecialAction()
        {
            if (next == null)
            {
                next = new WeaponUpgrade(new ProximityCannonIII(SceneMgr, Owner));
            }

            return(next);
        }
Example #4
0
    public void UpdateUI()
    {
        for (int i = 0; i < slots.Count; i++)
        {
            Text nameText = slots[i].transform.GetChild(0).GetComponent <Text>();
            nameText.text = String.Format("{0}", equipment[i].name);
            Text levelText = slots[i].transform.GetChild(1).GetComponent <Text>();
            Text statText  = slots[i].transform.GetChild(2).GetComponent <Text>();
            Text costText  = slots[i].transform.GetChild(3).transform.GetChild(0).GetComponent <Text>();


            if (equipment[i] is WeaponEquipment)
            {
                WeaponUpgrade u = (WeaponUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format(
                    "Damage: {0}\n" +
                    "Accuracy: {1}\n" +
                    "Firerate: {2}\n" +
                    "Range: {3}\n",
                    u.damageIncrease, u.accuracyIncrease, u.fireRateIncrease, u.rangeIncrease);
                costText.text = String.Format("${0}", u.cost);
            }
            else if (equipment[i] is StorageEquipment)
            {
                StorageUpgrade u = (StorageUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Storage Capacity: {0}\n", u.capacityIncrease);
                costText.text  = String.Format("${0}", u.cost);
            }
            else if (equipment[i] is EnergyEquipment)
            {
                EnergyUpgrade u = (EnergyUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Energy Capacity: {0}\n", u.capacityIncrease);
                costText.text  = String.Format("${0}", u.cost);
            }
            else if (equipment[i] is TransmitterEquipment)
            {
                TransmitterUpgrade u = (TransmitterUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Upload Time: {0}\n", u.uploadMultiplier);
                costText.text  = String.Format("${0}", u.cost);
            }
            else
            {
                ResearchUpgrade u = (ResearchUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format(
                    "Scan Time: {0}\nRange: {1}\n", u.timeReduction, u.rangeIncrease);
                costText.text = String.Format("${0}", u.cost);
            }
        }
    }
Example #5
0
        public static List <WeaponUpgrade> Randomise(int seed, State settings)
        {
            var result = new List <WeaponUpgrade>();
            var random = new Random(seed + 9);

            for (int i = 0; i < 33; i++)
            {
                var itemPool = Item.Lookup.Values.Where(item => !item.KeyItem && !item.Magazine && !item.SummonItem && !item.ChocoboWorld).Select(item => item.ID).ToList();

                var upgrade = new WeaponUpgrade()
                {
                    Price         = (byte)(random.Next(1, 251)),
                    Item1         = (byte)itemPool[random.Next(itemPool.Count)],
                    Item1Quantity = (byte)random.Next(1, 21)
                };

                if (random.Next(4) == 0)
                {
                    result.Add(upgrade);
                    continue;
                }

                itemPool.Remove(upgrade.Item1);
                upgrade.Item2         = (byte)itemPool[random.Next(itemPool.Count)];
                upgrade.Item2Quantity = (byte)random.Next(1, 21);

                if (random.Next(3) == 0)
                {
                    result.Add(upgrade);
                    continue;
                }

                itemPool.Remove(upgrade.Item2);
                upgrade.Item3         = (byte)itemPool[random.Next(itemPool.Count)];
                upgrade.Item3Quantity = (byte)random.Next(1, 21);

                if (random.Next(2) == 0)
                {
                    result.Add(upgrade);
                    continue;
                }

                itemPool.Remove(upgrade.Item3);
                upgrade.Item4         = (byte)itemPool[random.Next(itemPool.Count)];
                upgrade.Item4Quantity = (byte)random.Next(1, 21);

                result.Add(upgrade);
            }

            return(result);
        }
    public override void AddUpgrade(Upgrade upgrade)
    {
        if (upgrade is WeaponUpgrade)
        {
            upgrades.Add(upgrade);
            WeaponUpgrade weaponUpgrade = (WeaponUpgrade)upgrade;

            level      = weaponUpgrade.level;
            damage     = weaponUpgrade.damageIncrease;
            inaccuracy = weaponUpgrade.accuracyIncrease;
            fireRate   = weaponUpgrade.fireRateIncrease;
            range      = weaponUpgrade.rangeIncrease;
        }
    }
Example #7
0
    public void Read(BitStream stream)
    {
        CreateUpgradesIfNotExisting();
        ID           = stream.Read <E_WeaponID>();
        EquipSlotIdx = stream.ReadByte();

        Upgrades.Clear();
        int count = stream.ReadByte();

        for (int i = 0; i < count; i++)
        {
            WeaponUpgrade upg = new WeaponUpgrade();
            upg.ID = stream.Read <E_WeaponUpgradeID>();
            Upgrades.Add(upg);
        }
    }
Example #8
0
        public static ISpecialAction ReadSpecialAction(this NetIncomingMessage msg, SceneMgr mgr, Player owner = null)
        {
            //chtelo by to aby kazdej objekt implementoval sendable takhle nektery akce nepujdou pouzit
            ISpecialAction action = null;
            int            hash   = msg.ReadInt32();

            if (hash == typeof(HealAction).GUID.GetHashCode())
            {
                action = new HealAction();
            }
            else if (hash == typeof(ActiveWeapon).GUID.GetHashCode())
            {
                action = new ActiveWeapon();
            }
            else if (hash == typeof(WeaponUpgrade).GUID.GetHashCode())
            {
                action = new WeaponUpgrade();
            }
            else if (hash == typeof(AsteroidDamage).GUID.GetHashCode())
            {
                action = new AsteroidDamage(mgr, owner);
            }
            else if (hash == typeof(AsteroidGrowth).GUID.GetHashCode())
            {
                action = new AsteroidGrowth(mgr, owner);
            }
            else if (hash == typeof(AsteroidSlow).GUID.GetHashCode())
            {
                action = new AsteroidSlow(mgr, owner);
            }
            else if (hash == typeof(AsteroidThrow).GUID.GetHashCode())
            {
                action = new AsteroidThrow(mgr, owner);
            }
            else if (hash == typeof(StaticField).GUID.GetHashCode())
            {
                action = new StaticField(mgr, owner);
            }

            if (action != null)
            {
                action.ReadObject(msg);
            }
            return(action);
        }
    public void UpdateUpgrades(int index)
    {
        int structType = structVals[index];

        if (structType == 0)
        {
            WeaponUpgradeStruct wu = (WeaponUpgradeStruct)upgradeStructs[index];
            wu.Upgrade();
            upgradeStructs[index] = wu;
            upgrades[index]       = new WeaponUpgrade(
                wu.cost, wu.levelUpgrade, wu.damageUpgrade, wu.inaccuracryUpgrade, wu.fireRateUpgrade, wu.rangeUpgrade);
        }
        else if (structType == 1)
        {
            StorageUpgradeStruct su = (StorageUpgradeStruct)upgradeStructs[index];
            su.Upgrade();
            upgradeStructs[index] = su;
            upgrades[index]       = new StorageUpgrade(
                su.cost, su.levelUpgrade, su.capacityUpgrade);
        }
        else if (structType == 2)
        {
            EnergyUpgradeStruct eu = (EnergyUpgradeStruct)upgradeStructs[index];
            eu.Upgrade();
            upgradeStructs[index] = eu;
            upgrades[index]       = new EnergyUpgrade(
                eu.cost, eu.levelUpgrade, eu.energyCapacityUpgrade);
        }
        else if (structType == 3)
        {
            TransUpgradeStruct tu = (TransUpgradeStruct)upgradeStructs[index];
            tu.Upgrade();
            upgradeStructs[index] = tu;
            upgrades[index]       = new TransmitterUpgrade(
                tu.cost, tu.levelUpgrade, tu.uploadFactorUpgrade);
        }
        else
        {
            ResearchUpgradeStruct ru = (ResearchUpgradeStruct)upgradeStructs[index];
            ru.Upgrade();
            upgradeStructs[index] = ru;
            upgrades[index]       = new ResearchUpgrade(
                ru.cost, ru.levelUpgrade, ru.scanTimeUpgrade, ru.scanRangeUpgrade);
        }
    }
Example #10
0
        public static void Apply(FileSource menuSource, List <WeaponUpgrade> upgrades)
        {
            // fill in data from existing upgrade file
            var existingUpgrades = WeaponUpgrade.ReadAllFromSource(menuSource);

            for (int i = 0; i < existingUpgrades.Count; i++)
            {
                upgrades[i].MsgOffset = existingUpgrades[i].MsgOffset;
            }

            // write out new file
            var result = new List <byte>();

            foreach (var u in upgrades)
            {
                result.AddRange(u.Encode());
            }
            menuSource.ReplaceFile(Globals.WeaponUpgradePath, result.ToArray());
        }
    public void SetUpgrades(WeaponUpgrade currentUpgrade)
    {
        //Debug.Log(currentUpgrade.upgradeName + " is " + currentUpgrade.upgradeStatus);
        upgradeIcon.sprite = currentUpgrade.upgradeIcon;
        switch (currentUpgrade.upgradeStatus)
        {
        case status.locked:
            div.color         = new Color32(123, 6, 27, 255);
            background.color  = new Color32(123, 6, 27, 255);
            upgradeIcon.color = new Color32(123, 6, 27, 255);
            Lock.gameObject.SetActive(true);
            lockedBar.gameObject.SetActive(true);
            Check.gameObject.SetActive(false);
            break;

        case status.available:
            div.color         = new Color32(255, 255, 255, 255);
            background.color  = new Color32(255, 255, 255, 255);
            upgradeIcon.color = new Color32(255, 255, 255, 255);
            Lock.gameObject.SetActive(false);
            lockedBar.gameObject.SetActive(false);
            Check.gameObject.SetActive(false);
            break;

        case status.unavailable:
            div.color         = new Color32(123, 6, 27, 255);
            background.color  = new Color32(123, 6, 27, 255);
            upgradeIcon.color = new Color32(123, 6, 27, 255);
            Lock.gameObject.SetActive(false);
            lockedBar.gameObject.SetActive(false);
            Check.gameObject.SetActive(false);
            break;

        case status.upgraded:
            div.color         = new Color32(101, 101, 101, 255);
            background.color  = new Color32(101, 101, 101, 255);
            upgradeIcon.color = new Color32(101, 101, 101, 255);
            Lock.gameObject.SetActive(false);
            lockedBar.gameObject.SetActive(false);
            Check.gameObject.SetActive(true);
            break;
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        gameSettings    = Resources.Load <GameSettings>("GameSettings");
        healthBar       = FindObjectOfType <HealthBar>();
        playerStatus    = Resources.Load <PlayerStatus>("PlayerStatus");
        ammoDropUpgrade = Resources.Load <AmmoDropUpgrade>("PlayerUpgrades/AmmoDrop");
        maxAmmoUpgrade  = Resources.Load <MaxAmmoUpgrade>("PlayerUpgrades/MaxAmmo");
        weaponUpgrades.AddRange(Resources.LoadAll <WeaponUpgrade>("PlayerUpgrades/Guns"));

        int index;

        do
        {
            index = Random.Range(0, weaponUpgrades.Count);
        } while (weaponUpgrades[index].GunToEquip == playerStatus.EquippedGun);

        currentWeaponUpgrade    = weaponUpgrades[index];
        gunText.text            = $"Cost: {currentWeaponUpgrade.UpgradeCost}\n{currentWeaponUpgrade.GunToEquip.name}";
        gunButton.PlayerUpgrade = currentWeaponUpgrade;
        UpdateHealthBar();
    }
Example #13
0
 // Use this for initialization
 void Start()
 {
     instance = this;
 }
    void Content()
    {
        try
        {
            switch (Type)
            {
            case 1:    //Sw - Selected weapon
                WeaponUpgrade Sw = (WeaponUpgrade)selected;
                break;

            case 2:
                ArmorUpgrade Sa = (ArmorUpgrade)selected;
                break;
            } //for nulls
            GUILayout.BeginVertical("box");
            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            GUILayout.Label("Stage " + (stageSelect + 1));
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            switch (Type)
            {
            case 1:    //Sw - Selected weapon
                WeaponUpgrade Sw = (WeaponUpgrade)selected;
                GUILayout.BeginHorizontal();
                GUILayout.BeginVertical("box");
                Sw.Stage[stageSelect].AddStats.dmg            = EditorGUILayout.IntField("Dmg", Sw.Stage[stageSelect].AddStats.dmg);
                Sw.Stage[stageSelect].AddStats.dmg_dice       = EditorGUILayout.IntField("Dmg dice", Sw.Stage[stageSelect].AddStats.dmg_dice);
                Sw.Stage[stageSelect].AddStats.crit_multiply  = EditorGUILayout.FloatField("Crit multiply", Sw.Stage[stageSelect].AddStats.crit_multiply);
                Sw.Stage[stageSelect].AddStats.range          = EditorGUILayout.FloatField("Range", Sw.Stage[stageSelect].AddStats.range);
                Sw.Stage[stageSelect].AddStats.armor_phisical = EditorGUILayout.IntField("Armor Phisical", Sw.Stage[stageSelect].AddStats.armor_phisical);
                Sw.Stage[stageSelect].AddStats.armor_magicial = EditorGUILayout.IntField("Armor Magicial", Sw.Stage[stageSelect].AddStats.armor_magicial);
                EditorFunctions.ViewBattle(Sw.Stage[stageSelect].AddStats);
                GUILayout.EndVertical();
                GUILayout.BeginVertical("box", GUILayout.Width(610));
                ComponentsPanel(Sw.Stage[stageSelect].Components);
                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
                break;

            case 2:
                ArmorUpgrade Sa = (ArmorUpgrade)selected;
                scrollContent = GUILayout.BeginScrollView(scrollContent);
                GUILayout.BeginVertical();
                for (int i = 0; i < Sa.Weight_Type.Count; i++)
                {
                    GUILayout.Space(10);
                    GUILayout.BeginVertical("box");
                    GUILayout.Label("" + ((Weight)i), center);
                    GUILayout.EndVertical();
                    GUILayout.BeginHorizontal();
                    GUILayout.BeginVertical("box");
                    Sa.Weight_Type[i].Stage[stageSelect].AddStats.armor_phisical = EditorGUILayout.IntField("Armor Phisical", Sa.Weight_Type[i].Stage[stageSelect].AddStats.armor_phisical);
                    Sa.Weight_Type[i].Stage[stageSelect].AddStats.armor_magicial = EditorGUILayout.IntField("Armor Magicial", Sa.Weight_Type[i].Stage[stageSelect].AddStats.armor_magicial);
                    EditorFunctions.ViewBattle(Sa.Weight_Type[i].Stage[stageSelect].AddStats);
                    GUILayout.EndVertical();
                    GUILayout.BeginVertical("box", GUILayout.Width(610));
                    ComponentsPanel(Sa.Weight_Type[i].Stage[stageSelect].Components);
                    GUILayout.EndVertical();
                    GUILayout.EndHorizontal();
                }
                GUILayout.EndVertical();
                GUILayout.EndScrollView();
                break;
            }

            GUILayout.EndVertical();
        }
        catch {}
    }
Example #15
0
    public void UpgradeArmor(WeaponUpgrade upgrade)
    {
        if (upgrade.upgradeType != ItemUpgradeType.Weapon)
        {
            Debug.LogError("The ItemUpgrade being passed into the Upgrade callback is not of the type Weapon! Is the Item improperly constructed??");
            return;
        }

        gunStats.Upgrade(upgrade.attackRate, upgrade.damage, upgrade.reload_speed, upgrade.ammo);
    }
Example #16
0
    void Start()
    {
        app = FindObjectOfType <AppManager>();

        upgradeInventory.SetActive(toggle);
        fundingText.text = String.Format("Current Funding:\n${0}", app.funding);

        upgradePrefab = (GameObject)Resources.Load("UpgradeSlot");

        equipment = PlayerManager.instance.equipment;

        for (int i = 0; i < equipment.Count; i++)
        {
            slot = Instantiate(upgradePrefab) as GameObject;
            slots.Add(slot);

            slot.transform.SetParent(upgradeWindow.transform, false);

            Text nameText = slot.transform.GetChild(0).GetComponent <Text>();
            nameText.text = String.Format("{0}", equipment[i].name);
            Text  levelText = slot.transform.GetChild(1).GetComponent <Text>();
            Text  statText  = slot.transform.GetChild(2).GetComponent <Text>();
            Text  costText  = slot.transform.GetChild(3).transform.GetChild(0).GetComponent <Text>();
            Image icon      = slot.transform.GetChild(4).GetComponent <Image>();


            if (equipment[i] is WeaponEquipment)
            {
                WeaponUpgrade u = (WeaponUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format(
                    "Damage: {0}\n" +
                    "Accuracy: {1}\n" +
                    "Firerate: {2}\n" +
                    "Range: {3}\n",
                    u.damageIncrease, u.accuracyIncrease, u.fireRateIncrease, u.rangeIncrease);
                costText.text = String.Format("${0}", u.cost);
                icon.sprite   = weaponImage;
            }
            else if (equipment[i] is StorageEquipment)
            {
                StorageUpgrade u = (StorageUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Storage Capacity: {0}\n", u.capacityIncrease);
                costText.text  = String.Format("${0}", u.cost);
                icon.sprite    = storageImage;
            }
            else if (equipment[i] is EnergyEquipment)
            {
                EnergyUpgrade u = (EnergyUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Energy Capacity: {0}\n", u.capacityIncrease);
                costText.text  = String.Format("${0}", u.cost);
                icon.sprite    = batteryImage;
            }
            else if (equipment[i] is TransmitterEquipment)
            {
                TransmitterUpgrade u = (TransmitterUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format("Upload Time: {0}\n", u.uploadMultiplier);
                costText.text  = String.Format("${0}", u.cost);
                icon.sprite    = transmitterImage;
            }
            else
            {
                ResearchUpgrade u = (ResearchUpgrade)UpgradeManager.instance.upgrades[i];
                levelText.text = String.Format("Level: {0}", u.level);
                statText.text  = String.Format(
                    "Scan Time: {0}\nRange: {1}\n", u.timeReduction, u.rangeIncrease);
                costText.text = String.Format("${0}", u.cost);

                if (equipment[i].name.IndexOf("Geological") != -1)
                {
                    icon.sprite = geologyImage;
                }
                else if (equipment[i].name.IndexOf("Biological") != -1)
                {
                    icon.sprite = biologyImage;
                }
                else if (equipment[i].name.IndexOf("Archeological") != -1)
                {
                    icon.sprite = archeologyImage;
                }
            }
        }
    }
 private void Start()
 {
     script = weaponUpgrade.GetComponent <WeaponUpgrade>();
 }