39 Func<BadObject> getter,
40 Action<BadObject, BadPropertyInfo?>? setter =
null,
41 Action?
delete =
null)
47 throw new BadRuntimeException(
"Cannot set reference " + refText +
" because it is read-only");
62 Func<BadObject> getter,
63 Action<BadObject, BadPropertyInfo?, bool>? setter,
64 Action?
delete =
null)
92 private readonly Action<BadObject, BadPropertyInfo?, bool>?
m_Setter;
103 Func<BadObject> getter,
104 Action<BadObject, BadPropertyInfo?, bool>? setter,
Gets thrown by the runtime.
The Base Class for all BadScript Objects.
Implements a Reference Object.
override BadClassPrototype GetPrototype()
readonly Func< BadObject > m_Getter
The Getter of the Reference.
override string ToSafeString(List< BadObject > done)
override BadObject Resolve()
readonly? Action m_Delete
Deletes the Reference from the Referenced Object.
readonly? Action< BadObject, BadPropertyInfo?, bool > m_Setter
The Setter of the Reference.
override void Set(BadObject obj, BadPropertyInfo? info=null, bool noChangeEvent=false)
BadObjectReferenceImpl(string refText, Func< BadObject > getter, Action< BadObject, BadPropertyInfo?, bool >? setter, Action? delete)
Creates a new Reference Object.
readonly string m_RefText
The Debug Text.
Implements the base functionality for a BadScript Reference.
static BadObjectReference Make(string refText, Func< BadObject > getter, Action< BadObject, BadPropertyInfo?>? setter=null, Action? delete=null)
Creates a new Reference Object.
BadObject Resolve()
Returns the Referenced Object.
void Delete()
Deletes the Reference from the Referenced Object.
void Set(BadObject obj, BadPropertyInfo? info=null, bool noChangeEvent=false)
Sets the Referenced Object to a new Value.
static BadObjectReference Make(string refText, Func< BadObject > getter, Action< BadObject, BadPropertyInfo?, bool >? setter, Action? delete=null)
Creates a new Reference Object.
Stores Meta Information about a Property.
The Any Prototype, Base type for all types.
static readonly BadAnyPrototype Instance
The Instance of the BadAnyPrototype.
Implements a Class Prototype for the BadScript Language.
override BadClassPrototype GetPrototype()
Contains the Error Objects for the BadScript2 Language.
Contains Runtime Type Objects.
Contains the Runtime Objects.