void OnGUI() { GUI.DrawTextureWithTexCoords(backgroundRect, FresviiGUIColorPalette.Palette, textureCoordsBackground); if (isReady) { GUI.BeginGroup(baseRect); GUI.BeginGroup(scrollViewRect); // User Image if (Event.current.type == EventType.Repaint) { userMask.color = Color.white; Graphics.DrawTexture(userImagePosition, (textureMyProfile == null) ? textureMyProfileDefault : textureMyProfile, userMask); } Event e = Event.current; GUI.DrawTexture(userImagePosition, textureMyProfileCircle); // User Name GUI.Label(userNamePosition, userNameContent, guiStyleLabelUserName); // Holding - menu apper if (userNamePosition.Contains(e.mousePosition) && FASGesture.IsHolding && !FASGesture.IsDragging && !ControlLock) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Copy")); Vector2 postion = new Vector2(baseRect.x + scrollViewRect.x + userNamePosition.x + userNamePosition.width * 0.5f, baseRect.y + scrollViewRect.y + userNamePosition.y); ControlLock = true; popOverBalloonMenu = Fresvii.AppSteroid.Gui.PopOverBalloonMenu.Show(scaleFactor, postFix, this.GuiDepth - 30, postion, buttons.ToArray(), (selectedButton) => { ControlLock = false; if (selectedButton == FresviiGUIText.Get("Copy")) { Fresvii.AppSteroid.Util.Clipboard.SetText(currentUser.Name); } }); popOverBalloonMenu.Name = "UserName"; } // User Code GUI.Label(userCodePosition, userCodeContent, guiStyleLabelUserCode); // Holding - menu apper if (userCodePosition.Contains(e.mousePosition) && FASGesture.IsHolding && !FASGesture.IsDragging && !ControlLock) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Copy")); Vector2 postion = new Vector2(baseRect.x + scrollViewRect.x + userCodePosition.x + userCodePosition.width * 0.5f, baseRect.y + scrollViewRect.y + userCodePosition.y); ControlLock = true; popOverBalloonMenu = Fresvii.AppSteroid.Gui.PopOverBalloonMenu.Show(scaleFactor, postFix, this.GuiDepth - 30, postion, buttons.ToArray(), (selectedButton) => { ControlLock = false; if (selectedButton == FresviiGUIText.Get("Copy")) { Fresvii.AppSteroid.Util.Clipboard.SetText(currentUser.UserCode); } }); popOverBalloonMenu.Name = "UserCode"; } // User Description GUI.Label(userDescriptionPosition, currentUser.Description, guiStyleLabelUserProfile); // User FriendTitleBar GUI.DrawTextureWithTexCoords(friendMenuTitleBarPosition, palette, buttonFriendList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(friendMenuTitleBarPosition, friendCountLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(friendMenuRightIconPosition, textureRight); if (buttonFriendList.IsTap(e, friendMenuTitleBarPosition)) { frameFriendList = ((GameObject)Instantiate(prfbFriendList)).GetComponent<FresviiGUIFrame>(); frameFriendList.transform.parent = this.transform; frameFriendList.gameObject.GetComponent<FresviiGUIFriendList>().SetUser(currentUser); frameFriendList.Init(null, postFix, this.scaleFactor, this.GuiDepth - 1); frameFriendList.SetDraw(true); frameFriendList.PostFrame = this; this.Tween(Vector2.zero, new Vector2(-Screen.width, 0.0f), moveDelayTime, delegate() { this.SetDraw(false); }); frameFriendList.Tween(new Vector2(Screen.width, 0.0f), Vector2.zero, moveDelayTime, delegate() { }); } // RequestTitleBar GUI.DrawTextureWithTexCoords(requestTitleBarPosition, palette, buttonFriendshipRequestList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(requestTitleBarPosition, requestLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(requestRightIconPosition, textureRight); if (buttonFriendshipRequestList.IsTap(e, requestTitleBarPosition)) { GoToFriendRequests(); } #if UNITY_IOS // VideoTitleBar if (FASConfig.Instance.videoEnable) { GUI.DrawTextureWithTexCoords(videoTitleBarPosition, palette, buttonVideoList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(videoTitleBarPosition, videoListLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(videoRightIconPosition, textureRight); if (buttonVideoList.IsTap(e, videoTitleBarPosition)) { GoToVideoList(true); } } #endif // DirectMessageTitleBar GUI.DrawTextureWithTexCoords(directMessageTitleBarPosition, palette, buttonDirectMessageList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(directMessageTitleBarPosition, directMessageListLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(directMessageRightIconPosition, textureRight); if (buttonDirectMessageList.IsTap(e, directMessageTitleBarPosition)) { GoToDirectMessageList(true); } GUI.EndGroup(); // scroll view rect GUI.EndGroup(); // base rect // Notification if (RequestedFriendsListMeta != null) { if (RequestedFriendsListMeta.TotalCount > 0) { GUI.DrawTextureWithTexCoords(friendNotificationPosition, palette, texCoordsNotificationBg); string friendRequestMessage = FresviiGUIText.Get("FriendRequestCount").Replace("#", RequestedFriendsListMeta.TotalCount.ToString()); GUI.Label(friendNotificationPosition, friendRequestMessage, guiStyleFriendNotification); if (buttonFriendNotification.IsTap(Event.current, friendNotificationPosition)) { GoToFriendRequests(); } } } } }
void OnGUI() { GUI.DrawTextureWithTexCoords(backgroundRect, FresviiGUIColorPalette.Palette, textureCoordsBackground); if(user == null) return; if (!hasError) { GUI.depth = GuiDepth; GUI.BeginGroup(baseRect); GUI.BeginGroup(scrollViewRect); // User Image GUI.DrawTexture(userImagePosition, (textureUserProfile == null) ? textureUserProfileDefault : textureUserProfile, ScaleMode.ScaleToFit); Color tmp = GUI.color; GUI.color = bgColor; GUI.DrawTexture(userImagePosition, textureUserProfileMask, ScaleMode.ScaleToFit); GUI.color = tmp; GUI.DrawTexture(userImagePosition, textureUserProfileCircle, ScaleMode.ScaleToFit); // User name GUI.Label(userNamePosition, userNameContent, guiStyleLabelUserName); if (!string.IsNullOrEmpty(user.Description)) { GUI.Label(userDescriptionPosition, userDescriptionContent, guiStyleLabelUserProfile); } if (user.Official) { GUI.EndGroup(); GUI.EndGroup(); return; } Event e = Event.current; // Holding - menu apper if (userNamePosition.Contains(e.mousePosition) && FASGesture.IsHolding && !FASGesture.IsDragging && !ControlLock) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Copy")); Vector2 postion = new Vector2(baseRect.x + scrollViewRect.x + userNamePosition.x + userNamePosition.width * 0.5f, baseRect.y + scrollViewRect.y + userNamePosition.y); ControlLock = true; popOverBalloonMenu = Fresvii.AppSteroid.Gui.PopOverBalloonMenu.Show(scaleFactor, postFix, this.GuiDepth - 30, postion, buttons.ToArray(), (selectedButton) => { ControlLock = false; if (selectedButton == FresviiGUIText.Get("Copy")) { Fresvii.AppSteroid.Util.Clipboard.SetText(user.Name); } }); popOverBalloonMenu.Name = "UserName"; } // User Code GUI.Label(userCodePosition, userCodeContent, guiStyleLabelUserCode); // Holding - menu apper if (userCodePosition.Contains(e.mousePosition) && FASGesture.IsHolding && !FASGesture.IsDragging && !ControlLock) { List<string> buttons = new List<string>(); buttons.Add(FresviiGUIText.Get("Copy")); Vector2 postion = new Vector2(baseRect.x + scrollViewRect.x + userCodePosition.x + userCodePosition.width * 0.5f, baseRect.y + scrollViewRect.y + userCodePosition.y); ControlLock = true; popOverBalloonMenu = Fresvii.AppSteroid.Gui.PopOverBalloonMenu.Show(scaleFactor, postFix, this.GuiDepth - 30, postion, buttons.ToArray(), (selectedButton) => { ControlLock = false; if (selectedButton == FresviiGUIText.Get("Copy")) { Fresvii.AppSteroid.Util.Clipboard.SetText(user.UserCode); } }); popOverBalloonMenu.Name = "UserCode"; } if (userInfoEnable) { #region Friend button if (user.FriendStatus == Fresvii.AppSteroid.Models.User.FriendStatuses.Requesting) { guiStyleButtonFriend.normal.textColor = btnNegativeColor; buttonFriend.IsTap(e, friendButtonPosition, friendButtonPosition, FresviiGUIButton.ButtonType.FrameAndLabel, textureButton03, textureButton03, textureButton03, FresviiGUIText.Get("RequestSent"), guiStyleButtonFriend); } /*else if (user.FriendStatus == User.FriendStatuses.Requested) { guiStyleButtonFriend.normal.textColor = btnNegativeColor; buttonFriend.IsTap(e, friendButtonPosition, friendButtonPosition, FresviiGUIButton.ButtonType.FrameAndLabel, textureButton03, textureButton03, textureButton03, FresviiGUIText.Get("Requested"), guiStyleButtonFriend); }*/ else if (user.FriendStatus == Fresvii.AppSteroid.Models.User.FriendStatuses.Friend) { guiStyleButtonFriend.normal.textColor = btnPositiveColor; if (buttonFriend.IsTap(e, friendButtonPosition, friendButtonPosition, FresviiGUIButton.ButtonType.FrameAndLabel, textureButton01, textureButton01H, textureButton01H, FresviiGUIText.Get("Unfriend"), guiStyleButtonFriend)) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("Unfriend"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSelectDialog(FresviiGUIText.Get("ConfirmUnfriend"), delegate(bool del) { #if UNITY_EDITOR if (true) #else if(del) #endif { if (Application.internetReachability == NetworkReachability.NotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool _del) { }); } else { FASFriendship.UnFriend(this.user.Id, delegate(Fresvii.AppSteroid.Models.Error error) { if (error == null) { user.SetFriendStatus(Fresvii.AppSteroid.Models.FriendshipRequest.Statuses.none.ToString()); DeletePairGroupMessages(user.Id, deleteGroupRetryCount, deleteGroupRetryInterval); } else { if (FASConfig.Instance.logLevel <= FAS.LogLevels.Error) { Debug.LogError(error.ToString()); } Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("UnknownError"), delegate(bool _del) { }); } }); } } }); } } else { guiStyleButtonFriend.normal.textColor = btnPositiveColor; if (buttonFriend.IsTap(e, friendButtonPosition, friendButtonPosition, FresviiGUIButton.ButtonType.FrameAndLabel, textureButton01, textureButton01H, textureButton01H, FresviiGUIText.Get("AddFriend"), guiStyleButtonFriend)) { if (Application.internetReachability == NetworkReachability.NotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool del) { }); } else { user.SetFriendStatus(Fresvii.AppSteroid.Models.FriendshipRequest.Statuses.requesting.ToString()); FASFriendship.SendFriendshipRequest(this.user.Id, delegate(Fresvii.AppSteroid.Models.FriendshipRequest friendshipRequest, Fresvii.AppSteroid.Models.Error error) { if (error == null) { user.SetFriendStatus(friendshipRequest.Status.ToString()); } else { if (FASConfig.Instance.logLevel <= FAS.LogLevels.Error) Debug.LogError(error.ToString()); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("UnknownError"), delegate(bool del) { }); user.SetFriendStatus(Fresvii.AppSteroid.Models.FriendshipRequest.Statuses.none.ToString()); } }); } } } } #endregion #region Message button if (buttonMessage.IsTap(e, messageButtonPosition, messageButtonPosition, FresviiGUIButton.ButtonType.TextureOnly, textureIconMessage, textureIconMessage, textureIconMessage)) { if (Application.internetReachability == NetworkReachability.NotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool del) { }); } else { FresviiGUIFrame framePairChat = ((GameObject)Instantiate(prfbGUIFramePairChat)).GetComponent<FresviiGUIFrame>(); framePairChat.transform.parent = this.transform; framePairChat.gameObject.GetComponent<FresviiGUIChat>().SetPairUser(this.user); framePairChat.Init(null, postFix, scaleFactor, this.GuiDepth - 1); framePairChat.SetDraw(true); framePairChat.PostFrame = this; this.tabBar.enabled = false; this.Tween(Vector2.zero, new Vector2(-Screen.width, 0.0f), moveDelayTime, delegate() { this.SetDraw(false); }); framePairChat.Tween(new Vector2(Screen.width, 0.0f), Vector2.zero, moveDelayTime, delegate() { }); } } GUI.Label(messageLabelPosition, messageLabelContent, guiStyleButtonLabel); #endregion #region Call button #if GROUP_CONFERENCE if (!user.Official) { bool isCalling = FASConference.IsCalling(); Texture2D textureCall = (isCalling) ? textureIconCallD : textureIconCall; if (buttonMessage.IsTap(e, callButtonPosition, callButtonPosition, FresviiGUIButton.ButtonType.TextureOnly, textureCall, textureCall, textureCall)) { #if !UNITY_EDITOR if (isCalling) { Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("VoiceChatAlredayExists"), delegate(bool del) { }); return; } #endif if (Application.internetReachability == NetworkReachability.NotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool del) { }); } else { loadingSpinnerPosition = new Rect(Screen.width * 0.5f - loadingSpinnerSize.x * 0.5f, Screen.height * 0.5f - loadingSpinnerSize.y * 0.5f, loadingSpinnerSize.x, loadingSpinnerSize.y); loadingSpinner = Fresvii.AppSteroid.Gui.LoadingSpinner.Show(loadingSpinnerPosition, this.GuiDepth - 10); FASGroup.CreatePair(user.Id, delegate(Fresvii.AppSteroid.Models.Group group, Fresvii.AppSteroid.Models.Error error) { if (error != null) { loadingSpinner.Hide(); if (FASConfig.Instance.logLevel <= FAS.LogLevels.Error) { Debug.LogError("CreatePair : " + error.ToString()); } Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog("Error : CreatePair " + error.ToString(), delegate(bool del) { }); } else { loadingSpinner.Hide(); group.FetchMembers(delegate(Fresvii.AppSteroid.Models.Error error2) { if (error2 != null) { if (FASConfig.Instance.logLevel <= FAS.LogLevels.Error) { Debug.LogError("FetchMembers : " + error.ToString()); } Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel(FresviiGUIText.Get("OK"), FresviiGUIText.Get("Cancel"), FresviiGUIText.Get("Close")); if (error.Code == (int)Fresvii.AppSteroid.Models.Error.ErrorCode.NetworkNotReachable) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(FresviiGUIText.Get("Offline"), delegate(bool del) { }); } else { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog(error.Detail, delegate(bool del) { }); } } else { OnCallButtonTapped(group); } }); } }); } } GUI.Label(callLabelPosition, callLabelContent, guiStyleButtonLabel); } #endif #endregion // User FriendTitleBar if (friendCountLabelContent != null) { GUI.DrawTextureWithTexCoords(friendMenuTitleBarPosition, palette, buttonFriendList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(friendMenuTitleBarPosition, friendCountLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(friendMenuRightIconPosition, textureRight); } #if UNITY_IOS // VideoTitleBar if (FASConfig.Instance.videoEnable) { GUI.DrawTextureWithTexCoords(videoTitleBarPosition, palette, buttonVideoList.IsActive ? texCoordsFriendTitleBgH : texCoordsFriendTitleBg); GUI.Label(videoTitleBarPosition, videoListLabelContent, guiStyleFriendMenuTitle); GUI.DrawTexture(videoRightIconPosition, textureRight); if (buttonVideoList.IsTap(e, videoTitleBarPosition)) { GoToVideoList(true); } } #endif if(buttonFriendList.IsTap(e, friendMenuTitleBarPosition)) { frameFriendList = ((GameObject)Instantiate(prfbFriendList)).GetComponent<FresviiGUIFrame>(); frameFriendList.transform.parent = this.transform; frameFriendList.gameObject.GetComponent<FresviiGUIFriendList>().SetUser(this.user); frameFriendList.Init(null, postFix, scaleFactor, this.GuiDepth - 1); frameFriendList.SetDraw(true); frameFriendList.PostFrame = this; this.Tween(Vector2.zero, new Vector2(-Screen.width, 0.0f), delegate() { this.SetDraw(false); }); frameFriendList.Tween(new Vector2(Screen.width, 0.0f), Vector2.zero, delegate() { }); } GUI.EndGroup(); GUI.EndGroup(); } }