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; }
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(); }
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(); }
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); }
public SpecialFlamethrower(Player pOwner, MapSpecialWeaponConfig pConfig) : base(pOwner, pConfig) { //Debug.Log("SpecialFlamethrowerNew()"); //flame = InstanceFactory.Instantiate(prefab.gameObject).GetComponent<SpecialFlamethrowerFlame>(); }