IEnumerator TriggerDrop() { while (gameObject != null) { SteamInventoryResult_t InventoryResult; SteamItemDef_t Item; Item.m_SteamItemDef = 5; bool res = SteamInventory.TriggerItemDrop(out InventoryResult, Item); Debug.Log(InventoryResult + " " + res); SteamInventory.DestroyResult(InventoryResult); yield return(new WaitForSeconds(5f)); } }
public void OnSpecialEvent(eSpecialEvent a_event) { string text = string.Empty; Vector3 position = Vector3.zero; switch (a_event) { case eSpecialEvent.itemBroke: UnityEngine.Object.Instantiate(this.m_weaponBreakEffect, base.transform.position + Vector3.up * 1.5f + base.transform.forward, Quaternion.identity); break; case eSpecialEvent.empty: case eSpecialEvent.forbidden: case eSpecialEvent.fishingfail: case eSpecialEvent.tooManyMissions: case eSpecialEvent.alreadyGotMission: case eSpecialEvent.noAmmo: case eSpecialEvent.carExitsBlocked: case eSpecialEvent.cantHurtSaints: case eSpecialEvent.buildingRepaired: position = base.transform.position + Vector3.up * 3f; text = "EVENT_" + (int)a_event; break; case eSpecialEvent.missionComplete: UnityEngine.Object.Instantiate(this.m_missionCompleteEffect, base.transform.position + Vector3.up * 4f, Quaternion.identity); if (this.m_isOwnPlayer && Global.isSteamActive) { this.m_waitForResult = SteamInventory.TriggerItemDrop(out this.m_itemDropHandle, (SteamItemDef_t)100); } break; } if (string.Empty != text) { GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(this.m_textEffect, position, Quaternion.identity); TextLNG component = gameObject.GetComponent <TextLNG>(); component.m_lngKey = text; } }
// Token: 0x06001748 RID: 5960 RVA: 0x000861E6 File Offset: 0x000845E6 public void dropInventory() { SteamInventory.TriggerItemDrop(out this.dropResult, (SteamItemDef_t)10000); }
public void RenderOnGUI() { GUILayout.BeginArea(new Rect(Screen.width - 200, 0, 200, Screen.height)); GUILayout.Label("Variables:"); GUILayout.Label("m_SteamInventoryResult: " + m_SteamInventoryResult); GUILayout.Label("m_SteamItemDetails: " + m_SteamItemDetails); GUILayout.Label("m_SteamItemDef: " + m_SteamItemDef); GUILayout.Label("m_SerializedBuffer: " + m_SerializedBuffer); GUILayout.EndArea(); GUILayout.BeginVertical("box"); m_ScrollPos = GUILayout.BeginScrollView(m_ScrollPos, GUILayout.Width(Screen.width - 215), GUILayout.Height(Screen.height - 33)); // INVENTORY ASYNC RESULT MANAGEMENT GUILayout.Label("GetResultStatus(m_SteamInventoryResult) : " + SteamInventory.GetResultStatus(m_SteamInventoryResult)); if (GUILayout.Button("GetResultItems(m_SteamInventoryResult, m_SteamItemDetails, ref OutItemsArraySize)")) { uint OutItemsArraySize = 0; bool ret = SteamInventory.GetResultItems(m_SteamInventoryResult, null, ref OutItemsArraySize); if (ret && OutItemsArraySize > 0) { m_SteamItemDetails = new SteamItemDetails_t[OutItemsArraySize]; ret = SteamInventory.GetResultItems(m_SteamInventoryResult, m_SteamItemDetails, ref OutItemsArraySize); print("SteamInventory.GetResultItems(" + m_SteamInventoryResult + ", m_SteamItemDetails, out OutItemsArraySize) - " + ret + " -- " + OutItemsArraySize); System.Text.StringBuilder test = new System.Text.StringBuilder(); for (int i = 0; i < OutItemsArraySize; ++i) { test.AppendFormat("{0} - {1} - {2} - {3} - {4}\n", i, m_SteamItemDetails[i].m_itemId, m_SteamItemDetails[i].m_iDefinition, m_SteamItemDetails[i].m_unQuantity, m_SteamItemDetails[i].m_unFlags); } print(test); } else { print("SteamInventory.GetResultItems(" + m_SteamInventoryResult + ", null, out OutItemsArraySize) - " + ret + " -- " + OutItemsArraySize); } } if (GUILayout.Button("GetResultItemProperty(m_SteamInventoryResult, 0, null, out ValueBuffer, ref ValueBufferSize)")) { string ValueBuffer; uint ValueBufferSize = 0; bool ret = SteamInventory.GetResultItemProperty(m_SteamInventoryResult, 0, null, out ValueBuffer, ref ValueBufferSize); if (ret) { ret = SteamInventory.GetResultItemProperty(m_SteamInventoryResult, 0, null, out ValueBuffer, ref ValueBufferSize); } print("SteamInventory.GetResultItemProperty(" + m_SteamInventoryResult + ", " + 0 + ", " + null + ", " + "out ValueBuffer" + ", " + "ref ValueBufferSize" + ") : " + ret + " -- " + ValueBuffer + " -- " + ValueBufferSize); } if (GUILayout.Button("GetResultTimestamp(m_SteamInventoryResult)")) { uint ret = SteamInventory.GetResultTimestamp(m_SteamInventoryResult); print("SteamInventory.GetResultTimestamp(" + m_SteamInventoryResult + ") : " + ret); } if (GUILayout.Button("CheckResultSteamID(m_SteamInventoryResult, SteamUser.GetSteamID())")) { bool ret = SteamInventory.CheckResultSteamID(m_SteamInventoryResult, SteamUser.GetSteamID()); print("SteamInventory.CheckResultSteamID(" + m_SteamInventoryResult + ", " + SteamUser.GetSteamID() + ") : " + ret); } if (GUILayout.Button("DestroyResult(m_SteamInventoryResult)")) { DestroyResult(); } // INVENTORY ASYNC QUERY if (GUILayout.Button("GetAllItems(out m_SteamInventoryResult)")) { bool ret = SteamInventory.GetAllItems(out m_SteamInventoryResult); print("SteamInventory.GetAllItems(" + "out m_SteamInventoryResult" + ") : " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("GetItemsByID(out m_SteamInventoryResult, InstanceIDs, (uint)InstanceIDs.Length)")) { SteamItemInstanceID_t[] InstanceIDs = { (SteamItemInstanceID_t)0, (SteamItemInstanceID_t)1, }; bool ret = SteamInventory.GetItemsByID(out m_SteamInventoryResult, InstanceIDs, (uint)InstanceIDs.Length); print("SteamInventory.GetItemsByID(" + "out m_SteamInventoryResult" + ", " + InstanceIDs + ", " + (uint)InstanceIDs.Length + ") : " + ret + " -- " + m_SteamInventoryResult); } // RESULT SERIALIZATION AND AUTHENTICATION if (GUILayout.Button("SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize)")) { uint OutBufferSize; bool ret = SteamInventory.SerializeResult(m_SteamInventoryResult, null, out OutBufferSize); if (ret) { m_SerializedBuffer = new byte[OutBufferSize]; ret = SteamInventory.SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize); print("SteamInventory.SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize) - " + ret + " -- " + OutBufferSize + " -- " + System.Text.Encoding.UTF8.GetString(m_SerializedBuffer, 0, m_SerializedBuffer.Length)); } else { print("SteamInventory.SerializeResult(m_SteamInventoryResult, null, out OutBufferSize) - " + ret + " -- " + OutBufferSize); } } if (GUILayout.Button("DeserializeResult(out m_SteamInventoryResult, m_SerializedBuffer, (uint)m_SerializedBuffer.Length)")) { bool ret = SteamInventory.DeserializeResult(out m_SteamInventoryResult, m_SerializedBuffer, (uint)m_SerializedBuffer.Length); print("SteamInventory.DeserializeResult(" + "out m_SteamInventoryResult" + ", " + m_SerializedBuffer + ", " + (uint)m_SerializedBuffer.Length + ") : " + ret + " -- " + m_SteamInventoryResult); } // INVENTORY ASYNC MODIFICATION if (GUILayout.Button("GenerateItems(out m_SteamInventoryResult, ArrayItemDefs, null, (uint)ArrayItemDefs.Length)")) { SteamItemDef_t[] ArrayItemDefs = { ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration2 }; bool ret = SteamInventory.GenerateItems(out m_SteamInventoryResult, ArrayItemDefs, null, (uint)ArrayItemDefs.Length); print("SteamInventory.GenerateItems(" + "out m_SteamInventoryResult" + ", " + ArrayItemDefs + ", " + null + ", " + (uint)ArrayItemDefs.Length + ") : " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("GrantPromoItems(out m_SteamInventoryResult)")) { bool ret = SteamInventory.GrantPromoItems(out m_SteamInventoryResult); print("SteamInventory.GrantPromoItems(" + "out m_SteamInventoryResult" + ") : " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("AddPromoItem(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1)")) { bool ret = SteamInventory.AddPromoItem(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1); print("SteamInventory.AddPromoItem(" + "out m_SteamInventoryResult" + ", " + ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1 + ") : " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("AddPromoItems(out m_SteamInventoryResult, ArrayItemDefs, (uint)ArrayItemDefs.Length)")) { SteamItemDef_t[] ArrayItemDefs = { ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon2 }; bool ret = SteamInventory.AddPromoItems(out m_SteamInventoryResult, ArrayItemDefs, (uint)ArrayItemDefs.Length); print("SteamInventory.AddPromoItems(" + "out m_SteamInventoryResult" + ", " + ArrayItemDefs + ", " + (uint)ArrayItemDefs.Length + ") : " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("ConsumeItem(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.ConsumeItem(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1); print("SteamInventory.ConsumeItem(out m_SteamInventoryResult, " + m_SteamItemDetails[0].m_itemId + ", 1) - " + ret + " -- " + m_SteamInventoryResult); } } if (GUILayout.Button("ExchangeItems(TODO)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.ExchangeItems(out m_SteamInventoryResult, null, null, 0, null, null, 0); // TODO print("SteamInventory.ExchangeItems(TODO) - " + ret + " -- " + m_SteamInventoryResult); } } if (GUILayout.Button("TransferItemQuantity(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1, SteamItemInstanceID_t.Invalid)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.TransferItemQuantity(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1, SteamItemInstanceID_t.Invalid); print("SteamInventory.TransferItemQuantity(out m_SteamInventoryResult, " + m_SteamItemDetails[0].m_itemId + ", 1, SteamItemInstanceID_t.Invalid) - " + ret + " -- " + m_SteamInventoryResult); } } // TIMED DROPS AND PLAYTIME CREDIT if (GUILayout.Button("SendItemDropHeartbeat()")) { SteamInventory.SendItemDropHeartbeat(); print("SteamInventory.SendItemDropHeartbeat()"); } if (GUILayout.Button("TriggerItemDrop(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_TimedDropList)")) { bool ret = SteamInventory.TriggerItemDrop(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_TimedDropList); print("SteamInventory.TriggerItemDrop(" + "out m_SteamInventoryResult" + ", " + ESpaceWarItemDefIDs.k_SpaceWarItem_TimedDropList + ") : " + ret + " -- " + m_SteamInventoryResult); } // IN-GAME TRADING if (GUILayout.Button("TradeItems(TODO)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.TradeItems(out m_SteamInventoryResult, SteamUser.GetSteamID(), null, null, 0, null, null, 0); // TODO... Difficult print("SteamInventory.TradeItems(TODO) - " + ret + " -- " + m_SteamInventoryResult); } } // ITEM DEFINITIONS if (GUILayout.Button("LoadItemDefinitions()")) { bool ret = SteamInventory.LoadItemDefinitions(); print("SteamInventory.LoadItemDefinitions() : " + ret); } if (GUILayout.Button("GetItemDefinitionIDs(ItemDefIDs, ref length)")) { uint length = 0; bool ret = SteamInventory.GetItemDefinitionIDs(null, ref length); if (ret) { m_SteamItemDef = new SteamItemDef_t[length]; ret = SteamInventory.GetItemDefinitionIDs(m_SteamItemDef, ref length); print("SteamInventory.GetItemDefinitionIDs(m_SteamItemDef, ref length) - " + ret + " -- " + length); } else { print("SteamInventory.GetItemDefinitionIDs(null, ref length) - " + ret + " -- " + length); } } if (GUILayout.Button("GetItemDefinitionProperty(ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1, null, out ValueBuffer, ref length)")) { uint length = 2048; string ValueBuffer; bool ret = SteamInventory.GetItemDefinitionProperty(ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1, null, out ValueBuffer, ref length); print("SteamInventory.GetItemDefinitionProperty(" + ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1 + ", " + null + ", " + "out ValueBuffer" + ", " + "ref length" + ") : " + ret + " -- " + ValueBuffer + " -- " + length); } if (GUILayout.Button("RequestEligiblePromoItemDefinitionsIDs(SteamUser.GetSteamID())")) { SteamAPICall_t handle = SteamInventory.RequestEligiblePromoItemDefinitionsIDs(SteamUser.GetSteamID()); OnSteamInventoryEligiblePromoItemDefIDsCallResult.Set(handle); print("SteamInventory.RequestEligiblePromoItemDefinitionsIDs(" + SteamUser.GetSteamID() + ") : " + handle); } //SteamInventory.GetEligiblePromoItemDefinitionIDs() // Should be handled within the SteamInventoryEligiblePromoItemDefIDs_t CallResult! //SteamInventory.StartPurchase() // TODO //SteamInventory.RequestPrices() // TODO //SteamInventory.GetNumItemsWithPrices() // TODO //SteamInventory.GetItemsWithPrices() // TODO //SteamInventory.GetItemPrice() // TODO //SteamInventory.StartUpdateProperties() // TODO //SteamInventory.RemoveProperty() // TODO //SteamInventory.SetProperty() // TODO //SteamInventory.SetProperty() // TODO //SteamInventory.SetProperty() // TODO //SteamInventory.SetProperty() // TODO //SteamInventory.SubmitUpdateProperties() // TODO GUILayout.EndScrollView(); GUILayout.EndVertical(); }
public void RenderOnGUI() { GUILayout.BeginArea(new Rect(Screen.width - 200, 0, 200, Screen.height)); GUILayout.Label("Variables:"); GUILayout.Label("m_SteamInventoryResult: " + m_SteamInventoryResult); GUILayout.EndArea(); // INVENTORY ASYNC RESULT MANAGEMENT GUILayout.Label("SteamInventory.GetResultStatus(" + m_SteamInventoryResult + ") - " + SteamInventory.GetResultStatus(m_SteamInventoryResult)); if (GUILayout.Button("GetResultItems(m_SteamInventoryResult, m_SteamItemDetails, ref OutItemsArraySize)")) { uint OutItemsArraySize = 0; bool ret = SteamInventory.GetResultItems(m_SteamInventoryResult, null, ref OutItemsArraySize); if (ret && OutItemsArraySize > 0) { m_SteamItemDetails = new SteamItemDetails_t[OutItemsArraySize]; ret = SteamInventory.GetResultItems(m_SteamInventoryResult, m_SteamItemDetails, ref OutItemsArraySize); print("SteamInventory.GetResultItems(" + m_SteamInventoryResult + ", m_SteamItemDetails, out OutItemsArraySize) - " + ret + " -- " + OutItemsArraySize); System.Text.StringBuilder test = new System.Text.StringBuilder(); for (int i = 0; i < OutItemsArraySize; ++i) { test.AppendFormat("{0} - {1} - {2} - {3} - {4}\n", i, m_SteamItemDetails[i].m_itemId, m_SteamItemDetails[i].m_iDefinition, m_SteamItemDetails[i].m_unQuantity, m_SteamItemDetails[i].m_unFlags); } print(test); } else { print("SteamInventory.GetResultItems(" + m_SteamInventoryResult + ", null, out OutItemsArraySize) - " + ret + " -- " + OutItemsArraySize); } } if (GUILayout.Button("GetResultTimestamp(m_SteamInventoryResult)")) { print("SteamInventory.GetResultTimestamp(" + m_SteamInventoryResult + ") - " + SteamInventory.GetResultTimestamp(m_SteamInventoryResult)); } if (GUILayout.Button("CheckResultSteamID(m_SteamInventoryResult, SteamUser.GetSteamID())")) { print("SteamInventory.CheckResultSteamID(" + m_SteamInventoryResult + ", " + SteamUser.GetSteamID() + ") - " + SteamInventory.CheckResultSteamID(m_SteamInventoryResult, SteamUser.GetSteamID())); } if (GUILayout.Button("DestroyResult(m_SteamInventoryResult)")) { DestroyResult(); } // INVENTORY ASYNC QUERY if (GUILayout.Button("GetAllItems(out m_SteamInventoryResult)")) { bool ret = SteamInventory.GetAllItems(out m_SteamInventoryResult); print("SteamInventory.GetAllItems(out m_SteamInventoryResult) - " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("GetItemsByID(out m_SteamInventoryResult, InstanceIDs, InstanceIDs.Length)")) { SteamItemInstanceID_t[] InstanceIDs = { (SteamItemInstanceID_t)0, (SteamItemInstanceID_t)1, }; bool ret = SteamInventory.GetItemsByID(out m_SteamInventoryResult, InstanceIDs, (uint)InstanceIDs.Length); print("SteamInventory.GetItemsByID(out m_SteamInventoryResult, InstanceIDs, " + InstanceIDs.Length + ") - " + ret + " -- " + m_SteamInventoryResult); } // RESULT SERIALIZATION AND AUTHENTICATION if (GUILayout.Button("SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize)")) { uint OutBufferSize; bool ret = SteamInventory.SerializeResult(m_SteamInventoryResult, null, out OutBufferSize); if (ret) { m_SerializedBuffer = new byte[OutBufferSize]; ret = SteamInventory.SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize); print("SteamInventory.SerializeResult(m_SteamInventoryResult, m_SerializedBuffer, out OutBufferSize) - " + ret + " -- " + OutBufferSize + " -- " + System.Text.Encoding.UTF8.GetString(m_SerializedBuffer, 0, m_SerializedBuffer.Length)); } else { print("SteamInventory.SerializeResult(m_SteamInventoryResult, null, out OutBufferSize) - " + ret + " -- " + OutBufferSize); } } if (GUILayout.Button("DeserializeResult(out m_SteamInventoryResult, m_SerializedBuffer, (uint)m_SerializedBuffer.Length)")) { bool ret = SteamInventory.DeserializeResult(out m_SteamInventoryResult, m_SerializedBuffer, (uint)m_SerializedBuffer.Length); print("SteamInventory.DeserializeResult(out m_SteamInventoryResult, " + m_SerializedBuffer + ", " + (uint)m_SerializedBuffer.Length + ") - " + ret + " -- " + m_SteamInventoryResult); } // INVENTORY ASYNC MODIFICATION if (GUILayout.Button("GenerateItems(out m_SteamInventoryResult, ArrayItemDefs, null, (uint)ArrayItemDefs.Length)")) { SteamItemDef_t[] ArrayItemDefs = { ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration2 }; bool ret = SteamInventory.GenerateItems(out m_SteamInventoryResult, ArrayItemDefs, null, (uint)ArrayItemDefs.Length); print("SteamInventory.GenerateItems(out m_SteamInventoryResult, ArrayItemDefs, null, " + (uint)ArrayItemDefs.Length + ") - " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("GrantPromoItems(out m_SteamInventoryResult)")) { bool ret = SteamInventory.GrantPromoItems(out m_SteamInventoryResult); print("SteamInventory.GrantPromoItems(out m_SteamInventoryResult) - " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("AddPromoItem(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1)")) { bool ret = SteamInventory.AddPromoItem(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1); print("SteamInventory.AddPromoItem(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1) - " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("AddPromoItems(out m_SteamInventoryResult, ArrayItemDefs, (uint)ArrayItemDefs.Length)")) { SteamItemDef_t[] ArrayItemDefs = { ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon1, ESpaceWarItemDefIDs.k_SpaceWarItem_ShipWeapon2 }; bool ret = SteamInventory.AddPromoItems(out m_SteamInventoryResult, ArrayItemDefs, (uint)ArrayItemDefs.Length); print("SteamInventory.AddPromoItems(out m_SteamInventoryResult, ArrayItemDefs, " + (uint)ArrayItemDefs.Length + ") - " + ret + " -- " + m_SteamInventoryResult); } if (GUILayout.Button("ConsumeItem(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.ConsumeItem(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1); print("SteamInventory.ConsumeItem(out m_SteamInventoryResult, " + m_SteamItemDetails[0].m_itemId + ", 1) - " + ret + " -- " + m_SteamInventoryResult); } } if (GUILayout.Button("ExchangeItems(TODO)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.ExchangeItems(out m_SteamInventoryResult, null, null, 0, null, null, 0); // TODO print("SteamInventory.ExchangeItems(TODO) - " + ret + " -- " + m_SteamInventoryResult); } } if (GUILayout.Button("TransferItemQuantity(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1, SteamItemInstanceID_t.Invalid)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.TransferItemQuantity(out m_SteamInventoryResult, m_SteamItemDetails[0].m_itemId, 1, SteamItemInstanceID_t.Invalid); print("SteamInventory.TransferItemQuantity(out m_SteamInventoryResult, " + m_SteamItemDetails[0].m_itemId + ", 1, SteamItemInstanceID_t.Invalid) - " + ret + " -- " + m_SteamInventoryResult); } } // TIMED DROPS AND PLAYTIME CREDIT if (GUILayout.Button("SendItemDropHeartbeat()")) { SteamInventory.SendItemDropHeartbeat(); print("SteamInventory.SendItemDropHeartbeat()"); } if (GUILayout.Button("TriggerItemDrop(out m_SteamInventoryResult, k_SpaceWarItem_TimedDropList)")) { SteamInventory.TriggerItemDrop(out m_SteamInventoryResult, ESpaceWarItemDefIDs.k_SpaceWarItem_TimedDropList); print("SteamInventory.TriggerItemDrop(out m_SteamInventoryResult, k_SpaceWarItem_TimedDropList)"); } // IN-GAME TRADING if (GUILayout.Button("TradeItems(TODO)")) { if (m_SteamItemDetails != null) { bool ret = SteamInventory.TradeItems(out m_SteamInventoryResult, SteamUser.GetSteamID(), null, null, 0, null, null, 0); // TODO... Difficult print("SteamInventory.TradeItems(TODO) - " + ret + " -- " + m_SteamInventoryResult); } } // ITEM DEFINITIONS if (GUILayout.Button("LoadItemDefinitions()")) { print("SteamInventory.LoadItemDefinitions() - " + SteamInventory.LoadItemDefinitions()); } if (GUILayout.Button("GetItemDefinitionIDs(ItemDefIDs, ref length)")) { uint length; bool ret = SteamInventory.GetItemDefinitionIDs(null, out length); if (ret) { m_SteamItemDef = new SteamItemDef_t[length]; ret = SteamInventory.GetItemDefinitionIDs(m_SteamItemDef, out length); print("SteamInventory.GetItemDefinitionIDs(m_SteamItemDef, out length) - " + ret + " -- " + length); } else { print("SteamInventory.GetItemDefinitionIDs(null, out length) - " + ret + " -- " + length); } } if (GUILayout.Button("GetItemDefinitionProperty()")) { string ValueBuffer; uint length = 2048; bool ret = SteamInventory.GetItemDefinitionProperty(ESpaceWarItemDefIDs.k_SpaceWarItem_ShipDecoration1, null, out ValueBuffer, ref length); print("SteamInventory.GetItemDefinitionProperty() - " + ret + " -- " + ValueBuffer + " -- " + length); } }
/// <summary> /// Applies stored rewards /// </summary> public void ApplyRewards() { var gm = GameManager.Instance; if (C.LOG_DM) { Debug.Log("Applying reward: Money = " + gm.Reward.Money.ToString() + ", XP = " + gm.Reward.Experience); } /// Applying stored rewards Experience += gm.Reward.Experience; Money += gm.Reward.Money; gm.Reward = new StoredReward(); gm.GotRewards = false; _lootboxesRequested = 0; StartCoroutine(Utility.DelayedAction(0.5f, () => /// Don't show exactly at moment scene has loaded { /// Level-up logic foreach (var xpData in C.XP_TO_LEVELUP) { if (Level >= xpData.Key.x && Level <= xpData.Key.y) { int c = 0; while (Experience >= xpData.Value && c < 100) { if (C.LOG_DM) { Debug.LogWarning("Level up!"); } /// Xp, level Experience -= xpData.Value; Level++; if (Level > C.MAX_LEVEL) { Level -= C.MAX_LEVEL; } /// Rank if (Level % C.RANKING_INTERVAL == 0) { Rank++; } if (Rank > C.MAX_RANK) { Rank = C.MAX_RANK; } /// Lootbox _lootboxesRequested++; /// Display new stats FindObjectOfType <MenuHUD>().UpdateStats(); /// Prevent levelup in case when it takes more (or less) xp for next level (no discounts!) if (Level != xpData.Key.y) { break; } } if (C.LOG_DM && c >= 100) { Debug.LogWarning("@DataManager ApplyRewards: Critical break of while-cycle"); } } } /// Request lootboxes if (_lootboxesRequested > 0) { if (C.LOG_DM) { Debug.LogWarning("Requesting " + _lootboxesRequested + " lootboxes..."); } m_LootboxResultReady = Callback <SteamInventoryResultReady_t> .Create(OnLootboxResultReady); for (int i = 0; i < _lootboxesRequested; i++) { SteamInventory.TriggerItemDrop(out LootboxResult, new SteamItemDef_t(900)); } StartCoroutine(LootboxAwait()); } })); }