예제 #1
0
    private void Awake()
    {
        if (!instance)
        {
            instance = this;
        }
        else if (instance && instance != this)
        {
            Destroy(this);
        }

        armoryCanvas.SetActive(false);
    }
예제 #2
0
    public void Death()
    {
        if (alive)
        {
            Debug.Log(transform.parent);
            alive = false;
            if (!circleCollider2D.IsTouchingLayers(weaponLayer) && !circleCollider2D.IsTouchingLayers(enemyLayer) &&
                !circleCollider2D.IsTouchingLayers(bossLayer) &&
                transform.parent == null)
            {
                if (Random.Range(0, 4) == 0)
                {
                    PlayerData    player        = playerDatas[Random.Range(0, playerDatas.Count)];
                    ArmoryManager armoryManager = armory.GetComponent <ArmoryManager>();
                    Weapons       weaponData    = armoryManager.GetWeaponData(player.Name);
                    armoryManager.CreateWeapon(weaponData, transform, Enemy.Lvl);
                }
            }

            Destroy(gameObject);
            SendPlayerXp.Raise(new EventArgsInt((int)Enemy.XpValue));
        }
    }