Exemple #1
0
    private void Shoot(Entity entity, AudioSource audio, FirstUpgrade firstUpgrade)
    {
        var mainCamera = Camera.main;

        if (mainCamera == null)
        {
            return;
        }

        var mousePos  = Input.mousePosition;
        var camRayLen = HeraldsBootstrap.Settings.CamRayLen;
        var floor     = LayerMask.GetMask("Ground");

        var camRay = mainCamera.ScreenPointToRay(mousePos);

        if (Physics.Raycast(camRay, out var shootHit, camRayLen, floor))
        {
            var damageObject = Object.Instantiate(
                HeraldsBootstrap.Settings.DamagePrefab,
                shootHit.point,
                Quaternion.identity
                );
            damageObject.GetComponent <Attacker>().SetSource(entity);
            damageObject.GetComponent <Attacker>().SetDamage(CalculateDamage(firstUpgrade));
        }
    }
Exemple #2
0
    public void OnUpgradeSwap(FirstUpgrade firstUpgrade, SecondUpgrade secondUpgrade)
    {
        Debug.Log("Upgrade Swapped");

        if (firstUpgrade != Enums.FirstUpgrade.None)
        {
            if (FirstUpgradeImages != null && FirstUpgradeNames != null && BorderImages != null)
            {
                var index = (int)firstUpgrade;
                FirstUpgrade.sprite       = FirstUpgradeImages[index > 3 ? 2 : index > 0 ? 1 : 0];
                FirstUpgradeBorder.sprite = BorderImages[index % 3 == 0 ? 2 : index % 2 == 0 ? 1 : 0];
                FirstUpgradeName.text     = FirstUpgradeNames[index];
            }
        }
        else
        {
            if (SecondUpgradeImages != null && SecondUpgradeNames != null && BorderImages != null)
            {
                var index = (int)secondUpgrade;
                SecondUpgrade.sprite       = SecondUpgradeImages[index > 3 ? 2 : index > 0 ? 1 : 0];
                SecondUpgradeBorder.sprite = BorderImages[index % 3 == 0 ? 2 : index % 2 == 0 ? 1 : 0];
                SecondUpgradeName.text     = SecondUpgradeNames[index];
            }
        }

        AddScore(HeraldsBootstrap.Settings.ScorePerUpgrade);
    }
Exemple #3
0
    private int CalculateDamage(FirstUpgrade firstUpgrade)
    {
        var baseDamage = HeraldsBootstrap.Settings.AttackDamage;

        switch (firstUpgrade)
        {
        case FirstUpgrade.DamageMin:
            baseDamage += 10;
            break;

        case FirstUpgrade.DamageMed:
            baseDamage += 20;
            break;

        case FirstUpgrade.DamageMax:
            baseDamage += 40;
            break;
        }

        return(baseDamage);
    }
Exemple #4
0
    private float CalculateTimeBetweenShoots(FirstUpgrade firstUpgrade)
    {
        var baseTime = HeraldsBootstrap.Settings.TimeBetweenBullets;

        baseTime *= 3;

        switch (firstUpgrade)
        {
        case FirstUpgrade.AttackSpeedMin:
            baseTime *= 3f / 4f;
            break;

        case FirstUpgrade.AttackSpeedMed:
            baseTime *= 2f / 4f;
            break;

        case FirstUpgrade.AttackSpeedMax:
            baseTime *= 1f / 4f;
            break;
        }

        return(baseTime);
    }