public override void OnCollision(BattleObject target) { PlayerStateManager playerManager = BattleStageManager.Instance.GetPlayerManager(); switch (itemType) { case ItemType.PowerItem: bool hyperBonus = false; if (playerManager.ChangeFirePower(1)) { playerManager.playerScore += 100; } else { hyperBonus = playerManager.AddScore(playerManager.maxPoint / 10, autoFlySpeed == itemLineFlySpeed); } playerManager.ChangeHyperPower(hyperBonus ? 10 : 5); break; case ItemType.ScoreItem: playerManager.AddScore(playerManager.maxPoint, autoFlySpeed == itemLineFlySpeed); break; case ItemType.MaxPointItem: playerManager.playerScore += 100; playerManager.maxPoint += 10; break; case ItemType.LifeItem: playerManager.playerLife++; break; case ItemType.SpellItem: playerManager.playerSpell++; break; } destroy = true; }