Browse Source

Merge pull request #725 from stevehalliwell/StopThenCall

New Call mode, StopThenCall
master
Chris Gregan 6 years ago committed by GitHub
parent
commit
84a0d32bb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 32
      Assets/Fungus/Scripts/Commands/Call.cs
  2. 24
      Assets/Fungus/Scripts/Components/Block.cs
  3. 1
      Assets/Fungus/Scripts/Components/Flowchart.cs
  4. 908
      Assets/Tests/Scripting/RecursiveCall.unity
  5. 7
      Assets/Tests/Scripting/RecursiveCall.unity.meta

32
Assets/Fungus/Scripts/Commands/Call.cs

@ -18,7 +18,9 @@ namespace Fungus
/// <summary> Continue executing the current block after calling </summary> /// <summary> Continue executing the current block after calling </summary>
Continue, Continue,
/// <summary> Wait until the called block finishes executing, then continue executing current block. </summary> /// <summary> Wait until the called block finishes executing, then continue executing current block. </summary>
WaitUntilFinished WaitUntilFinished,
/// <summary> Stop executing the current block before attempting to call. This allows for circular calls within the same frame </summary>
StopThenCall
} }
/// <summary> /// <summary>
@ -63,6 +65,13 @@ namespace Fungus
return; return;
} }
if(targetBlock.IsExecuting())
{
Debug.LogWarning(targetBlock.BlockName + " cannot be called/executed, it is already running.");
Continue();
return;
}
// Callback action for Wait Until Finished mode // Callback action for Wait Until Finished mode
Action onComplete = null; Action onComplete = null;
if (callMode == CallMode.WaitUntilFinished) if (callMode == CallMode.WaitUntilFinished)
@ -94,10 +103,18 @@ namespace Fungus
flowchart.SelectedBlock = targetBlock; flowchart.SelectedBlock = targetBlock;
} }
if (callMode == CallMode.StopThenCall)
{
StopParentBlock();
}
StartCoroutine(targetBlock.Execute(index, onComplete)); StartCoroutine(targetBlock.Execute(index, onComplete));
} }
else else
{ {
if (callMode == CallMode.StopThenCall)
{
StopParentBlock();
}
// Execute block in another Flowchart // Execute block in another Flowchart
targetFlowchart.ExecuteBlock(targetBlock, index, onComplete); targetFlowchart.ExecuteBlock(targetBlock, index, onComplete);
} }
@ -134,18 +151,7 @@ namespace Fungus
summary = targetBlock.BlockName; summary = targetBlock.BlockName;
} }
switch (callMode) summary += " : " + callMode.ToString();
{
case CallMode.Stop:
summary += " : Stop";
break;
case CallMode.Continue:
summary += " : Continue";
break;
case CallMode.WaitUntilFinished:
summary += " : Wait";
break;
}
return summary; return summary;
} }

24
Assets/Fungus/Scripts/Components/Block.cs

@ -47,6 +47,8 @@ namespace Fungus
protected Command activeCommand; protected Command activeCommand;
protected Action lastOnCompleteAction;
/// <summary> /// <summary>
// Index of last command executed before the current one. // Index of last command executed before the current one.
// -1 indicates no previous command. // -1 indicates no previous command.
@ -200,15 +202,19 @@ namespace Fungus
{ {
if (executionState != ExecutionState.Idle) if (executionState != ExecutionState.Idle)
{ {
Debug.LogWarning(BlockName + " cannot be executed, it is already running.");
yield break; yield break;
} }
lastOnCompleteAction = onComplete;
if (!executionInfoSet) if (!executionInfoSet)
{ {
SetExecutionInfo(); SetExecutionInfo();
} }
executionCount++; executionCount++;
var executionCountAtStart = executionCount;
var flowchart = GetFlowchart(); var flowchart = GetFlowchart();
executionState = ExecutionState.Executing; executionState = ExecutionState.Executing;
@ -297,14 +303,25 @@ namespace Fungus
command.IsExecuting = false; command.IsExecuting = false;
} }
if(State == ExecutionState.Executing &&
//ensure we aren't dangling from a previous stopage and stopping a future run
executionCountAtStart == executionCount)
{
ReturnToIdle();
}
}
private void ReturnToIdle()
{
executionState = ExecutionState.Idle; executionState = ExecutionState.Idle;
activeCommand = null; activeCommand = null;
BlockSignals.DoBlockEnd(this); BlockSignals.DoBlockEnd(this);
if (onComplete != null) if (lastOnCompleteAction != null)
{ {
onComplete(); lastOnCompleteAction();
} }
lastOnCompleteAction = null;
} }
/// <summary> /// <summary>
@ -321,6 +338,9 @@ namespace Fungus
// This will cause the execution loop to break on the next iteration // This will cause the execution loop to break on the next iteration
jumpToCommandIndex = int.MaxValue; jumpToCommandIndex = int.MaxValue;
//force idle here so other commands that rely on block not executing are informed this frame rather than next
ReturnToIdle();
} }
/// <summary> /// <summary>

