示例#1
0
    void OnTriggerEnter2D(Collider2D entered)
    {
        if (entered.tag == "WeaponItem")
        {
            entered.tag = "Weapon";
            Destroy(entered.transform.GetComponent <Collider2D>());
            entered.transform.SetParent(transform.Find("Hand"));
            entered.transform.localPosition = new Vector2(0f, 0f);
            entered.transform.localRotation = new Quaternion(0, entered.transform.localRotation.y, 0, 0);
        }
        if (entered.tag == "Item")
        {
            if (entered.GetComponent <WeaponStats>() != null)
            {
                var weaponBonusStat = entered.GetComponent <WeaponStats>();

                weaponStats.accuracy   += weaponBonusStat.accuracy;
                weaponStats.damage     += weaponBonusStat.damage;
                weaponStats.fireRate   += weaponBonusStat.fireRate;
                weaponStats.speed      += weaponBonusStat.speed;
                weaponStats.ammunition += weaponStats.ammunition;
            }
            if (entered.GetComponent <PlayerStats>() != null)
            {
                var playerBonusStat = entered.GetComponent <PlayerStats>();

                playerStats.moveSpeed += playerBonusStat.moveSpeed;
                if (isServer)
                {
                    playerHealth.MaxHealthUp(playerBonusStat.playerFullHealth);
                    playerHealth.HealPlayer(playerBonusStat.playerCurrentHealth);
                }
            }
            NetworkServer.Destroy(entered.gameObject);
        }
    }