9 if (movingBlock ==
null) {
13 if (movingBlockSet ==
null) {
30 if (movingBlockSet !=
null) {
31 MovingBlock movingBlock = movingBlockSet.Blocks.FirstOrDefault(block => block.Offset == offset,
null);
36 throw new Exception($
"Required moving block offset {offset} is not found in MovingBlockSet {movingBlocksPosition}");
41 throw new Exception($
"Required moving block set {movingBlocksPosition} is not found.");
48 bool throwOnError =
true,
49 bool throwIfNotFound =
false) {
50 Vector3? movingBlocksPosition = valuesDictionary.GetValue<
Vector3?>(
"MovingBlockSetPosition",
null);
51 Point3? point = valuesDictionary.GetValue<
Point3?>(
"MovingBlockOffset",
null);
52 if (movingBlocksPosition.HasValue
56 if (throwIfNotFound) {
57 throw new Exception(
"MovingBlockSetPosition is not contained in valuesDictionary.");
65 string[] str1 = movingBlockInfo.Split(
';');
67 || !str1[0].Contains(
"MovingBlock")) {
68 exception =
new InvalidDataException($
"String \"{movingBlockInfo}\" is not valid for moving block load.");
83 valuesDictionary.SetValue(
"MovingBlockSetPosition",
MovingBlockSet.Position);
84 valuesDictionary.SetValue(
"MovingBlockOffset",
Offset);
89 $
"MovingBlock;{HumanReadableConverter.ConvertToString(MovingBlockSet.Position)};{HumanReadableConverter.ConvertToString(Offset)}";
static object ConvertFromString(Type type, string data)
static bool IsNullOrStopped(MovingBlock movingBlock)
void SetValuesDicionary(ValuesDictionary valuesDictionary, bool saveWhenStopped=false)
static MovingBlock LoadFromValuesDictionary(Project project, ValuesDictionary valuesDictionary, bool throwOnError=true, bool throwIfNotFound=false)
override string ToString()
static MovingBlock LoadFromString(Project project, string movingBlockInfo, out Exception exception)
IMovingBlockSet MovingBlockSet
static MovingBlock LoadFromPositionAndOffset(Project project, Vector3 movingBlocksPosition, Point3 offset, bool throwOnError=true)
List< IMovingBlockSet > MovingBlockSets
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)
override string ToString()