1
Assets/Fungus/Scripts/Components/Flowchart.cs

@ -570,6 +570,7 @@ namespace Fungus
// Can't restart a running block, have to wait until it's idle again // Can't restart a running block, have to wait until it's idle again
if (block.IsExecuting()) if (block.IsExecuting())
{ {
Debug.LogWarning(block.BlockName + " cannot be called/executed, it is already running.");
return false; return false;
} }

908
Assets/Tests/Scripting/RecursiveCall.unity

@ -0,0 +1,908 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &615626260
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 615626264}
- component: {fileID: 615626263}
- component: {fileID: 615626262}
- component: {fileID: 615626261}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &615626261
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 615626260}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ForceModuleActive: 0
--- !u!114 &615626262
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 615626260}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &615626263
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 615626260}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 5
--- !u!4 &615626264
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 615626260}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &737536536
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 737536538}
- component: {fileID: 737536537}
m_Layer: 0
m_Name: _FungusState
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &737536537
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 737536536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 61dddfdc5e0e44ca298d8f46f7f5a915, type: 3}
m_Name:
m_EditorClassIdentifier:
selectedFlowchart: {fileID: 791345303}
--- !u!4 &737536538
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 737536536}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &791345297
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 791345304}
- component: {fileID: 791345303}
- component: {fileID: 791345302}
- component: {fileID: 791345300}
- component: {fileID: 791345299}
- component: {fileID: 791345298}
- component: {fileID: 791345307}
- component: {fileID: 791345306}
- component: {fileID: 791345305}
- component: {fileID: 791345308}
- component: {fileID: 791345314}
- component: {fileID: 791345313}
- component: {fileID: 791345312}
- component: {fileID: 791345311}
- component: {fileID: 791345310}
- component: {fileID: 791345309}
- component: {fileID: 791345315}
- component: {fileID: 791345301}
- component: {fileID: 791345317}
- component: {fileID: 791345316}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &791345298
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 3
indentLevel: 0
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345302}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 3
--- !u!114 &791345299
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 2
indentLevel: 1
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345300}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 3
--- !u!114 &791345300
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: 209
y: 151
width: 120
height: 40
tint: {r: 1, g: 1, b: 1, a: 1}
useCustomTint: 0
itemId: 1
blockName: New Block1
description:
eventHandler: {fileID: 0}
commandList:
- {fileID: 791345298}
--- !u!114 &791345301
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d2f6487d21a03404cb21b245f0242e79, type: 3}
m_Name:
m_EditorClassIdentifier:
parentBlock: {fileID: 791345302}
waitForFrames: 1
--- !u!114 &791345302
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: 207
y: 63
width: 120
height: 40
tint: {r: 1, g: 1, b: 1, a: 1}
useCustomTint: 0
itemId: 0
blockName: New Block
description:
eventHandler: {fileID: 791345301}
commandList:
- {fileID: 791345308}
- {fileID: 791345306}
- {fileID: 791345299}
- {fileID: 791345305}
--- !u!114 &791345303
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a334fe2ffb574b3583ff3b18b4792d3, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
scrollPos: {x: -10, y: 6}
variablesScrollPos: {x: 0, y: 0}
variablesExpanded: 1
blockViewHeight: 400
zoom: 1
scrollViewRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
selectedBlocks: []
selectedCommands: []
variables:
- {fileID: 791345307}
- {fileID: 791345310}
description:
stepPause: 0
colorCommands: 1
hideComponents: 1
saveSelection: 1
localizationId:
showLineNumbers: 0
hideCommands: []
luaEnvironment: {fileID: 0}
luaBindingName: flowchart
--- !u!4 &791345304
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &791345305
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 93cb9773f2ca04e2bbf7a68ccfc23267, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 5
indentLevel: 0
--- !u!114 &791345306
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70c5622b8a80845c980954170295f292, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 4
indentLevel: 0
compareOperator: 2
variable: {fileID: 791345307}
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 10
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
animatorData:
animatorRef: {fileID: 0}
animatorVal: {fileID: 0}
audioSourceData:
audioSourceRef: {fileID: 0}
audioSourceVal: {fileID: 0}
colorData:
colorRef: {fileID: 0}
colorVal: {r: 0, g: 0, b: 0, a: 0}
gameObjectData:
gameObjectRef: {fileID: 0}
gameObjectVal: {fileID: 0}
materialData:
materialRef: {fileID: 0}
materialVal: {fileID: 0}
objectData:
objectRef: {fileID: 0}
objectVal: {fileID: 0}
rigidbody2DData:
rigidbody2DRef: {fileID: 0}
rigidbody2DVal: {fileID: 0}
spriteData:
spriteRef: {fileID: 0}
spriteVal: {fileID: 0}
textureData:
textureRef: {fileID: 0}
textureVal: {fileID: 0}
transformData:
transformRef: {fileID: 0}
transformVal: {fileID: 0}
vector2Data:
vector2Ref: {fileID: 0}
vector2Val: {x: 0, y: 0}
vector3Data:
vector3Ref: {fileID: 0}
vector3Val: {x: 0, y: 0, z: 0}
--- !u!114 &791345307
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: afb91b566ceda411bad1e9d3c3243ecc, type: 3}
m_Name:
m_EditorClassIdentifier:
scope: 0
key: Var
value: 0
--- !u!114 &791345308
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 6
indentLevel: 0
variable: {fileID: 791345307}
setOperator: 2
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 1
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
animatorData:
animatorRef: {fileID: 0}
animatorVal: {fileID: 0}
audioSourceData:
audioSourceRef: {fileID: 0}
audioSourceVal: {fileID: 0}
colorData:
colorRef: {fileID: 0}
colorVal: {r: 0, g: 0, b: 0, a: 0}
gameObjectData:
gameObjectRef: {fileID: 0}
gameObjectVal: {fileID: 0}
materialData:
materialRef: {fileID: 0}
materialVal: {fileID: 0}
objectData:
objectRef: {fileID: 0}
objectVal: {fileID: 0}
rigidbody2DData:
rigidbody2DRef: {fileID: 0}
rigidbody2DVal: {fileID: 0}
spriteData:
spriteRef: {fileID: 0}
spriteVal: {fileID: 0}
textureData:
textureRef: {fileID: 0}
textureVal: {fileID: 0}
transformData:
transformRef: {fileID: 0}
transformVal: {fileID: 0}
vector2Data:
vector2Ref: {fileID: 0}
vector2Val: {x: 0, y: 0}
vector3Data:
vector3Ref: {fileID: 0}
vector3Val: {x: 0, y: 0, z: 0}
--- !u!114 &791345309
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 11
indentLevel: 0
variable: {fileID: 791345310}
setOperator: 2
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 1
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
animatorData:
animatorRef: {fileID: 0}
animatorVal: {fileID: 0}
audioSourceData:
audioSourceRef: {fileID: 0}
audioSourceVal: {fileID: 0}
colorData:
colorRef: {fileID: 0}
colorVal: {r: 0, g: 0, b: 0, a: 0}
gameObjectData:
gameObjectRef: {fileID: 0}
gameObjectVal: {fileID: 0}
materialData:
materialRef: {fileID: 0}
materialVal: {fileID: 0}
objectData:
objectRef: {fileID: 0}
objectVal: {fileID: 0}
rigidbody2DData:
rigidbody2DRef: {fileID: 0}
rigidbody2DVal: {fileID: 0}
spriteData:
spriteRef: {fileID: 0}
spriteVal: {fileID: 0}
textureData:
textureRef: {fileID: 0}
textureVal: {fileID: 0}
transformData:
transformRef: {fileID: 0}
transformVal: {fileID: 0}
vector2Data:
vector2Ref: {fileID: 0}
vector2Val: {x: 0, y: 0}
vector3Data:
vector3Ref: {fileID: 0}
vector3Val: {x: 0, y: 0, z: 0}
--- !u!114 &791345310
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: afb91b566ceda411bad1e9d3c3243ecc, type: 3}
m_Name:
m_EditorClassIdentifier:
scope: 0
key: Var1
value: 0
--- !u!114 &791345311
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 10
indentLevel: 0
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345313}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 1
--- !u!114 &791345312
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 9
indentLevel: 0
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345313}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 1
--- !u!114 &791345313
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: 232
y: 268
width: 120
height: 40
tint: {r: 1, g: 1, b: 1, a: 1}
useCustomTint: 0
itemId: 8
blockName: New Block3
description:
eventHandler: {fileID: 0}
commandList:
- {fileID: 791345309}
--- !u!114 &791345314
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: 80
y: 267
width: 120
height: 40
tint: {r: 1, g: 1, b: 1, a: 1}
useCustomTint: 0
itemId: 7
blockName: New Block2
description:
eventHandler: {fileID: 791345315}
commandList:
- {fileID: 791345312}
- {fileID: 791345311}
- {fileID: 791345316}
- {fileID: 791345317}
--- !u!114 &791345315
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d2f6487d21a03404cb21b245f0242e79, type: 3}
m_Name:
m_EditorClassIdentifier:
parentBlock: {fileID: 791345314}
waitForFrames: 1
--- !u!114 &791345316
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 13
indentLevel: 0
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345313}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 1
--- !u!114 &791345317
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791345297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
itemId: 12
indentLevel: 0
targetFlowchart: {fileID: 0}
targetBlock: {fileID: 791345313}
startLabel:
stringRef: {fileID: 0}
stringVal:
startIndex: 0
callMode: 1
--- !u!1 &926957713
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 926957716}
- component: {fileID: 926957715}
- component: {fileID: 926957714}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &926957714
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 926957713}
m_Enabled: 1
--- !u!20 &926957715
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 926957713}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &926957716
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 926957713}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

7
Assets/Tests/Scripting/RecursiveCall.unity.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 34356a3fcc0886444b35fa93d13a8b4c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save