Exemplo n.º 1
0
    void Start()
    {
        playerController          = PlayerController.instance;
        player                    = Player.instance;
        produceSoundTriggerScript = GetComponent <ProduceSoundTrigger>();
        itemDatabase              = GameObject.Find("Hotbar").GetComponent <ItemDatabase>();
        weaponPerksScript         = GetComponent <WeaponPerks>();

        // Sound
        audioManager = AudioManager.instance;
        if (audioManager == null)
        {
            Debug.LogError("No AudioManager found in the scene");
        }

        Item weaponItem = itemDatabase.FetchItemByID(weaponID);

        name          = weaponItem.ItemName;
        ammoType      = weaponItem.AmmoType;
        actionType    = weaponItem.ActionType;
        soundRadius   = weaponItem.SoundRadius;
        durabilityUse = weaponItem.DurabilityUse;

        if (player.hasEquippedStartingWeapon == false) // This section is only for the players starting weapon, otherwise these stats will be determined by the WeaponPickup script
        {
            weaponPerksScript.RandomizePerks(weaponID);
            damage   = Mathf.Round(Random.Range(weaponItem.MinDamage, weaponItem.MaxDamage) * 100.0f) / 100.0f;
            fireRate = Mathf.Round(Random.Range(weaponItem.MinFireRate, weaponItem.MaxFireRate) * 100.0f) / 100.0f;
            //clipSize is set in the WeaponPerks script
            currentAmmoAmount = clipSize;

            finalAccuracyFactor = player.playerStats.inaccuracyFactor + inaccuracyFactor;
            if (finalAccuracyFactor < 0)
            {
                finalAccuracyFactor = 0;
            }

            player.hasEquippedStartingWeapon = true;
        }

        DetermineSoundName();

        groundObjects = GameObject.FindGameObjectsWithTag("Ground");
        enemies       = GameObject.FindGameObjectsWithTag("Enemy");
    }
Exemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        enemy      = transform.root;
        enemySight = enemy.Find("Sight");

        enemySightScript    = enemySight.GetComponent <EnemySight>();
        enemyMovementScript = enemy.GetComponent <EnemyMovement>();
        weaponPerksScript   = GetComponent <WeaponPerks>();
        enemyScript         = enemy.GetComponent <Enemy>();
        player = Player.instance;

        audioManager = AudioManager.instance;
        if (audioManager == null)
        {
            Debug.LogError("No AudioManager found in the scene");
        }

        Item weaponItem = itemDatabase.FetchItemByID(weaponID);

        name             = weaponItem.ItemName;
        damage           = Mathf.Round(Random.Range(weaponItem.MinDamage, weaponItem.MaxDamage) * 100.0f) / 100.0f;
        clipSize         = weaponItem.ClipSize;
        ammoType         = weaponItem.AmmoType;
        fireRate         = Mathf.Round(Random.Range(weaponItem.MinFireRate, weaponItem.MaxFireRate) * 100.0f) / 100.0f;
        autoCoolDownTime = Mathf.Round((1 / fireRate) * 100.0f) / 100.0f;
        actionType       = weaponItem.ActionType;
        soundRadius      = weaponItem.SoundRadius;
        durabilityUse    = weaponItem.DurabilityUse;

        weaponPerksScript.RandomizePerks(weaponID);

        finalAccuracyFactor = enemy.GetComponent <Enemy>().enemyStats.inaccuracyFactor + inaccuracyFactor;
        if (finalAccuracyFactor < 0)
        {
            finalAccuracyFactor = 0;
        }

        currentAmmoAmount = clipSize;

        DetermineSoundName();
    }