Data - SimpleStateMachine/SimpleStateMachineLibrary GitHub Wiki

Data it's collection of keys and values Data need for sharing between states.

Сontent

Create

//Throw exeption if data already exist
Data data = stateMachine.AddData("Key1", Value1);

//Return null if data already exist
Data data = stateMachine.TryAddData(out bool result, "Key1", Value1);

Get

//Throw exeption if data not found
Data data = stateMachine.GetData("Key1");

//Return null if data not found
Data data = stateMachine.TryGetData("Key1", out bool result);

Exists

//You can check on exists
bool dataKey1IsExists = stateMachine.DataExists("key1")

Delete

Delete with name


//Throw exeption if data not found
stateMachine.DeleteData("Key1");

stateMachine.TryDeleteData("Key1", out bool result);;

Delete with object


//Throw exeption if state not found
stateMachine.DeleteState(state1);

stateMachine.TryDeleteState(state1);

//Throw exeption if data already delete from state machine
data.Delete();

data.TryDelete(out bool result);

Change

Action Syntax

void ActionOnChange(Data data, object newValue)
{

}

Add action

//you can set action with add
Data data = stateMachine.AddData("Key1", Value1, ActionOnChange);

//you can set action after add
Data data = stateMachine.TryAddData(out bool result, "Key1", Value1, ActionOnChange);

data.OnChange(ActionOnChange);