public void Show(float scaleFactor, bool isMine, bool isSubscribed, Vector2 position, Action deleteCallback, Action subscribeCallback, Action unsubscribeCallback, Action cancelCallback)
        {
            this.deleteCallback = deleteCallback;
            this.subscribeCallback = subscribeCallback;
            this.unsubscribeCallback = unsubscribeCallback;
            this.cancelCallback = cancelCallback;
            this.isMine = isMine;
            this.isSubscribed = isSubscribed;
            this.position = position;

            if (!initialized)
            {
                sideMargin *= scaleFactor;
                topMargin *= scaleFactor;
                margin *= scaleFactor;
                buttonSize *= scaleFactor;
                hMargin *= scaleFactor;
                offset *= scaleFactor;
                guiStyleButton.fontSize = (int)(guiStyleButton.fontSize * scaleFactor);
                guiStyleButton.padding.left = (int)(guiStyleButton.padding.left * scaleFactor);
                initialized = true;
            }

            buttonCount = (isMine) ? 3 : 2;

            show = true;

            shield = this.gameObject.AddComponent<FresviiGUIPopUpShield>();
            shield.guiDepth = guiDepth + 1;
            shield.Enable(OnCanceled);
        }
        public void Show(string[] buttons, Vector2 position, float scaleFactor, string postFix, int guiDepth, Color bgNormal, Color bgActive, Color textColor, Action<string> callback)
        {
            this.buttons = buttons;

            this.position = position;

            this.buttonSize *= scaleFactor;

            this.trianglePosition *= scaleFactor;

            this.callback = callback;

            this.bgNormal = bgNormal;

            this.bgActive = bgActive;

            this.textColor = textColor;

            guiStyleButton.fontSize = (int)(guiStyleButton.fontSize * scaleFactor);

            guiStyleButton.padding.left = (int)(guiStyleButton.padding.left * scaleFactor);

            guiStyleButton.normal.textColor = this.textColor;

            this.textureBg = FresviiGUIManager.Instance.resourceManager.LoadTextureFromResource(FresviiGUIConstants.ResouceTextureFolderName + "/" + FresviiGUIConstants.PopUpBalloonButtonBackgroundName + postFix, false);

            this.textureBaloonTriangle = FresviiGUIManager.Instance.resourceManager.LoadTextureFromResource(FresviiGUIConstants.ResouceTextureFolderName + "/" + FresviiGUIConstants.PopUpBalloonButtonTriangle + postFix, false);

            shield = this.gameObject.AddComponent<FresviiGUIPopUpShield>();

            this.guiDepth = guiDepth;

            shield.Enable(OnCanceled, EventType.MouseUp, this.guiDepth + 1);

            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                guiStyleButton.font = null;
            }

            buttonSelected = new bool[buttons.Length + 1];

            show = true;

            iTween.ValueTo(this.gameObject, iTween.Hash("from", 0.0f, "to", 1.0f, "time", tweenDuration, "onupdatetarget", this.gameObject, "onupdate", "OnUpdateAlpha"));
        }