示例#1
0
        protected virtual void HandeleCollide(Bonus bonus)
        {
            bonus.Collect();


            if (bonus is TimePeriodBonus)
            {
                controller.timePeriodBonuses.Add(bonus as TimePeriodBonus);
            }
            else
            {
                if (bonus is Coin)
                {
                    GameManager.Instance.info.bonuses.IncScore((bonus as Coin).Score);
                }
                else if (bonus is CreditCard)
                {
                    GameManager.Instance.info.bonuses.IncScore((bonus as CreditCard).score);
                }
                else if (bonus is HalfBattery)
                {
                    GameManager.Instance.info.bonuses.hasHalfBattery = true;
                }
                else if (bonus is Medikit)
                {
                    controller.life.IncreaseHP(1);
                }
                else if (bonus is MemoryCard)
                {
                    GameManager.Instance.info.bonuses.hasMemoryCard = true;
                }
                else if (bonus is SuperMedikit)
                {
                    controller.life.RestoreHP();
                }
            }


            GameManager.Instance.BonusCollectedEvent(bonus, GameManager.Instance.info.bonuses);
        }