INSA
  • Tutorials
  • Documentation
  • Api Documentation
  • Changelog
Show / Hide Table of Contents
  • Relations
    • Xareus.Relations
      • IEngine
      • IObject
      • IObjectType
      • IRelation
      • Object
      • ObjectMatch
      • ObjectPattern
      • ObjectQueryParameters
      • ObjectType
      • PatternType
      • Realization
      • RealizationQueryParameters
      • Reference
      • Relation
      • Type
      • TypeMatch
      • TypeSearch
    • Xareus.Relations.CSharp
      • Engine
    • Xareus.Relations.Extra
      • Helper
      • IRunnableRelation
      • ObjectPatternAttribute
    • Xareus.Relations.Tests
      • Bolt
      • Inheritance
      • RelationsTests
      • S3PM
    • Xareus.Relations.Tests.CSharp
      • EngineTest
    • Xareus.Relations.Utilities
      • Extensions
  • Scenarios
    • Xareus.Scenarios
      • AFunction
      • ASequence
      • Assignment
      • ComplexSequence
      • Decision
      • DecisionEvent
      • DecisionTree
      • Decoration
      • Event
      • Event.EffectorData
      • Event.SensorData
      • Extendable
      • ExtendedInfo
      • ExternalScenario
      • Function
      • IValueParser
      • Identifiable
      • InitialSequence
      • Net
      • Node
      • NodeUserData
      • Parameter
      • Place
      • ProxySequence
      • Reference
      • SMTransition
      • SafePetriNet
      • Scenario
      • ScenarioLoadedEventArgs
      • ScenarioLoadingParameters
      • ScenarioState
      • SequenceState
      • SetValueInContextEffector
      • SimpleSequence
      • State
      • StateMachine
      • Transition
      • TransitionFiredEventArgs
      • TypedValue
      • ValueParser
    • Xareus.Scenarios.Arithmetics
      • NumberBetweenSensor
      • NumberEffector
      • NumberEffector.ArithmeticalOperator
      • NumberSensor
      • NumberSensor.ComparisonOperator
      • RandomNumberEffector
      • Utils
    • Xareus.Scenarios.AssignmentEval
      • AAssignmentEval
    • Xareus.Scenarios.Boolean
      • BooleanEffector
      • BooleanEffector.LogicalOperator
      • BooleanSensor
      • BooleanSensor.ComparisonOperator
    • Xareus.Scenarios.Context
      • BackwardCompatibilityContext
      • BackwardCompatibilityContext.ParserDelegate
      • ContextType
      • IContext
      • Map
      • SimpleDictionary
      • Trie
    • Xareus.Scenarios.ContextInit
      • AContextInit
      • DefaultContextInit
    • Xareus.Scenarios.Converter
      • BoolConverter
      • ByteConverter
      • CharConverter
      • DoubleConverter
      • FloatConverter
      • IntConverter
      • LongConverter
      • PlaceConverter
      • PrimitiveConverter
      • SByteConverter
      • SMTransitionConverter
      • SafePetriNetConverter
      • ScenarioStateConverter
      • ScenarioVariablePathConverter
      • SequenceStateConverter
      • ShortConverter
      • StateConverter
      • StateMachineConverter
      • TransitionConverter
      • TupleConverter
      • UIntConverter
      • ULongConverter
      • UShortConverter
      • VariableConverter
      • VariablePathConverter
    • Xareus.Scenarios.Converters
      • ArrayConverter
      • CollectionConverter
      • StringConverter
      • TypeConverter
    • Xareus.Scenarios.Effector
      • AEffector
    • Xareus.Scenarios.Exception
      • InvalidDataException
      • InvalidStateException
    • Xareus.Scenarios.Extra
      • AssignmentOverlap
      • DefaultTokenUpdate
      • DefaultTokenUpdate.TokenData
      • DownstreamSequenceList
      • EventSensor
      • ExtendedInfoHelper
      • SelectFromListEffector
      • SequenceList
      • TransitionFiredSensor
      • UpstreamSequenceList
      • VariableExistsSensor
    • Xareus.Scenarios.Extra.Converters
      • DefaultTokenUpdateTokenDataConverter
    • Xareus.Scenarios.Extra.Time
      • WaitEffector
    • Xareus.Scenarios.Extra.Triggers
      • ActivateTriggerEffector
      • TriggerData
      • TriggerDataConverter
      • TriggerScenarioExtensions
      • WaitForTriggerSensor
    • Xareus.Scenarios.FinalTokenMerge
      • AFinalTokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.Network
      • AScenarioSender
      • INetSocketTcp
      • NetSocketTcpScenarioReceiver
      • NetSocketTcpScenarioSender
      • NetSocketTcpScenarioSender.ClientNewScenarioRegistration
      • NetSocketTcpScenarioSender.ClientUpdateRegistration
      • NetSocketTcpUtils
      • NetSocketTcpUtils.ReceiveState
    • Xareus.Scenarios.Network.Tests
      • NetworkTest
    • Xareus.Scenarios.ScenarioManipulation
      • AddTokenToSequencesEffector
      • AddTokenToSequencesEffector.TokenData
      • LoadScenarioStateEffector
      • LoadScenarioStateFromFileEffector
      • LoadSequenceStateEffector
      • LoadSequenceStateFromFileEffector
      • RemoveTokensFromSequencesEffector
      • SaveScenarioStateEffector
      • SaveScenarioStateInFileEffector
      • SaveSequenceStateEffector
      • SaveSequenceStateInFileEffector
    • Xareus.Scenarios.Sensor
      • ASensor
      • ASensor.Result
    • Xareus.Scenarios.Tests
      • ConfigurationParameterTest
      • ConvertersTests
      • IContextTest
      • ParserTest
      • ProgramTest
      • ScenarioManipulationTests
      • ScenarioTest
      • TypeTest
      • TypeTest.OverrideClass
    • Xareus.Scenarios.Time
      • RandomTimeSensor
      • TimeParametersConverter
      • TimeSensor
      • TimeUnit
      • TimeUtils
    • Xareus.Scenarios.TokenAssign
      • ATokenAssign
      • DoNothing
    • Xareus.Scenarios.TokenInit
      • ATokenInit
      • DefaultTokenInit
      • EmptyTokenInit
    • Xareus.Scenarios.TokenMerge
      • ATokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.TokenSplit
      • ATokenSplit
    • Xareus.Scenarios.Utilities
      • BackwardCompatibilityManager
      • ConfigurationParameterAttribute
      • ContextVariableAttribute
      • EventContextEntryAttribute
      • FunctionDescriptionAttribute
      • FunctionManager
      • IFunctionParametersConverter
      • IRenameClass
      • IRenamedProvider
      • Necessity
      • ObsoleteUtils
      • OverrideClassAttribute
      • ParameterChecker
      • RenamedAttribute
      • RenamedManagerBase
      • RenamedTypeUtils
      • RuntimeTools
      • TypeConverterForAttribute
    • Xareus.Scenarios.Variables
      • ContextVariable<T>
      • EventVariablePath
      • ExternalContextVariablePath
      • ScenarioVariablePath
      • TokenVariablePath
      • Variable
      • VariablePath
  • Scenarios.Relations
      • Program
    • Xareus.Scenarios.Relations
      • Action
      • ActionLogEffector
      • ActionRecordEffector
      • ActionRecorder
      • AnyRelationSensor
      • Change
      • Environment
      • Execution
      • IRealizationManager
      • InitializeRecorderEffector
      • RealizationContext
      • RealizationManager
      • RealizationRecord
      • RelationEffector
      • RelationSensor
      • RelationsValueParser
      • RenamedProvider
      • WriteActionRecordEffector
    • Xareus.Scenarios.Relations.TypeConverter
      • FiveObjectConverter
      • RealizationConverter
      • RelationConverter
  • Utils
    • Xareus.Utils
      • AssemblyUtils
      • DatedEventManager<DataType, TimeType>
      • DatedEventManager<DataType, TimeType>.EventRecord
      • Extensions
      • FieldsAndPropertiesContainer
      • MemberUtils
      • Serialization
      • TypeUtils
      • UriUtils
    • Xareus.Utils.Tests
      • DatedEventManagerTest
      • DatedEventManagerTest.TestDatedEventManager
      • ExtensionsTests
      • MemberUtilsTest
      • TypeUtilsTests
      • TypeUtilsTests.DummySensor
      • TypeUtilsTests.GenericClassUser
      • TypeUtilsTests.GenericClass<T>
      • UriUtilsTest
  • Unity
    • FIVE.Unity
      • UFManager
      • UFRelationEngine
      • UFScenarioEngineKernel
    • Xareus.Unity
      • GameObjectExtension
      • Log4netFileAppender
      • Log4netUnityAppender
      • XULog4net
      • XareusManager
    • Xareus.Unity.Converters
      • ColorConverter
      • MemberInfoConverter
      • MethodInfoConverter
      • QuaternionConverter
      • UnityObjectConverter
      • Vector2Converter
      • Vector2IntConverter
      • Vector3Converter
      • Vector3IntConverter
      • Vector4Converter
      • VectorConverter
    • Xareus.Unity.TypeDescriptorContext
      • DictionaryDescriptorContext
      • SimpleTypeDescriptorContext<T>
      • UnityObjectDescriptorContext
  • Unity Relations
    • Xareus.Relations.Scenarios.Unity
      • TypeWithScenario
    • Xareus.Relations.Unity
      • BaseEditorDescriptorAttribute
      • GenerationMode
      • IRelationEngine
      • IdentifiableBehaviour
      • ObjectPatternAttribute
      • ObjectPatternDescriptorAttribute
      • ObjectQueryWithCallback
      • ParameterDescriptorAttribute
      • RealizationQueryWithCallback
      • RelationDescriptorAttribute
      • RelationEngine
      • RelationEngineKernel
      • RelationParameters
      • Serializer
      • TypeDescriptorAttribute
      • TypeMember
      • TypeParentAttribute
      • UniqueIDGenerator
      • XUObject
      • XUObject.XuObjectChanged
      • XUObjectPattern
      • XUObjectQueryParameters
      • XURealization
      • XURealizationQueryParameters
      • XURelation
      • XUType
      • XUTypeSearch
    • Xareus.Relations.Unity.Converters
      • XUObjectConverter
      • XURelationTypeConverter
      • XUTypeConverter
  • Unity Scenarios
      • ABaseScenarioElementUI
      • DecisionTreeUI
    • Xareus.Scenarios.Network.Unity
      • NetworkClient
      • NetworkManager
      • NetworkServer
      • UnityNetSocketTcpScenarioReceiver
      • UnityNetSocketTcpScenarioSender
    • Xareus.Scenarios.Unity
      • AInUnityStepSensor
      • AUnityContextInit
      • AUnityEffector
      • AUnitySensor
      • AUnityTokenAssign
      • AdditionalScenarioFile
      • AdvancedConfigurationParameterAttribute
      • Comment
      • DecisionTreeEvaluation
      • ExternalContextEntryAttribute
      • IScenarioEngine
      • ObsoleteFunctionAttribute
      • ObsoleteFunctionAttribute.ParameterConvesion
      • RuntimeScenarioFileRegistry
      • ScenarioEngine
      • ScenarioEngineKernel
      • ScenarioRunner
      • Section
    • Xareus.Scenarios.Unity.Edition
      • BusinessControl
      • Constants
      • ContextVariableManager
      • ContextVariableManager.SerializedContextVariables
      • IScenarioSerializer
      • IToolbarEntryData
      • Layer
      • Layer.UxmlFactory
      • Layer.UxmlTraits
      • LayerBar
      • LayerBar.UxmlFactory
      • LayerBar.UxmlTraits
      • LayerBarButton
      • LayerBarButton.UxmlFactory
      • LayerBarButton.UxmlTraits
      • ScenarioEditorExtendedInfoUpdater
      • ScenarioSerializer
      • ScenarioTabHandler
      • ScenarioTabHandler.LayerViewData
      • ScenarioTabHandler.LayerViewDataDictionary
      • ScenarioWrapper
      • ScenarioWrapper.ScenarioDataConsumers
      • SequenceType
      • SerializableScenario
      • Tab
      • Tab.UxmlFactory
      • Tab.UxmlTraits
      • ThemeManager
      • ThemeManager.ThemeChange
      • XmlUtils
    • Xareus.Scenarios.Unity.Edition.Events
      • ArcCreatedEvent
      • ArcDeletedEvent
      • ArcStartedEvent
      • CreateContextToFireEvent
      • DeselectedEventArgs
      • EventCallbackFunctor<EventType>
      • IEventCallbackFunctor
      • IScenarioEventHandler
      • IdChangeEvent
      • LabelChangeEvent
      • OpenExternalScenarioEventArgs
      • ScenarioDataChangedEventArgs
    • Xareus.Scenarios.Unity.Edition.UI
      • ABaseArcUI
      • AClickableElementUI
      • ADecisionArcPreviewUI
      • AMovableElementUI
      • AMovableElementUI.MovableElementUIMoved
      • ArcDirectionUI
      • ArcPreviewUI
      • ArcUI
      • ArrowToNodesDirectionUI
      • ArrowToNodesUI
      • BackgroundGrid
      • CanvasUI
      • CanvasUI.UxmlFactory
      • CanvasUI.UxmlTraits
      • CommentUI
      • ComplexSequenceUI
      • DecisionArcUI
      • DecisionNodeUI
      • DecisionUI
      • EffectorUI
      • ExternalScenarioUI
      • FalseDecisionArcPreviewUI
      • FalseDecisionArcUI
      • FalseOutUI
      • FinalUI
      • InitialUI
      • LayerUI
      • NodeUI
      • PartialTokenUI
      • PetriNetUI
      • PlaceUI
      • SMTransitionUI
      • SectionUI
      • SensorUI
      • SequenceUI
      • StateMachineUI
      • StateUI
      • TokenAssignUI
      • TokenMergeUI
      • TokenUI
      • TransitionUI
      • TrueDecisionArcPreviewUI
      • TrueDecisionArcUI
      • TrueOutUI
    • Xareus.Scenarios.Unity.MiddleVR
      • AUnityClusterEffector
      • VRCall
    • Xareus.Scenarios.Unity.Providers
      • IClassConstraintableExtension
      • IClassReceiverExtension
      • IConstraintable
      • IConstraintable<T>
      • IProvider
      • IProvider<T>
      • IReceiver
      • IReceiver<T>
      • ProvideConstraintAttribute
      • ProviderAttribute
      • ValueChangedEventArgs<T>
    • Xareus.Scenarios.Unity.VisualScripting
      • Constants
      • VisualScriptHolder
      • VisualScriptingEffector
      • VisualScriptingSensor
  • Unity Utils
    • Xareus.Unity
      • MethodParameters
    • Xareus.Unity.Utils
      • ClassTemplate
      • ClusterUtils
      • ColorUtils
      • FileUtils
      • StringUtils
      • UnityEditorUtils
      • UnityUtils
  • Unity Librairies
    • Xareus.Relations.Scenarios
      • CheckTypeWithScenarioMemberValueSensor
      • InvokeTypeWithScenarioMethodEffector
      • SetTypeWithScenarioMemberValueEffector
    • Xareus.Scenarios.Input
      • KeyPressedSensor
    • Xareus.Scenarios.Relations
      • CheckXareusObjectTypeMemberValueSensor
      • CheckXareusTypeMemberValueSensor
      • CompareXareusTypesMembersValuesSensor
      • InvokeXareusObjectMethodEffector
      • RandomXareusObjectEffector
      • RandomXareusObjectEffector.Result
      • RandomXareusObjectWithTypeEffector
      • SelectXareusTypesFromListEffector
      • SetXareusTypeMemberValueEffector
    • Xareus.Scenarios.Relations.ParametersConverter
      • CheckXareusTypeMemberValueSensorConverter
      • CompareXareusTypesMembersValuesSensorConverter
      • TypeValueSensorParametersConverter
    • Xareus.Scenarios.Time.Unity
      • UnityTimeSensor
      • UnityTimeSensor.TimeType
    • Xareus.Scenarios.Unity
      • AInvokeMethodEffector
      • AnyInputSensor
      • ChangeColorEffector
      • ChangeParentEffector
      • ChangeTextEffector
      • CheckAnimatorParameterValueSensor
      • CheckMemberValueSensor
      • CompareMembersValuesSensor
      • DistanceSensor
      • HasComponentOfTypeSensor
      • InvokeStaticMethodEffector
      • InvokeUnityObjectMethodEffector
      • LoadSceneEffector
      • LogEffector
      • ObjectClickedSensor
      • ObjectCollisionSensor
      • PlaySoundEffector
      • SceneLoadedSensor
      • ScreenFadeEffector
      • ScreenFadeEffector.FadeType
      • SelectChildObjects
      • SelectComponents
      • SetActiveEffector
      • SetAnimatorParameterValueEffector
      • SetComponentValueInContextEffector
      • SetEnabledEffector
      • SetMemberValueEffector
      • StartDisplaySpriteEffector
      • StartDisplayTextAssetEffector
      • StartDisplayVideoClipEffector
      • StopAudioSourceEffector
      • StopDisplaySpriteEffector
      • StopDisplayTextAssetEffector
      • StopDisplayVideoClipEffector
      • UnityEventSensor
      • UnityNumberSensor
    • Xareus.Scenarios.Unity.UI
      • ButtonClickedSensor
      • DropdownSensor
      • ToggleValueSensor
      • ToggleValueSensor.SelectMode
    • Xareus.Scenarios.Unity.Utils
      • CompareMembersValuesSensorUpdater
      • ObjectCollisionSensorUpdater
    • Xareus.Unity
      • CheckMethodReturnValueSensor
      • CheckStaticMemberValueSensor
      • DefaultUnityContextInit
      • DefaultUnityTokenUpdate
      • ScreenFadeEffect
      • SetValueInContextEffector
      • UFEOtherTrigger

