/// <summary> /// Registers the given board to the List behaviour and registeres on the related events /// </summary> /// <param name="data"></param> public void RegisterBoard(SteamworksLeaderboardData data) { if (Settings != null) { Settings.OnQueryResults.RemoveListener(HandleQuerryResult); } Settings = data; Settings.OnQueryResults.AddListener(HandleQuerryResult); }
private bool LeaderboardDropAreaGUI(string message, SteamworksLeaderboardManager pManager) { Event evt = Event.current; Rect drop_area = GUILayoutUtility.GetRect(0.0f, 60.0f, GUILayout.ExpandWidth(true)); var style = new GUIStyle(GUI.skin.box); style.normal.background = dropBoxTexture; style.normal.textColor = Color.white; style.border = new RectOffset(5, 5, 5, 5); var color = GUI.backgroundColor; var fontColor = GUI.contentColor; GUI.backgroundColor = SteamUtilities.Colors.SteamGreen * SteamUtilities.Colors.HalfAlpha; GUI.contentColor = SteamUtilities.Colors.BrightGreen; GUI.Box(drop_area, "\n\n" + message, style); GUI.backgroundColor = color; GUI.contentColor = fontColor; switch (evt.type) { case EventType.DragUpdated: case EventType.DragPerform: if (!drop_area.Contains(evt.mousePosition)) { return(false); } DragAndDrop.visualMode = DragAndDropVisualMode.Copy; if (evt.type == EventType.DragPerform) { DragAndDrop.AcceptDrag(); foreach (UnityEngine.Object dragged_object in DragAndDrop.objectReferences) { // Do On Drag Stuff here if (dragged_object.GetType() == typeof(SteamworksLeaderboardData)) { SteamworksLeaderboardData go = dragged_object as SteamworksLeaderboardData; if (go != null) { if (!pManager.Leaderboards.Exists(p => p == go)) { pManager.Leaderboards.Add(go); return(true); } } } } } break; } return(false); }