Пример #1
0
    internal void AddHeroSpecialWeapon(EHero pHero)
    {
        //Debug.Log("AddHeroSpecialWeapon " + pHero);

        HeroSpecialWeaponConfig config =
            brainiacs.ItemManager.GetHeroSpecialWeaponConfig(pHero);

        if (config == null)
        {
            Debug.LogError($"Added weapon was null");
            return;
        }

        PlayerWeaponSpecial weaponSpecial = new PlayerWeaponSpecial(player, config, pHero);

        weapon.AddWeapon(weaponSpecial);
    }
Пример #2
0
    internal void AddMapWeaponSpecial(EWeaponId pWeapon)
    {
        //Debug.Log("AddMapWeaponSpecial " + pWeapon);
        if (pWeapon == EWeaponId.None)
        {
            Debug.LogError($"Added weapon was null");
            return;
        }

        MapSpecialWeaponConfig config =
            brainiacs.ItemManager.GetMapSpecialWeaponConfig(pWeapon);

        if (config == null)
        {
            Debug.LogError("Config is null " + pWeapon);
            return;
        }

        game.PlayerStatusManager.ShowMapItem(player.Stats.MapItemUiPosition.position, config.MapItemInfo);


        PlayerWeaponSpecial weaponSpecial = null;

        switch (pWeapon)
        {
        case EWeaponId.Flamethrower:
            weaponSpecial = new SpecialFlamethrower(player, config);
            break;

        case EWeaponId.Mine:
            weaponSpecial = new PlayerWeaponSpecial(player, config);
            break;
        }

        if (weaponSpecial == null)
        {
            Debug.LogError("AddMapWeaponSpecial not defined for " + pWeapon);
            weaponSpecial = new PlayerWeaponSpecial(player, config);
        }


        weapon.AddWeapon(weaponSpecial);
    }