Class Environment

This stands for the environment in which the scenario engine operates. The register references all the relations and all the relational objects. It stores every executed realizations and those that need to be executed.

Inheritance
object
Environment
Implements
IContext
ITypeDescriptorContext
IServiceProvider
IRealizationManager
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Xareus.Scenarios.Relations
Assembly: Xareus.Scenarios.Relations.dll
Syntax
public class Environment : IContext, ITypeDescriptorContext, IServiceProvider, IRealizationManager

Constructors

Environment(IEngine)

Declaration
public Environment(IEngine engine)
Parameters
Type Name Description
IEngine engine

Fields

RELATION_ENGINE_PATH

Declaration
public const string RELATION_ENGINE_PATH = "RelationEngine"
Field Value
Type Description
string

subContexts

Declaration
protected List<IContext> subContexts
Field Value
Type Description
List<IContext>

subContextsInPath

Declaration
protected Dictionary<string, List<IContext>> subContextsInPath
Field Value
Type Description
Dictionary<string, List<IContext>>

Properties

Container

Gets the container representing this TypeDescriptor request.

Declaration
public virtual IContainer Container { get; }
Property Value
Type Description
IContainer

An System.ComponentModel.IContainer with the set of objects for this TypeDescriptor; otherwise, null if there is no container or if the TypeDescriptor does not use outside objects.

