// チャットパネルを表示・非表示 public void ShowChat(string title, Fresvii.AppSteroid.Models.Group group) { if(!chatCanvas.enabled) { chatCanvas.enabled = true; inGameChatGroup = group; GameObject.Find("Chat_Title").GetComponent<Text>().text = title; if(inGameChatGroup != null) { //logMessage += "グループIDは" + inGameChatGroup.Id + "\n"; logMessage += "チャット開始" + "\n"; } else { logMessage += "グループIDが取得できていません" + "\n"; } } }
public void Init(Fresvii.AppSteroid.Models.Group group, float scaleFactor, FresviiGUIGroupMessage frameGroupMessage) { this.Group = group; this.frameGroupMessage = frameGroupMessage; if (Application.platform == RuntimePlatform.IPhonePlayer) { guiStyleMemberNames.font = null; guiStyleMemberNames.fontStyle = FontStyle.Bold; guiStyleTimeSpan.font = null; guiStyleComment.font = null; guiStyleDelete.font = null; } userIconPosition = FresviiGUIUtility.RectScale(userIconPosition, scaleFactor); memberNamesPosition = FresviiGUIUtility.RectScale(memberNamesPosition, scaleFactor); timeSpanPosition = FresviiGUIUtility.RectScale(timeSpanPosition, scaleFactor); commentPosition = FresviiGUIUtility.RectScale(commentPosition, scaleFactor); unreadIconPosition = FresviiGUIUtility.RectScale(unreadIconPosition, scaleFactor); iconMargin *= scaleFactor; sideMargin = userIconPosition.x; cardHeight *= scaleFactor; guiStyleMemberNames.fontSize = (int)(guiStyleMemberNames.fontSize * scaleFactor); palette = FresviiGUIColorPalette.Palette; guiStyleMemberNames.normal.textColor = FresviiGUIColorPalette.GetColor(FresviiGUIColorPalette.CardUserName); texCoordsBackground = FresviiGUIColorPalette.GetTextureCoods(FresviiGUIColorPalette.CardBackground); bgColor = FresviiGUIColorPalette.GetColor(FresviiGUIColorPalette.CardBackground); texCoordsSeperateLine = FresviiGUIColorPalette.GetTextureCoods(FresviiGUIColorPalette.GroupCardTopShadowLine); guiStyleTimeSpan.fontSize = (int)(guiStyleTimeSpan.fontSize * scaleFactor); guiStyleComment.fontSize = (int)(guiStyleComment.fontSize * scaleFactor); guiStyleTimeSpan.normal.textColor = guiStyleComment.normal.textColor = FresviiGUIColorPalette.GetColor(FresviiGUIColorPalette.CardText2); textureCoordsDelete = FresviiGUIColorPalette.GetTextureCoods(FresviiGUIColorPalette.CardDeleteBackground); deleteButtonWidth *= scaleFactor; guiStyleDelete.fontSize = (int)(guiStyleDelete.fontSize * scaleFactor); guiStyleDelete.normal.textColor = FresviiGUIColorPalette.GetColor(FresviiGUIColorPalette.CardText1); SetUserIcons(); }
public void SetGroup(Fresvii.AppSteroid.Models.Group group, AUIHiddenMessageList parantPage) { this.Group = group; this.parantPage = parantPage; Fresvii.AppSteroid.Models.Member member = null; // Icon set if (Group.MessageMembers != null) { for (int i = 0; i < Group.MessageMembers.Count; i++) { if (Group.MessageMembers[i].Id != FAS.CurrentUser.Id) { member = Group.MessageMembers[i]; break; } } List<string> userIcons = new List<string>(); for (int i = 0; i < Group.MessageMembers.Count; i++) { userIcons.Add(Group.MessageMembers[i].ProfileImageUrl); if (i == 2) { break; } } groupIcon.Set(userIcons.ToArray()); } // Group member names set string memberNames = ""; if (Group.MembersCount <= 1) { memberNames = FresviiGUIText.Get("NobodyElse"); } else { if (Group.Pair && member != null) { memberNames = member.Name; } else { for (int i = 0; i < Group.MessageMembers.Count; i++) { memberNames += Group.MessageMembers[i].Name + ((i == Group.MessageMembers.Count - 1) ? "" : ", "); if (i == 5) break; } } } groupName.text = memberNames; if (group.LatestMessage != null) { if (group.LatestMessage.Type == Models.GroupMessage.ContentType.Text) { message.text = group.LatestMessage.Text; } else if (group.LatestMessage.Type == Models.GroupMessage.ContentType.Image) { if (Group.LatestMessage.User.Id == FAS.CurrentUser.Id) { message.text = FASText.Get("UserSentAPhoto").Replace("%username", FASText.Get("You")); } else { message.text = FASText.Get("UserSentAPhoto").Replace("%username", Group.LatestMessage.User.Name); } } else if (group.LatestMessage.Type == Models.GroupMessage.ContentType.Video) { if (Group.LatestMessage.User.Id == FAS.CurrentUser.Id) { message.text = FASText.Get("UserSentAVideo").Replace("%username", FASText.Get("You")); } else { message.text = FASText.Get("UserSentAVideo").Replace("%username", Group.LatestMessage.User.Name); } } else if (group.LatestMessage.Type == Models.GroupMessage.ContentType.Sticker) { if (Group.LatestMessage.User.Id == FAS.CurrentUser.Id) { message.text = FASText.Get("UserSentASticker").Replace("%username", FASText.Get("You")); } else { message.text = FASText.Get("UserSentASticker").Replace("%username", Group.LatestMessage.User.Name); } } } bool isUnred = IsUnread(); groupName.fontStyle = message.fontStyle = (IsUnread()) ? FontStyle.Bold : FontStyle.Normal; if (isUnred && !group.Hidden) { AUITabBar.Instance.AddUnreadGroup(Group.Id); } if (!Group.Pair) { groupNameTextSetter.truncatedReplacement = "...(" + Group.MembersCount.ToString() + ")"; } postScreenWidth = Screen.width; }
void OnGUI() { int space = 10; int largeLength = Mathf.Max(Screen.height, Screen.width); int lineHeight = largeLength / 12; int logAreaHeight = largeLength / 3; guiSkin.label.fontSize = lineHeight / 3; guiSkin.button.fontSize = lineHeight / 3; guiSkin.button.fixedHeight = lineHeight; guiSkin.button.fixedHeight = Screen.width / 5; guiSkin.textArea.fontSize = lineHeight / 3; guiSkin.verticalScrollbar.fixedWidth = 0; guiSkin.horizontalScrollbar.fixedWidth = 0; guiSkin.textField.fontSize = lineHeight / 3; guiSkin.textField.fixedHeight = lineHeight; GUILayout.BeginArea(new Rect(0, 0, Screen.width, Screen.height)); #region Log logScrollPosition = GUILayout.BeginScrollView(logScrollPosition, guiSkin.scrollView, GUILayout.Height(logAreaHeight)); GUILayout.Label("---------- Log ----------", guiSkin.label); GUILayout.Space(space); GUILayout.Label(logMessage, guiSkin.textArea, GUILayout.Height(lineHeight * 10)); GUILayout.EndScrollView(); #endregion uiScrollPosition = GUILayout.BeginScrollView(uiScrollPosition, false, false, guiSkin.horizontalScrollbar, guiSkin.verticalScrollbar, guiSkin.scrollView); #region Buttons #region CommonService if (mode == GUIMode.CommonService) { if (modeChanged) { uiScrollPosition = Vector2.zero; modeChanged = false; } GUILayout.BeginHorizontal(); GUILayout.Label("Tabs GUI", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Show", guiSkin.button)) { FASGui.ShowGUI(FASGui.Mode.Forum | FASGui.Mode.Leaderboards | FASGui.Mode.GroupMessage | FASGui.Mode.MyProfile, FASGui.Mode.Forum); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Match making (Everyone)", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Show", guiSkin.button)) { SetMatchMakingParameter(); FASGui.ShowMatchMakingGui((uint)matchMinMemberNum, (uint)matchMaxMemberNum, null, null, null, FASMatchMaking.Recipient.Everyone, ""); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Match making (Friend Only)", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Show", guiSkin.button)) { SetMatchMakingParameter(); FASGui.ShowMatchMakingGui((uint)matchMinMemberNum, (uint)matchMaxMemberNum, null, null, null, FASMatchMaking.Recipient.FriendOnly, ""); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("MatchMaking Min Number(2-16)", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); matchMemberMinNumString = GUILayout.TextField(matchMemberMinNumString, guiSkin.textField); GUILayout.EndHorizontal(); GUILayout.Space(space * 4f); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("MatchMaking Max Number(2-16)", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); matchMemberMaxNumString = GUILayout.TextField(matchMemberMaxNumString, guiSkin.textField); GUILayout.EndHorizontal(); GUILayout.Space(space * 4f); //----------------------------------------------- #if UNITY_IOS GUILayout.BeginHorizontal(); GUILayout.Label("Video Record", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button((FASPlayVideo.IsRecording()) ? "Stop" : "Start", guiSkin.button)) { if (FASVideo.isRecording) { FASPlayVideo.StopRecording(); } else { FASPlayVideo.StartRecording(); } } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Latest Video Sharing", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Share", guiSkin.button)) { if (!FASPlayVideo.ShowLatestVideoSharingGUI(Application.loadedLevelName)) { Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSubmitDialog("Error : Recorded video does not exist", delegate(bool del) { }); } } GUILayout.EndHorizontal(); GUILayout.Space(space); #endif //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Report Score random(1,2000)", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Report", guiSkin.button)) { if (FASUser.IsLoggedIn()) { if (this.leaderboard == null) { if (string.IsNullOrEmpty(leaderboardId)) { logMessage = "leaderboardId is null or empty"; return; } FASLeaderboard.GetLeaderboard(leaderboardId, delegate(Fresvii.AppSteroid.Models.Leaderboard leaderboard, Fresvii.AppSteroid.Models.Error error) { if (error == null) { this.leaderboard = leaderboard; FASLeaderboard.ReportScore(leaderboard.Id, ((Random.Range(1, 10) <= 1) ? Random.Range(1, 2000) : Random.Range(1, 1000)), delegate(Fresvii.AppSteroid.Models.Score score, Fresvii.AppSteroid.Models.Error error2) { if (error2 == null) { logMessage = "Report score : " + score.Value; } else { logMessage = "Report score error"; Debug.LogError(error2.ToString()); } }); } else { logMessage = error.ToString(); } }); } else { FASLeaderboard.ReportScore(this.leaderboard.Id, ((Random.Range(1, 10) <= 1) ? Random.Range(1, 2000) : Random.Range(1, 1000)), delegate(Fresvii.AppSteroid.Models.Score score, Fresvii.AppSteroid.Models.Error error2) { if (error2 == null) { Debug.Log(score.User.Name + " : " + score.Value); logMessage = "Report score : " + score.Value; } else { logMessage = "Report score error"; Debug.LogError(error2.ToString()); } }); } } else { logMessage = "Not login"; } } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Get Custom Messages", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Get", guiSkin.button)) { if (FASUser.IsLoggedIn()) { FASCustomMessage.GetCustomMessageList(delegate(IList<Fresvii.AppSteroid.Models.CustomMessage> customMessges, Fresvii.AppSteroid.Models.ListMeta meta, Fresvii.AppSteroid.Models.Error error) { Debug.Log("============ Custom Messages == " + meta.TotalCount); foreach (Fresvii.AppSteroid.Models.CustomMessage cm in customMessges) { Debug.Log(cm.Action); if (cm.Params != null) { foreach (DictionaryEntry de in cm.Params) { Debug.Log(de.Key + ", " + de.Value); } } } }); } else { logMessage = "Not login"; } } GUILayout.EndHorizontal(); GUILayout.Space(space); GUILayout.Space(space * 3f); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("LogIn", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("LogIn", guiSkin.button)) { logMessage = "LogIn start"; if (currentUser != null) FASUser.LogIn(currentUser.Id, currentUser.Token, true, OnSignIn); else logMessage = "Not sign up"; } GUILayout.EndHorizontal(); GUILayout.Space(2f * space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("User Name", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); userName = GUILayout.TextField(userName, guiSkin.textField); GUILayout.EndHorizontal(); GUILayout.Space(space * 4f); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("SignUp", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("SignUp", guiSkin.button)) { #if !UNITY_EDITOR Fresvii.AppSteroid.Util.DialogManager.Instance.SetLabel("OK", "Cancel", "Close"); Fresvii.AppSteroid.Util.DialogManager.Instance.ShowSelectDialog("Sign up : Name = " + userName, delegate(bool del) { if(del) { #endif logMessage = "SignUp start"; #if UNITY_IOS #if UNITY_5 Handheld.SetActivityIndicatorStyle(UnityEngine.iOS.ActivityIndicatorStyle.Gray); #else Handheld.SetActivityIndicatorStyle(iOSActivityIndicatorStyle.Gray); #endif #elif UNITY_ANDROID Handheld.SetActivityIndicatorStyle(AndroidActivityIndicatorStyle.Small); #endif Handheld.StartActivityIndicator(); FASUser.LogOut(); FASUser.SignUp(userName, delegate(Fresvii.AppSteroid.Models.User user, Fresvii.AppSteroid.Models.Error error) { Handheld.StopActivityIndicator(); if (error != null) { logMessage = error.ToString(); Debug.LogError(logMessage); } else { logMessage = "Sign up success: " + userName; currentUser = user; } }); #if !UNITY_EDITOR } }); #endif } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("LogOut", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("LogOut", guiSkin.button)) { logMessage = "Log out"; if (currentUser != null) FASUser.LogOut(); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Register Notification", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Register", guiSkin.button)) { logMessage = "Register Notification"; FASNotification.RegisterRemoteNotification((info, error) => { if (error != null) { Debug.LogError(error.ToString()); logMessage = "Register Notification Error : " + error.ToString(); } else { Debug.Log("#### Register Notification Success : " + info.CertificateType); logMessage = "Register Notification Success"; } }); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- GUILayout.BeginHorizontal(); GUILayout.Label("Unregister Notification", guiSkin.label, GUILayout.Height(lineHeight), GUILayout.Width(Screen.width * .55f)); GUILayout.Space(space); if (GUILayout.Button("Unregister", guiSkin.button)) { logMessage = "Unregister Notification"; FASNotification.UnregisterRemoteNotification(OnUnregisterRemoteNotification); } GUILayout.EndHorizontal(); GUILayout.Space(space); //----------------------------------------------- if (GUILayout.Button("In Game Chat", guiSkin.button)) { mode = GUIMode.Groups; modeChanged = true; } GUILayout.Space(space); // ---------------------- } #endregion else if (mode == GUIMode.Groups) { if (modeChanged) { uiScrollPosition = Vector2.zero; modeChanged = false; FASGroup.GetGroupList(delegate(IList<Fresvii.AppSteroid.Models.Group> groups, Fresvii.AppSteroid.Models.Error error) { if(error == null){ this.groups = groups; foreach(Fresvii.AppSteroid.Models.Group group in this.groups) { group.FetchMembers(delegate {}); } } else { logMessage = error.ToString(); Debug.LogError(error.ToString()); } }); } if(this.groups != null) { foreach(Fresvii.AppSteroid.Models.Group group in this.groups){ GUILayout.Space(space); string members = ""; if(group.Members != null) { foreach(Fresvii.AppSteroid.Models.Member member in group.Members) { members += member.Name + ", "; } } if (GUILayout.Button(members, guiSkin.button)) { modeChanged = true; mode = GUIMode.InGameChat; inGameChatGroup = group; } } } GUILayout.Space(space * 2f); if (GUILayout.Button("Back", guiSkin.button)) { mode = GUIMode.CommonService; modeChanged = true; } } else if (mode == GUIMode.InGameChat) { if (modeChanged) { uiScrollPosition = Vector2.zero; modeChanged = false; logMessage = ""; } GUILayout.Space(space); GUILayout.Label("Chat", guiSkin.label, GUILayout.Height(lineHeight)); chat = GUILayout.TextArea(chat, guiSkin.textArea, GUILayout.Height(lineHeight)); GUILayout.Space(space); if (GUILayout.Button("Send", guiSkin.button)) { FASGroup.SendGroupMessageInGames(inGameChatGroup.Id, chat, delegate(Fresvii.AppSteroid.Models.GroupMessage groupMessage, Fresvii.AppSteroid.Models.Error error) { if (error != null) { if (FASConfig.Instance.logLevel <= FAS.LogLevels.Error) Debug.LogError(error.ToString()); } else { if (FASConfig.Instance.logLevel <= FAS.LogLevels.Verbose) Debug.Log(groupMessage.Text); } }); chat = ""; } GUILayout.Space(space * 2f); if (GUILayout.Button("Back", guiSkin.button)) { mode = GUIMode.CommonService; modeChanged = true; } } GUILayout.EndScrollView(); #endregion GUILayout.EndArea(); }