//------------------------------------------------------------------------------
        /// <summmary>
        /// Update scores
        /// </summary>
        public void UpdateScore(
			int social, int economy, int ecology, Score.ScoreMode type)
        {
            if(type!=Score.ScoreMode.AI)
            {
                // the system is a mapping
                //
                if(scoreSelf.Total < maxScore)
                {
                    scoreSelf.Social += social;
                    scoreSelf.Economy += economy;
                    scoreSelf.Ecology += ecology;
                }
                // Debug.Log ("---------------- TOTO"+scoreSelf.Social;
            } else
            {
                if(scoreSelfAI.Total < maxScore)
                {
                    scoreSelfAIAbsolute.Social  += social;
                    scoreSelfAIAbsolute.Economy += economy;
                    scoreSelfAIAbsolute.Ecology += ecology;
                    CalculateScoreSelfAIPercentage();
                }
                Log.GameTimes ("SCORE "+  scoreSelfAI.Social + " " + scoreSelfAI.Economy + " " +
                               scoreSelfAI.Ecology);
            }
            /*
            Debug.Log ("Total : "+ score.Social
                       + " " + score.Economy
                       + " " + mZ0103_scoreEcology
                       + " " + score.Total);
             */
        }
        //------------------------------------------------------------------------------
        /// <summmary>
        /// Reset scores
        /// </summary>
        public void ResetScores(Score.ScoreMode type)
        {
            if(type!=Score.ScoreMode.AI)
            {
                scoreSelf.Social = 0;
                scoreSelf.Economy = 0;
                scoreSelf.Ecology = 0;

            } else
            {
                scoreSelfAIAbsolute.Social  = 0;
                scoreSelfAIAbsolute.Economy = 0;
                scoreSelfAIAbsolute.Ecology = 0;
                //CalculateScoreSelfAIPercentage();
            }

            activeCitizen   = 0;
            informCitizen   = 0;
            activateCitizen = 0;
            total = 0;
        }
        /// <summmary>
        /// Update scores in Percentage way
        /// </summary>
        public void SetScore(int social, int economy, int ecology, Score.ScoreMode type)
        {
            if(type!=Score.ScoreMode.AI)
            {
                // the system is a mapping
                //
                scoreSelf.Social = social;
                scoreSelf.Economy = economy;
                scoreSelf.Ecology = ecology;

                // Debug.Log ("---------------- TOTO"+scoreSelf.Social;
            } else
            {
                scoreSelfAIAbsolute.Social  = social*3;
                scoreSelfAIAbsolute.Economy = economy*3;
                scoreSelfAIAbsolute.Ecology = ecology*3;
                // Percentage, e.g. 25,50,25

                scoreSelfAI.Social  = social;
                scoreSelfAI.Economy = economy;
                scoreSelfAI.Ecology = ecology;

                //CalculateScoreSelfAIPercentage();
            }
            /*
            Debug.Log ("Total : "+ score.Social
                       + " " + score.Economy
                       + " " + mZ0103_scoreEcology
                       + " " + score.Total);
             */
        }
        // Use this for initialization
        //void Start ()
        private Z0000_GameObjectives()
        {
            Log.Debug("Z0000_GameObjectives initialized.");
            score       = new Score();
            scoreSelf   = new Score();
            scoreSelfAI = new Score();
            scoreSelfAIAbsolute = new Score();
            scoreSelfAIAbsolute.rangeMax =  100000;
            scoreSelfAIAbsolute.rangeMin = -100000;

            namesHotSpotArray = new string[] {
                "aafa106b-0655-4b2d-9557-16c3ab0272f0",
                "4d8bd261-0c94-4613-8aa7-6dcdcf9f8dee",
                "3c5b8ea6-311b-4c31-9443-83e1afef63ca"
            };
            activateCitizenHotspot
                = new List<string>(namesHotSpotArray);

            namescollectKnowledgeHotspotArray = new string[] {
                "50293b47-36bc-47eb-92b8-ce2e79e4c716",
                "801228da-a84d-46d2-bc17-ffd2e5c7b753",
                "dcb53ec7-7cb4-453d-b54c-bb17587fe6b3"
            };
            collectKnowledgeHotspot
                = new List<string>(namescollectKnowledgeHotspotArray);

            namesraiseInterestHotspotArray = new string[] {
                "a6f0c811-4c27-449d-ae8a-75334a220bc6",
                "3045bb58-67b8-4360-8f66-1a497cb4c0ff",
                "665c0462-6686-401a-888f-c5f14919041f"
            };
            raiseInterestHotspot
                = new List<string>(namesraiseInterestHotspotArray);

            GameManager.Instance.RegisterEventHandler("ACHIEVEMENT", AchievementEventHandler);
            GameManager.Instance.RegisterEventHandler("RESET", ResetEventHandler);

            achievements = Achievements.Instance;
            if (achievements.Items.Count < 1) GetAchievements();

            // at start init all the values equal to a Game restart/reset
            Reset();
        }