Instance

Gets the object that is connected with this type descriptor request.

Declaration
public virtual object Instance { get; }
Property Value
Type Description
object

The object that invokes the method on the TypeDescriptor; otherwise, null if there is no object responsible for the call.

Objects

Declaration
public Dictionary<string, IObject> Objects { get; }
Property Value
Type Description
Dictionary<string, IObject>

PropertyDescriptor

Gets the System.ComponentModel.PropertyDescriptor that is associated with the given context item.

Declaration
public virtual PropertyDescriptor PropertyDescriptor { get; }
Property Value
Type Description
PropertyDescriptor

The System.ComponentModel.PropertyDescriptor that describes the given context item; otherwise, null if there is no System.ComponentModel.PropertyDescriptor responsible for the call.

RelationEngine

The relation engine linked to this environment

Declaration
public IEngine RelationEngine { get; }
Property Value
Type Description
IEngine

Relations

Declaration
public Dictionary<string, IRelation> Relations { get; }
Property Value
Type Description
Dictionary<string, IRelation>

Methods

AddExecutedRealization(Realization)

Add the given realization to the log.

Declaration
public void AddExecutedRealization(Realization realization)
Parameters
Type Name Description
Realization realization

AddSubContext(IContext)

Add a sub-context that will be browsed when accessing values

