Пример #1
0
    private void RefreshMapSprite()
    {
        Sprite s = null;

        switch (type)
        {
        case EType.Weapon:
            MapWeaponConfig weapon = GetMapWeaponConfig();
            s = weapon.MapItemInfo.MapSprite;
            break;

        case EType.SpecialWeapon:
            MapSpecialWeaponConfig specialWeapon = GetMapSpecialWeaponConfig();
            s = specialWeapon.MapItemInfo.MapSprite;
            break;

        case EType.PowerUp:
            PowerUpConfig powerUpConfig = GetPowerUpConfig();
            s = powerUpConfig.MapItemInfo.MapSprite;
            break;

        case EType.GameEffect:
            GameEffectConfig config = GetGameEffectConfig();
            s = config.MapItemInfo.MapSprite;
            break;

        default:
            Debug.LogError("Map item type not inited");
            break;
        }

        spriteRend.sprite = s;
    }
Пример #2
0
 public PlayerWeaponSpecial(Player pOwner, MapSpecialWeaponConfig pConfig) :
     base(pOwner, pConfig.Id, pConfig.InHandInfo, pConfig.VisualInfo)
 {
     prefab = pConfig.SpecialWeaponInfo.Prefab;
     //Game.Instance.PlayerManager.OnAllPlayersAdded.AddAction(InstantiatePrefab);
     InstantiatePrefab();
 }
Пример #3
0
    private void OnEnter(Player pPlayer)
    {
        switch (type)
        {
        case EType.Weapon:
            MapWeaponConfig weapon = GetMapWeaponConfig();
            pPlayer.ItemController.AddMapWeapon(weapon.Id);
            break;

        case EType.SpecialWeapon:
            MapSpecialWeaponConfig specialWeapon = GetMapSpecialWeaponConfig();
            pPlayer.ItemController.AddMapWeaponSpecial(specialWeapon.Id);
            break;

        case EType.PowerUp:
            PowerUpConfig powerUpConfig = GetPowerUpConfig();
            PowerupManager.HandlePowerup(powerUpConfig, pPlayer);
            break;

        case EType.GameEffect:
            GameEffectConfig config = GetGameEffectConfig();
            game.GameEffect.HandleEffect(config.Type);
            break;

        default:
            Debug.LogError("Map item type not handled");
            break;
        }
        PlaySound(ESound.Item_Weapon_Pickup);

        //if(powerUpConfig != null)
        //{
        //	//Debug.Log("OnEnter powerup");
        //	PowerupManager.HandlePowerup(powerUpConfig, pPlayer);
        //}
        //else if(weaponConfig != null)
        //{
        //	//Debug.Log("OnEnter weapon");
        //	pPlayer.ItemController.AddMapWeapon(weaponConfig.Id);
        //	PlaySound(ESound.Item_Weapon_Pickup);
        //}
        //else if(weaponSpecialConfig != null)
        //{
        //	//Debug.Log("OnEnter weapon special");
        //	pPlayer.ItemController.AddMapWeaponSpecial(weaponSpecialConfig.Id);
        //	PlaySound(ESound.Item_Weapon_Pickup);
        //}
        //TODO: special weapon + handle error

        ReturnToPool();
    }
Пример #4
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);
    }
Пример #5
0
 public SpecialFlamethrower(Player pOwner, MapSpecialWeaponConfig pConfig) : base(pOwner, pConfig)
 {
     //Debug.Log("SpecialFlamethrowerNew()");
     //flame = InstanceFactory.Instantiate(prefab.gameObject).GetComponent<SpecialFlamethrowerFlame>();
 }