wiki.sine.space | sinespace

Difference between revisions of "Scripting/SInventory"

From wiki.sine.space
Jump to: navigation, search
(Defined and added simple example to SInventory.Authorized)
(Defined SLInvetory .Authorized(action,action) and gave a practical example)
Line 4: Line 4:
 
{{ScriptFunction|void|Authorize|();|Requests access to inventory functions, must be called prior to attempting to access inventory. As soon as the player has accepted the request, the Authorized attribute will be 'true'.|5=
 
{{ScriptFunction|void|Authorize|();|Requests access to inventory functions, must be called prior to attempting to access inventory. As soon as the player has accepted the request, the Authorized attribute will be 'true'.|5=
 
<pre> Space.Inventory.Authorize()</pre>}}
 
<pre> Space.Inventory.Authorize()</pre>}}
 +
 +
{{ScriptFunction|void|Authorize|(Action  onAuthorized = null,
 +
Action onRejected = null);|Requests access to inventory functions, must be called prior to attempting to access inventory. This is different from Authorize() as in it allows you to immediately take action based on the result.|5=
 +
<pre>--this script shows you how to use this function to take authorization and immediately
 +
--take action based on the result all in a single prompt (a click in this case)
 +
 +
function ifno()
 +
  Space.Log("not authorized")
 +
  end
 +
 +
function ifyes()
 +
Space.Log("authorized")
 +
--your next steps go here
 +
  end
 +
function click()
 +
 
 +
  Space.Inventory.Authorize(ifyes,ifno)
 +
 +
end
 +
 +
 +
Space.Host.ExecutingObject.AddClickable()
 +
Space.Host.ExecutingObject.Clickable.OnClick(click) </pre>}}
  
 
{{ScriptFunction|void|RequestRefresh|();|Forces a check for external changes to the users inventory, can only be called once every 60 seconds|5=
 
{{ScriptFunction|void|RequestRefresh|();|Forces a check for external changes to the users inventory, can only be called once every 60 seconds|5=

Revision as of 13:01, 12 December 2020

The SInventory class allows you to access a users inventory

Members

Authorize

void Authorize ();

Requests access to inventory functions, must be called prior to attempting to access inventory. As soon as the player has accepted the request, the Authorized attribute will be 'true'.

 Space.Inventory.Authorize()


Authorize

void Authorize Requests access to inventory functions, must be called prior to attempting to access inventory. This is different from Authorize() as in it allows you to immediately take action based on the result.

No documentation

--this script shows you how to use this function to take authorization and immediately
--take action based on the result all in a single prompt (a click in this case)

function ifno()
  Space.Log("not authorized")
  end

function ifyes()
Space.Log("authorized")
--your next steps go here
  end
function click()
  
  Space.Inventory.Authorize(ifyes,ifno)

end


Space.Host.ExecutingObject.AddClickable()
Space.Host.ExecutingObject.Clickable.OnClick(click) 


RequestRefresh

void RequestRefresh ();

Forces a check for external changes to the users inventory, can only be called once every 60 seconds

Space.Inventory.RequestRefresh()


AddToHotbar

void AddToHotbar (int index, int itemID);

Adds the first found instance of itemID to the players hotbar entry at slot 'index'.

Space.Inventory.AddToHotbar(2, 23423523)


RemoveFromHotbar

void RemoveFromHotbar (int index);

Remove item at slot index from Hotbar

Space.Inventory.RemoveFromHotbar(2)



Properties

Items[]

SInventoryItem Items[] { get; }

Returns the array of the users current inventory items

invItems = Space.Inventory.Items


Authorized

bool Authorized { get; }

Returns true if player has accepted access authorization request to his inventory

isAuthorized = Space.Inventory.Authorized