Declaration
public void AddSubContext(IContext subContext)
Parameters
Type Name Description
IContext subContext

AddSubContext(IContext, string)

Add a sub-context that will be browsed when accessing values

Declaration
public void AddSubContext(IContext subContext, string path)
Parameters
Type Name Description
IContext subContext
string path

Clear()

Declaration
public void Clear()

EnqueueRealizationToExecute(Realization)

Add the given realization to the backlog.

Declaration
public void EnqueueRealizationToExecute(Realization realization)
Parameters
Type Name Description
Realization realization

GetExecutedRealizations(IRelation, HashSet<IObject>, DateTime, DateTime)

Returns every realization that match the given relation and objects and that were created between the start and end DateTime.

Declaration
public IEnumerable<Realization> GetExecutedRealizations(IRelation relation, HashSet<IObject> objects, DateTime start, DateTime end)
Parameters
Type Name Description
IRelation relation
HashSet<IObject> objects
DateTime start
DateTime end
Returns
Type Description
IEnumerable<Realization>

GetNextRealizationToExecute()

Returns the oldest realization in the backlog.

Declaration
public Realization GetNextRealizationToExecute()
Returns
Type Description
Realization

GetPaths()

Lists all the valid paths

Declaration
public IEnumerable<string> GetPaths()
Returns
Type Description
IEnumerable<string>

