Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#240401
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFab SDK Team authored and PlayFab SDK Team committed Apr 1, 2024
2 parents 931e165 + 4079595 commit f5f46b1
Show file tree
Hide file tree
Showing 30 changed files with 650 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ private static void DisplayHelpMenu()
using (new UnityHorizontal())
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("VIEW DOCUMENTATION", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
if (GUILayout.Button("VIEW DOCUMENTATION ->", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
{
Application.OpenURL("https://github.com/PlayFab/UnityEditorExtensions");
}
Expand All @@ -229,7 +229,7 @@ private static void DisplayHelpMenu()
using (new UnityHorizontal())
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("REPORT ISSUES", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
if (GUILayout.Button("REPORT ISSUES ->", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
{
Application.OpenURL("https://github.com/PlayFab/UnityEditorExtensions/issues");
}
Expand All @@ -241,7 +241,7 @@ private static void DisplayHelpMenu()
using (new UnityHorizontal())
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("UNINSTALL ", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
if (GUILayout.Button("UNINSTALL ", PlayFabEditorHelper.uiStyle.GetStyle("button")))
{
RemoveEdEx();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ public static void DrawAuthPanels()
using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleClear")))
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("VIEW README", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
if (GUILayout.Button("VIEW README ->", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
{
Application.OpenURL("https://github.com/PlayFab/UnityEditorExtensions#setup");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ public static void DrawHeader(float progress = 0f)
GUILayout.BeginArea(new Rect(gmAnchor, 10, EditorGUIUtility.currentViewWidth * .25f, 42));
GUILayout.BeginHorizontal();
}
if (GUILayout.Button(new GUIContent("", "Dashboard"), PlayFabEditorHelper.uiStyle.GetStyle("gmIcon")))

if (GUILayout.Button("", PlayFabEditorHelper.uiStyle.GetStyle("gmIcon")))
{
OnDashbaordClicked();
{
OnDashbaordClicked();
}
GUILayout.EndHorizontal();
GUILayout.EndArea();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@ public class PlayFabEditorHelpMenu : UnityEditor.Editor
// chnages in local
private static int focusIndex;
private static bool isShiftKeyPressed = false;
private static float scrollFactor = 20f;

public static void KeyboardEventHandler()
{
var e = Event.current;
if (e.type == EventType.KeyUp && e.keyCode == KeyCode.UpArrow)
{
scrollPos = new Vector2(0, scrollPos.y - scrollFactor);

}
if (e.type == EventType.KeyUp && e.keyCode == KeyCode.DownArrow)
{
scrollPos = new Vector2(0, scrollPos.y + scrollFactor);
}
}
private static void shiftKeyHandler()
{
var e = Event.current;
Expand Down Expand Up @@ -94,6 +109,7 @@ private static void HelpInputHandler()
public static void DrawHelpPanel()
{
HelpInputHandler();
KeyboardEventHandler();
scrollPos = GUILayout.BeginScrollView(scrollPos, PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"));
buttonWidth = EditorGUIUtility.currentViewWidth > 400 ? EditorGUIUtility.currentViewWidth / 2 : 200;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
using UnityEngine;
using System;
using System.Collections.Generic;
using UnityEditor;

namespace PlayFab.PfEditor
{
public class PlayFabEditorMenu : UnityEditor.Editor
{
private static int focusIndex;

#region panel variables
internal enum MenuStates
{
Expand All @@ -18,9 +23,10 @@ internal enum MenuStates

internal static MenuStates _menuState = MenuStates.Sdks;
#endregion

public static void DrawMenu()
{
mainMenuHandler();

if (PlayFabEditorSDKTools.IsInstalled && PlayFabEditorSDKTools.isSdkSupported)
_menuState = (MenuStates)PlayFabEditorPrefsSO.Instance.curMainMenuIdx;

Expand All @@ -31,49 +37,63 @@ public static void DrawMenu()
var logoutButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("Button");
var toolsButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton");
var packagesButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton");

if (_menuState == MenuStates.Sdks)
sdksButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
sdksButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Settings)
settingsButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
settingsButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Logout)
logoutButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
logoutButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Data)
dataButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
dataButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Help)
helpButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
helpButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Packages)
packagesButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
packagesButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
if (_menuState == MenuStates.Tools)
toolsButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");
toolsButtonStyle = PlayFabEditorHelper.uiStyle.GetStyle("textButton_selected");

using (new UnityHorizontal(PlayFabEditorHelper.uiStyle.GetStyle("gpStyleGray1"), GUILayout.Height(25), GUILayout.ExpandWidth(true)))
{
GUILayout.Space(5);

GUI.SetNextControlName("sdk");
if (GUILayout.Button("SDK", sdksButtonStyle, GUILayout.MaxWidth(35)))
{
OnSdKsClicked();
}

if (PlayFabEditorSDKTools.IsInstalled && PlayFabEditorSDKTools.isSdkSupported)
{
GUI.SetNextControlName("settings");
if (GUILayout.Button("SETTINGS", settingsButtonStyle, GUILayout.MaxWidth(65)))
{
OnSettingsClicked();
}
GUI.SetNextControlName("data");
if (GUILayout.Button("DATA", dataButtonStyle, GUILayout.MaxWidth(45)))
{
OnDataClicked();
}
GUI.SetNextControlName("tools");
if (GUILayout.Button("TOOLS", toolsButtonStyle, GUILayout.MaxWidth(45)))
{
OnToolsClicked();
if(GUILayout.Button("PACKAGES", packagesButtonStyle, GUILayout.MaxWidth(72)))
}
GUI.SetNextControlName("packages");
if (GUILayout.Button("PACKAGES", packagesButtonStyle, GUILayout.MaxWidth(72)))
{
OnPackagesClicked();
}
}

GUI.SetNextControlName("help");
if (GUILayout.Button("HELP", helpButtonStyle, GUILayout.MaxWidth(45)))
{
OnHelpClicked();
}
GUILayout.FlexibleSpace();
GUI.SetNextControlName("logout");
GUI.SetNextControlName("logOut");
if (GUILayout.Button("LOGOUT", logoutButtonStyle, GUILayout.MaxWidth(85)))
{
OnLogoutClicked();
}
}
}

Expand All @@ -83,7 +103,79 @@ public static void OnToolsClicked()
PlayFabEditor.RaiseStateUpdate(PlayFabEditor.EdExStates.OnMenuItemClicked, MenuStates.Tools.ToString());
PlayFabEditorPrefsSO.Instance.curMainMenuIdx = (int)_menuState;
}
public static void mainMenuHandler()
{
var e = Event.current;
if (e.type == EventType.KeyUp && e.keyCode == KeyCode.RightArrow)
{
switch (focusIndex)
{
case 0:
EditorGUI.FocusTextInControl("sdk");
focusIndex = 1;
break;
case 1:
EditorGUI.FocusTextInControl("settings");
focusIndex = 2;
break;
case 2:
EditorGUI.FocusTextInControl("data");
focusIndex = 3;
break;
case 3:
EditorGUI.FocusTextInControl("tools");
focusIndex = 4;
break;
case 4:
EditorGUI.FocusTextInControl("packages");
focusIndex = 5;
break;
case 5:
EditorGUI.FocusTextInControl("help");
focusIndex = 6;
break;
case 6:
EditorGUI.FocusTextInControl("logOut");
focusIndex = 0;
break;
}

}
if (e.type == EventType.KeyUp && e.keyCode == KeyCode.LeftArrow)
{
switch (focusIndex)
{
case 0:
EditorGUI.FocusTextInControl("logOut");
focusIndex = 1;
break;
case 1:
EditorGUI.FocusTextInControl("help");
focusIndex = 2;
break;
case 2:
EditorGUI.FocusTextInControl("packages");
focusIndex = 3;
break;
case 3:
EditorGUI.FocusTextInControl("tools");
focusIndex = 4;
break;
case 4:
EditorGUI.FocusTextInControl("data");
focusIndex = 5;
break;
case 5:
EditorGUI.FocusTextInControl("settings");
focusIndex = 6;
break;
case 6:
EditorGUI.FocusTextInControl("sdk");
focusIndex = 0;
break;
}
}
}
public static void OnDataClicked()
{
_menuState = MenuStates.Data;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ private static void ShowSdkInstalledMenu()
{
GUILayout.FlexibleSpace();
GUI.SetNextControlName("set_my_title");
if (GUILayout.Button("SET MY TITLE", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
if (GUILayout.Button("SET MY TITLE ->", PlayFabEditorHelper.uiStyle.GetStyle("textButton")))
{
PlayFabEditorMenu.OnSettingsClicked();
}
Expand All @@ -327,7 +327,7 @@ private static void ShowSdkInstalledMenu()
{
GUILayout.FlexibleSpace();
GUI.SetNextControlName("view_release_note");
if (GUILayout.Button("VIEW RELEASE NOTES", PlayFabEditorHelper.uiStyle.GetStyle("textButton"), GUILayout.MinHeight(32), GUILayout.MinWidth(200)))
if (GUILayout.Button("VIEW RELEASE NOTES ->", PlayFabEditorHelper.uiStyle.GetStyle("textButton"), GUILayout.MinHeight(32), GUILayout.MinWidth(200)))
{
Application.OpenURL("https://docs.microsoft.com/en-us/gaming/playfab/release-notes/");
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
namespace PlayFab.PfEditor { public static partial class PlayFabEditorHelper { public static string EDEX_VERSION = "2.190.240315"; } }
namespace PlayFab.PfEditor { public static partial class PlayFabEditorHelper { public static string EDEX_VERSION = "2.191.240401"; } }
Original file line number Diff line number Diff line change
Expand Up @@ -1554,7 +1554,7 @@ MonoBehaviour:
m_StretchHeight: 0
- m_Name: textButton_selected
m_Normal:
m_Background: {fileID: 2800000, guid: d03222342209e43daaf2ca8d1364e47a, type: 3}
m_Background: {fileID: 2800000, guid: ce06979c901076a4681b4a77fcf036e7, type: 3}
m_ScaledBackgrounds: []
m_TextColor: {r: 0.09411765, g: 0.7058824, b: 0.7607843, a: 1}
m_Hover:
Expand Down
34 changes: 33 additions & 1 deletion ExampleMacProject/Assets/PlayFabSDK/Economy/PlayFabEconomyAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,22 @@ public static void ExecuteInventoryOperations(ExecuteInventoryOperationsRequest
PlayFabHttp.MakeApiCall("/Inventory/ExecuteInventoryOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}

/// <summary>
/// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the
/// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the
/// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API.
/// </summary>
public static void ExecuteTransferOperations(ExecuteTransferOperationsRequest request, Action<ExecuteTransferOperationsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");


PlayFabHttp.MakeApiCall("/Inventory/ExecuteTransferOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}

/// <summary>
/// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10
/// seconds for this API. More information about the Catalog Config can be found here:
Expand Down Expand Up @@ -244,6 +260,20 @@ public static void GetInventoryItems(GetInventoryItemsRequest request, Action<Ge
PlayFabHttp.MakeApiCall("/Inventory/GetInventoryItems", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}

/// <summary>
/// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the this API.
/// </summary>
public static void GetInventoryOperationStatus(GetInventoryOperationStatusRequest request, Action<GetInventoryOperationStatusResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");


PlayFabHttp.MakeApiCall("/Inventory/GetInventoryOperationStatus", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}

/// <summary>
/// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when
/// trying to get recent item updates. However, please note that item references data is cached and may take a few moments
Expand Down Expand Up @@ -593,7 +623,9 @@ public static void TakedownItemReviews(TakedownItemReviewsRequest request, Actio
/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. More information about item transfer scenarios can be found here:
/// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public static void TransferInventoryItems(TransferInventoryItemsRequest request, Action<TransferInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
Expand Down
Loading

0 comments on commit f5f46b1

Please sign in to comment.