public void ShowActionSheet(FresviiGUICommentCard card) { HasPopUp = true; List<string> buttons = new List<string>(); if (!string.IsNullOrEmpty(card.Comment.Text)) { buttons.Add(FresviiGUIText.Get("CopyText")); } if(card.ClipImage != null) { buttons.Add(FresviiGUIText.Get("SaveImage")); } if (card.IsMine()) { buttons.Add(FresviiGUIText.Get("EditText")); if (card.ClipImage != null) { buttons.Add(FresviiGUIText.Get("ChangeImageFromLibrary")); buttons.Add(FresviiGUIText.Get("ChangeImageFromCamera")); } else { buttons.Add(FresviiGUIText.Get("AddImageFromLibrary")); buttons.Add(FresviiGUIText.Get("AddImageFromCamera")); } if (card.Comment.Id != Thread.Comment.Id) { buttons.Add(FresviiGUIText.Get("Delete")); } } if (!string.IsNullOrEmpty(card.IncludingUrl)) { buttons.Add(FresviiGUIText.Get("OpenLink")); } buttons.Add(FresviiGUIText.Get("Report")); actionSheet = Fresvii.AppSteroid.Gui.ActionSheet.Show(scaleFactor, postFix, this.GuiDepth - 30, buttons.ToArray(), (selectedButton) => { HasPopUp = false; if (selectedButton == FresviiGUIText.Get("CopyText")) // copy { #if !UNITY_EDITOR && (UNITY_ANDROID || UNITY_IOS) Fresvii.AppSteroid.Util.Clipboard.SetText(card.Comment.Text); #endif } else if (selectedButton == FresviiGUIText.Get("SaveImage")) { Fresvii.AppSteroid.Util.ImagePicker.SaveImageData(this, card.ClipImage.EncodeToPNG(), System.IO.Path.GetFileName(card.Comment.ImageThumbnailUrl)); } else if (selectedButton == FresviiGUIText.Get("EditText")) // edit { FASGesture.Pause(); GetComponent<FresviiGUIPopUpTextInput>().Show(card.Comment.Text, true, delegate(string text) { FASGesture.Resume(); string origText = card.Comment.Text; card.Comment.Text = text; threadBottomMenu.ClearTextInputField(); FASForum.EditComment(card.Comment.Id, text, "", delegate(Fresvii.AppSteroid.Models.Comment comment, Fresvii.AppSteroid.Models.Error error) { if (error == null) { card.Comment = comment; } else if (error.Code == (int)Fresvii.AppSteroid.Models.Error.ErrorCode.WWWTimeOut) { if (this != null && this.gameObject != null) { if (this.gameObject.activeInHierarchy && this.enabled) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("TimeOut"), delegate(bool del) { }); } } } else if (error.Code == (int)Fresvii.AppSteroid.Models.Error.ErrorCode.NotFound || (Application.platform == RuntimePlatform.Android && error.Detail.IndexOf("FileNotFound") >= 0)) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("ThreadNone"), delegate(bool del) { }); threadCard.DeleteThreadNonConfirm(); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("CommentCreateError"), delegate(bool del) { }); card.Comment.Text = origText; } }); }); } else if (selectedButton == FresviiGUIText.Get("ChangeImageFromLibrary") || selectedButton == FresviiGUIText.Get("ChangeImageFromCamera") || selectedButton == FresviiGUIText.Get("AddImageFromLibrary") || selectedButton == FresviiGUIText.Get("AddImageFromCamera")) { Fresvii.AppSteroid.Util.ImagePicker.Type type = (selectedButton == FresviiGUIText.Get("ChangeImageFromLibrary") || selectedButton == FresviiGUIText.Get("AddImageFromLibrary")) ? Fresvii.AppSteroid.Util.ImagePicker.Type.Gallery : Fresvii.AppSteroid.Util.ImagePicker.Type.Camera; Fresvii.AppSteroid.Util.ImagePicker.Show(this, type, (image) => { Texture2D origImage = card.ClipImage; if (image != null) { card.ClipImage = image; FASForum.EditComment(card.Comment.Id, "", image, (comment, error) => { if (error == null) { if (!string.IsNullOrEmpty(card.Comment.ImageThumbnailUrl)) { FresviiGUIManager.Instance.resourceManager.ReleaseTexture(card.Comment.ImageThumbnailUrl); } card.Comment = comment; } else if (error.Code == (int)Fresvii.AppSteroid.Models.Error.ErrorCode.WWWTimeOut) { if (this != null && this.gameObject != null) { if (this.gameObject.activeInHierarchy && this.enabled) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("TimeOut"), delegate(bool del) { }); } } } else if (error.Code == (int)Fresvii.AppSteroid.Models.Error.ErrorCode.NotFound || (Application.platform == RuntimePlatform.Android && error.Detail.IndexOf("FileNotFound") >= 0)) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("ThreadNone"), delegate(bool del) { }); threadCard.DeleteThreadNonConfirm(); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("CommentEditError"), delegate(bool del) { }); card.ClipImage = origImage; } }); } }); } else if (selectedButton == FresviiGUIText.Get("Delete")) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("Delete"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSelectDialog(FresviiGUIText.Get("ConfirmDeleteComment"), delegate(bool del) { if (del) { if (threadCard.Thread.CommentCount >= 1) { threadCard.Thread.CommentCount -= 1; } card.DeleteCard(); } }); } else if(selectedButton == FresviiGUIText.Get("Report")) { StartCoroutine(ReportDelay(card.Comment.Id)); } else if (selectedButton == FresviiGUIText.Get("OpenLink")) { Application.OpenURL(card.IncludingUrl); } }); FASGesture.Stop(); }
public void Report(string commentId) { HasPopUp = true; List<string> buttons = new List<string>(); foreach (ForumService.ReportKind kind in System.Enum.GetValues(typeof(ForumService.ReportKind))) { buttons.Add(FresviiGUIText.Get(kind.ToString())); } actionSheetReport = Fresvii.AppSteroid.Gui.ActionSheet.Show(scaleFactor, postFix, this.GuiDepth - 30, buttons.ToArray(), (selectedButton) => { HasPopUp = false; for (int i = 0; i < buttons.Count; i++) { if (selectedButton == FresviiGUIText.Get(((ForumService.ReportKind)i).ToString())) { FASForum.ReportComment(commentId, (ForumService.ReportKind)i, "", (comment, error) => { if (error != null && error.Code != 402) { Debug.LogError("ReportComment :" + error.ToString()); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("UnknownError"), FresviiGUIText.Get("OK"), FresviiGUIText.Get("OK"), FresviiGUIText.Get("OK"), (del) => { }); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("ReportSent"), FresviiGUIText.Get("OK"), FresviiGUIText.Get("OK"), FresviiGUIText.Get("OK"), (del) => { }); } }); return; } } }); }
void OnGUI() { GUI.depth = GuiDepth; GUI.DrawTextureWithTexCoords(menuRect, palette, texCoordsMenu); GUI.DrawTextureWithTexCoords(new Rect(menuRect.x, menuRect.y - 1, Screen.width, 1), palette, texCoordsBorderLine); GUI.BeginGroup(menuRect); Event e = Event.current; if (!imageLoading) { if (clipImage == null) { GUI.DrawTexture(addButtonPosition, addButton, ScaleMode.ScaleToFit); } else { GUI.DrawTexture(addButtonPosition, clipImage, ScaleMode.ScaleAndCrop); } } if (!imageLoading) { if (GUI.Button(addButtonHitPosition, "", GUIStyle.none) && !parentFrame.ControlLock) { if (!sendEnableAtAction) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(sendUnableAtActionMessage, delegate(bool del) { }); } else { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("TakePhoto")); buttons.Add(FresviiGUIText.Get("ChoosePhoto")); buttons.Add(FresviiGUIText.Get("ChooseMovie")); if (clipImage != null) buttons.Add(FresviiGUIText.Get("CancelPhoto")); if (video != null) { buttons.Add(FresviiGUIText.Get("CancelVideo")); } actionSheet = Fresvii.AppSteroid.Gui.ActionSheet.Show(scaleFactor, postFix, this.GuiDepth - 10, buttons.ToArray(), (selectedButton) => { if (selectedButton == FresviiGUIText.Get("TakePhoto")) // TakePhoto { imageLoading = true; loadingSpinnerPosition = new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height); loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(loadingSpinnerPosition, GUI.depth); Fresvii.AppSteroid.Util.ImagePicker.Show(this, Fresvii.AppSteroid.Util.ImagePicker.Type.Camera, delegate(Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; video = null; if (autoSendImageLoaded) { Send("", clipImage, video); } } }); } else if (selectedButton == FresviiGUIText.Get("ChoosePhoto")) // Choose Photo from library { imageLoading = true; loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height), GUI.depth); Fresvii.AppSteroid.Util.ImagePicker.Show(this, Fresvii.AppSteroid.Util.ImagePicker.Type.Gallery, delegate(Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; video = null; if (autoSendImageLoaded) { Send("", clipImage, video); } } }); } else if (selectedButton == FresviiGUIText.Get("ChooseMovie")) // Choose Video from library { imageLoading = true; loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height), GUI.depth); FresviiGUIVideoList.Show(parentFrame, int.MinValue + 1000, delegate(Fresvii.AppSteroid.Models.Video _video, Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; this.video = _video; if (autoSendImageLoaded) { Send("", clipImage, video); } } }); } else if (selectedButton == FresviiGUIText.Get("CancelPhoto")) // Cancel photo { if (clipImage != null) { Destroy(clipImage); clipImage = null; video = null; } } else if (selectedButton == FresviiGUIText.Get("CancelVideo")) // Cancel video { if (clipImage != null) { Destroy(clipImage); clipImage = null; video = null; } } }); } } } FresviiGUIUtility.DrawButtonFrameX9(textFieldPosition, textFiled); if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXEditor) { textInputField = GUI.TextField(textFieldPosition, textInputField, guiStyleTextFiled); } else{ if (e.type == EventType.MouseUp && textFieldPosition.Contains(e.mousePosition) && !FASGesture.IsDragging) { e.Use(); FresviiGUIPopUpShield shield = gameObject.GetComponent<FresviiGUIPopUpShield>(); if(shield == null) { shield = gameObject.AddComponent<FresviiGUIPopUpShield>(); } shield.Enable(delegate () { if(keyboard != null) { keyboard.active = false; keyboard.text = ""; keyboard = null; } }); keyboard = TouchScreenKeyboard.Open(textInputField, TouchScreenKeyboardType.Default, false, true, false, false); } if (keyboard != null) { textInputField = keyboard.text; if(keyboard.done || keyboard.wasCanceled || !keyboard.active) { gameObject.GetComponent<FresviiGUIPopUpShield>().Done(); keyboard = null; } } GUI.Label(textFieldPosition, textInputField, guiStyleTextFiled); } bool sendOK = ((clipImage != null) || !string.IsNullOrEmpty(textInputField)); guiStyleSendButton.normal.textColor = (sendOK) ? buttonTextEnableColor : buttonTextUnableColor; Texture2D sendButtonTexture = (sendOK) ? sendButton : sendButtonD; if (sending) { sendButtonTexture = sendButtonH; guiStyleSendButton.normal.textColor = buttonTextHitColor; } FresviiGUIUtility.DrawButtonFrameX9(sendButtonPosition, sendButtonTexture); GUI.Label(sendButtonPosition, FresviiGUIText.Get("send"), guiStyleSendButton); if (e.type == EventType.MouseUp && sendButtonPosition.Contains(e.mousePosition) && sendOK && !FASGesture.IsDragging && !parentFrame.ControlLock) { e.Use(); if (!sendEnableAtAction) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); if (string.IsNullOrEmpty(sendUnableAtActionDialogTitle)) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(sendUnableAtActionMessage, delegate(bool del) { }); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(sendUnableAtActionDialogTitle, sendUnableAtActionMessage, delegate(bool del) { }); } } else { Send(textInputField, clipImage, video); textInputField = ""; if (keyboard != null) { keyboard.text = ""; } keyboard = null; clipImage = null; video = null; } } GUI.EndGroup(); }
public void ShowActionSheet(FresviiGUIGroupCard card) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Delete")); ControlLock = true; actionSheet = Fresvii.AppSteroid.Gui.ActionSheet.Show(this.scaleFactor, this.postFix, GuiDepth - 10, buttons.ToArray(), (selectedButton) => { ControlLock = false; if (selectedButton == FresviiGUIText.Get("Delete")) { if (card.Group.Pair) { #if !UNITY_EDITOR Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("Yes"), FresviiGUIText.Get("No"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("NotArrowDeletePair"), delegate(bool del) { }); #endif return; } else { #if !UNITY_EDITOR Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("Delete"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSelectDialog(FresviiGUIText.Get("ConfirmDeleteGroup"), delegate(bool del) { if (del) { #endif card.OnCardGone(); #if !UNITY_EDITOR } }); #endif } } }); }
public void Draw(Rect position, bool drawSeperateLine) { if (user != null) { if (!userIconLoaded && !userIconLoading) { StartCoroutine(UserIconLoad()); } else if (userIconLoaded && user.ProfileImageUrl != userProfileUrl) { StartCoroutine(UserIconLoad()); } } CalcLayout(position.width); Event e = Event.current; if (position.Contains(e.mousePosition) && FASGesture.IsHolding && !FASGesture.IsDragging && !frameEditGroupMembers.ControlLock) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Delete")); frameEditGroupMembers.ControlLock = true; actionSheet = Fresvii.AppSteroid.Gui.ActionSheet.Show(this.scaleFactor, this.postFix, frameEditGroupMembers.GuiDepth - 10, buttons.ToArray(), (selectedButton) => { frameEditGroupMembers.ControlLock = false; if (selectedButton == FresviiGUIText.Get("Delete")) { if (ValidateDelete()) { if (!(Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)) { OnCardGone(); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("Delete"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSelectDialog(FresviiGUIText.Get("ConfirmRemoveMember"), delegate(bool del) { if (del) { OnCardGone(); } }); } } } }); } isSlide = (FASGesture.IsTouching && position.Contains(e.mousePosition) && FASGesture.DragDirec == FASGesture.DragDirection.Horizontal); if (FASGesture.IsTouchBegin && cardXOffset > 0 && !position.Contains(e.mousePosition)) { isClose = true; isSlide = false; } Rect slidedPosition = new Rect(position.x - cardXOffset, position.y, position.width + cardXOffset, position.height); GUI.DrawTextureWithTexCoords(position, palette, texCoordsBackground); GUI.BeginGroup(slidedPosition); // Delete button buttonDeletePostion = new Rect(slidedPosition.width - deleteButtonWidth, 0, deleteButtonWidth, cardHeight); GUI.DrawTextureWithTexCoords(buttonDeletePostion, palette, textureCoordsDelete); if(!isDelete && cardXOffset > 0) GUI.Label(buttonDeletePostion, FresviiGUIText.Get("Delete"), guiStyleDelete); if (cardXOffset == deleteButtonWidth) { if (e.type == EventType.MouseUp && buttonDeletePostion.Contains(e.mousePosition) && !FASGesture.IsDragging && !isDelete && !frameEditGroupMembers.ControlLock) { e.Use(); if (ValidateDelete()) { DeleteAnimation(); } else { isClose = true; } } } if (e.type == EventType.MouseUp && cardPosition.Contains(e.mousePosition) && !FASGesture.IsDragging && !isDelete && !frameEditGroupMembers.ControlLock) { e.Use(); if (cardXOffset > 0) { isClose = true; } else if(!frameEditGroupMembers.CardIsOpen) { if (this.user != null) { if (nextFrameProfile == null) { nextFrameProfile = ((GameObject)Instantiate(prfbGUIFrameUserProfile)).GetComponent<FresviiGUIFrame>(); nextFrameProfile.gameObject.GetComponent<FresviiGUIUserProfile>().SetUser(user); nextFrameProfile.Init(null, FresviiGUIManager.postFix, FresviiGUIManager.scaleFactor, FASGui.GuiDepthBase); nextFrameProfile.transform.parent = this.transform; } nextFrameProfile.SetDraw(true); nextFrameProfile.PostFrame = frameEditGroupMembers; frameEditGroupMembers.Tween(Vector2.zero, new Vector2(-Screen.width, 0.0f), delegate() { frameEditGroupMembers.SetDraw(false); }); nextFrameProfile.Tween(new Vector2(Screen.width, 0.0f), Vector2.zero, delegate() { }); } } } GUI.DrawTextureWithTexCoords(cardPosition, palette, texCoordsBackground); GUI.DrawTexture(buttonRightPosition, buttonRightIcon); if(drawSeperateLine) GUI.DrawTextureWithTexCoords(seperateLinePosition, palette, textureCoordsSeparateLine); // UserIcon ----------------------- if (Event.current.type == EventType.Repaint) { userMask.color = new Color(1f, 1f, 1f, 1.0f); Graphics.DrawTexture(userIconPosition, ((userIcon == null) ? userIconDefault : userIcon), userMask); } // User name ----------------------- GUI.Label(userNamePosition, contentUserName, guiStyleUserName); GUI.EndGroup(); }
void OnGUI() { GUI.depth = GuiDepth; GUI.DrawTextureWithTexCoords(menuRect, palette, texCoordsMenu); GUI.DrawTextureWithTexCoords(new Rect(menuRect.x, menuRect.y - 1, Screen.width, 1), palette, texCoordsBorderLine); GUI.BeginGroup(menuRect); Event e = Event.current; if (!imageLoading) { if (clipImage == null) { GUI.DrawTexture(addButtonPosition, addButton, ScaleMode.ScaleToFit); } else { GUI.DrawTexture(addButtonPosition, clipImage, ScaleMode.ScaleAndCrop); } } if (!imageLoading) { if (GUI.Button(addButtonHitPosition, "", GUIStyle.none)) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("TakePhoto")); buttons.Add(FresviiGUIText.Get("ChoosePhoto")); buttons.Add(FresviiGUIText.Get("ChooseMovie")); if (clipImage != null) buttons.Add(FresviiGUIText.Get("CancelPhoto")); if (video != null) buttons.Add(FresviiGUIText.Get("CancelVideo")); actionSheet = Fresvii.AppSteroid.Gui.ActionSheet.Show(scaleFactor, postFix, this.GuiDepth - 10, buttons.ToArray(), (selectedButton) => { if (selectedButton == FresviiGUIText.Get("TakePhoto")) // TakePhoto { imageLoading = true; loadingSpinnerPosition = new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height); loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(loadingSpinnerPosition, GUI.depth); Fresvii.AppSteroid.Util.ImagePicker.Show(this, Fresvii.AppSteroid.Util.ImagePicker.Type.Camera, delegate(Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; video = null; } }); } else if (selectedButton == FresviiGUIText.Get("ChoosePhoto")) // Choose Photo from library { imageLoading = true; loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height), GUI.depth); Fresvii.AppSteroid.Util.ImagePicker.Show(this, Fresvii.AppSteroid.Util.ImagePicker.Type.Gallery, delegate(Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; video = null; } }); } else if (selectedButton == FresviiGUIText.Get("ChooseMovie")) // Choose Video from library { imageLoading = true; loadingSpiner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(new Rect(menuRect.x + addButtonPosition.x, menuRect.y + addButtonPosition.y, addButtonPosition.width, addButtonPosition.height), GUI.depth); FresviiGUIVideoList.Show(frameThread, frameThread.GuiDepth - 500, delegate(Fresvii.AppSteroid.Models.Video _video, Texture2D loadedTexture) //ImagePicker.ShowMoviePicker(this, delegate(string path, Texture2D loadedTexture) { imageLoading = false; loadingSpiner.Hide(); if (loadedTexture != null) { if (clipImage != null) { Destroy(clipImage); clipImage = null; } clipImage = loadedTexture; this.video = _video; } }); } else if (selectedButton == FresviiGUIText.Get("CancelPhoto")) // Cancel photo { if (clipImage != null) { Destroy(clipImage); clipImage = null; video = null; } } else if (selectedButton == FresviiGUIText.Get("CancelVideo")) // Cancel video { if (clipImage != null) { Destroy(clipImage); clipImage = null; video = null; } } }); } } FresviiGUIUtility.DrawButtonFrame(textFieldPosition, textFiled, scaleFactor); #if UNITY_EDITOR textInputField = GUI.TextField(textFieldPosition, textInputField, guiStyleTextFiled); #elif UNITY_ANDROID || UNITY_IOS if (e.type == EventType.MouseUp && textFieldPosition.Contains(e.mousePosition) && !FASGesture.IsDragging) //if (GUI.Button(textFieldPosition, textInputField, guiStyleTextFiled)) { e.Use(); FresviiGUIPopUpShield shield = gameObject.GetComponent<FresviiGUIPopUpShield>(); if(shield == null) { shield = gameObject.AddComponent<FresviiGUIPopUpShield>(); } shield.Enable(delegate () { if(keyboard != null) { keyboard.active = false; keyboard.text = ""; keyboard = null; } }); keyboard = TouchScreenKeyboard.Open(textInputField, TouchScreenKeyboardType.Default, false, true, false, false); } if (keyboard != null) { textInputField = keyboard.text; if(keyboard.done || keyboard.wasCanceled || !keyboard.active) { gameObject.GetComponent<FresviiGUIPopUpShield>().Done(); keyboard = null; } } GUI.Label(textFieldPosition, textInputField, guiStyleTextFiled); #endif bool sendEnable = (clipImage != null) || !string.IsNullOrEmpty(textInputField); guiStyleSendButton.normal.textColor = (sendEnable) ? buttonTextEnableColor : buttonTextUnableColor; Texture2D sendButtonTexture = (sendEnable) ? sendButton : sendButtonD; if (sending) { sendButtonTexture = sendButtonH; guiStyleSendButton.normal.textColor = buttonTextHitColor; } FresviiGUIUtility.DrawButtonFrame(sendButtonPosition, sendButtonTexture, scaleFactor); GUI.Label(sendButtonPosition, FresviiGUIText.Get("send"), guiStyleSendButton); if(e.type == EventType.MouseUp && sendButtonPosition.Contains(e.mousePosition) && sendEnable && !FASGesture.IsDragging) { e.Use(); if (Application.internetReachability == NetworkReachability.NotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool del) { }); return; } frameThread.AddComment(frameThread.Thread.Id, textInputField, clipImage, video); StartCoroutine(SendingAnimation()); textInputField = ""; if(keyboard != null) keyboard.text = ""; keyboard = null; clipImage = null; video = null; } GUI.EndGroup(); }