GetService(Type)

Gets the service object of the specified type.

Declaration
public virtual object GetService(Type serviceType)
Parameters
Type Name Description
Type serviceType

An object that specifies the type of service object to get.

Returns
Type Description
object

A service object of type serviceType.
-or-
null if there is no service object of type serviceType.

GetValue(string)

Get the first value at the given path in the environment or one of its sub contexts

Declaration
public object GetValue(string path)
Parameters
Type Name Description
string path
Returns
Type Description
object

GetValueOrDefault(string, object)

Get the first value at the given path in the environment or one of its sub contexts or the given default value if not found

Declaration
public object GetValueOrDefault(string path, object defaultValue = null)
Parameters
Type Name Description
string path
object defaultValue
Returns
Type Description
object

HasPath(string)

Checks if the given path exists in the environment or on of its sub contexts

Declaration
public bool HasPath(string path)
Parameters
Type Name Description
string path
Returns
Type Description
bool

HasSubContext(IContext, bool)

Check if a sub-context is present in the Environment

Declaration
public bool HasSubContext(IContext subContext, bool atAnyPath = true)
Parameters
Type Name Description
IContext subContext
bool atAnyPath
Returns
Type Description
bool

OnComponentChanged()

Raises the ComponentChanged event.

Declaration
public virtual void OnComponentChanged()

OnComponentChanging()

Raises the ComponentChanging event.

Declaration
public virtual bool OnComponentChanging()
Returns
Type Description
bool

true if this object can be changed; otherwise, false.

RemoveSubContext(IContext, bool)

Remove a sub-context

Declaration
public void RemoveSubContext(IContext subContext, bool atAnyPath = true)
Parameters
Type Name Description
IContext subContext
bool atAnyPath

SetValue(string, object)

Sets the value at the given path in the environment (note that sub contexts won't be affected)

Declaration
public void SetValue(string path, object value)
Parameters
Type Name Description
string path
object value

Union(string, IContext)

Merges the given context into this one at the given path

Declaration
public void Union(string path, IContext other)
Parameters
Type Name Description
string path
IContext other

Union(IContext, bool)

Declaration
public void Union(IContext other, bool overrideDuplicates = true)
Parameters
Type Name Description
IContext other
bool overrideDuplicates

Implements

IContext
System.ComponentModel.ITypeDescriptorContext
IServiceProvider
IRealizationManager
INSA     IRISA     Inria     Ouest Valorisation Back to top