mirror of
https://github.com/Ratstail91/Mementos.git
synced 2025-11-29 02:24:28 +11:00
Committed everything
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ink.Runtime
|
||||
{
|
||||
public class StatePatch
|
||||
{
|
||||
public Dictionary<string, Runtime.Object> globals { get { return _globals; } }
|
||||
public HashSet<string> changedVariables { get { return _changedVariables; } }
|
||||
public Dictionary<Container, int> visitCounts { get { return _visitCounts; } }
|
||||
public Dictionary<Container, int> turnIndices { get { return _turnIndices; } }
|
||||
|
||||
public StatePatch(StatePatch toCopy)
|
||||
{
|
||||
if( toCopy != null ) {
|
||||
_globals = new Dictionary<string, Object>(toCopy._globals);
|
||||
_changedVariables = new HashSet<string>(toCopy._changedVariables);
|
||||
_visitCounts = new Dictionary<Container, int>(toCopy._visitCounts);
|
||||
_turnIndices = new Dictionary<Container, int>(toCopy._turnIndices);
|
||||
} else {
|
||||
_globals = new Dictionary<string, Object>();
|
||||
_changedVariables = new HashSet<string>();
|
||||
_visitCounts = new Dictionary<Container, int>();
|
||||
_turnIndices = new Dictionary<Container, int>();
|
||||
}
|
||||
}
|
||||
|
||||
public bool TryGetGlobal(string name, out Runtime.Object value)
|
||||
{
|
||||
return _globals.TryGetValue(name, out value);
|
||||
}
|
||||
|
||||
public void SetGlobal(string name, Runtime.Object value){
|
||||
_globals[name] = value;
|
||||
}
|
||||
|
||||
public void AddChangedVariable(string name)
|
||||
{
|
||||
_changedVariables.Add(name);
|
||||
}
|
||||
|
||||
public bool TryGetVisitCount(Container container, out int count)
|
||||
{
|
||||
return _visitCounts.TryGetValue(container, out count);
|
||||
}
|
||||
|
||||
public void SetVisitCount(Container container, int count)
|
||||
{
|
||||
_visitCounts[container] = count;
|
||||
}
|
||||
|
||||
public void SetTurnIndex(Container container, int index)
|
||||
{
|
||||
_turnIndices[container] = index;
|
||||
}
|
||||
|
||||
public bool TryGetTurnIndex(Container container, out int index)
|
||||
{
|
||||
return _turnIndices.TryGetValue(container, out index);
|
||||
}
|
||||
|
||||
Dictionary<string, Runtime.Object> _globals;
|
||||
HashSet<string> _changedVariables = new HashSet<string>();
|
||||
Dictionary<Container, int> _visitCounts = new Dictionary<Container, int>();
|
||||
Dictionary<Container, int> _turnIndices = new Dictionary<Container, int>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user