Exemple #1
0
        void OnCollisionExit2D(Collision2D collision)
        {
            if (this.upgrade)
            {
                BallDatabase database = GameContext.ballFactory.GetDatabase();
                BallType     nextType = database.GetNextBallType(this.type);
                if (nextType != BallType.Null)
                {
                    ScoreMessage scoreMessage = GameContext.messageDispatcher.AddMessage <ScoreMessage>();
                    scoreMessage.score = database.GetValue(this.type) * 2;

                    this.type  = nextType;
                    this.color = database.GetColor(nextType);

                    this.upgrade = false;
                }
                else
                {
                    this.destroy = true;
                }
            }
            if (this.destroy)
            {
                MakeAvailableForReuse();
            }
        }
Exemple #2
0
        private void HandleScoreMessage(IMessageProvider provider)
        {
            ScoreMessage message = provider.GetMessage <ScoreMessage>();

            m_score += message.score;
        }