void ProcessQueue()
    {
        if (queues != null && queues.Count > 0)
        {
            AchievementQueue queue = (AchievementQueue)queues[0];
            queues.RemoveAt(0);

            labelAchievementName.text = queue.sAchievementName;
            string sReward = queue.iRewardAmount.ToString() + " ";
            if (queue.iRewardType == AchievementReward.Ticket)
            {
                sReward += "GemuPoint";
            }
            else if (queue.iRewardType == AchievementReward.Coin)
            {
                sReward += "GemuGold";
            }
            else if (queue.iRewardType == AchievementReward.Exp)
            {
                sReward += "Exp";
            }
            if (queue.iRewardAmount > 1)
            {
                sReward += "s";
            }
            labelRewardAmount.text = sReward;

            GUI_Dialog.InsertStack(this.gameObject);
            //Show ();
        }
    }
    public void Show(string sAchievementName, int iRewardAmount, AchievementReward rewardType)
    {
        Debug.LogError("show achievement" + sAchievementName);
        AchievementQueue queue = new AchievementQueue();

        queue.sAchievementName = sAchievementName;
        queue.iRewardAmount    = iRewardAmount;
        queue.iRewardType      = rewardType;

        queues.Add(queue);
        if (!isVisible())
        {
            ProcessQueue();
        }
    }