diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj
index 1ab5030..5327042 100644
--- a/Assembly-CSharp.csproj
+++ b/Assembly-CSharp.csproj
@@ -51,6 +51,7 @@
+
diff --git a/Assets/IsoTools/Examples/Scenes/Scene07.unity b/Assets/IsoTools/Examples/Scenes/Scene07.unity
new file mode 100644
index 0000000..d73f81d
--- /dev/null
+++ b/Assets/IsoTools/Examples/Scenes/Scene07.unity
@@ -0,0 +1,854 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+SceneSettings:
+ m_ObjectHideFlags: 0
+ m_PVSData:
+ m_PVSObjectsArray: []
+ m_PVSPortalsArray: []
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 6
+ 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_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}
+--- !u!157 &4
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 6
+ m_GIWorkflowMode: 1
+ m_LightmapsMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 3
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AOMaxDistance: 1
+ m_Padding: 2
+ m_CompAOExponent: 0
+ m_LightmapParameters: {fileID: 0}
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherRayCount: 1024
+ m_ReflectionCompression: 2
+ m_LightingDataAsset: {fileID: 0}
+ m_RuntimeCPUUsage: 25
+--- !u!196 &5
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ accuratePlacement: 0
+ minRegionArea: 2
+ cellSize: 0.16666667
+ manualCellSize: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1001 &426942029
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: -48
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 23.999996
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 1.3000001
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.y
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_Name
+ value: Floor_3x3 (2)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1 &600542277
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 4: {fileID: 600542283}
+ - 20: {fileID: 600542282}
+ - 92: {fileID: 600542281}
+ - 124: {fileID: 600542280}
+ - 81: {fileID: 600542279}
+ - 114: {fileID: 600542278}
+ - 108: {fileID: 600542284}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &600542278
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3f01619d3802e814f86f9e6bb965349a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _tileSize: 16
+ _tileRatio: 0.5
+ _tileAngle: 45
+ _tileHeight: 16
+ _stepDepth: 0.1
+ _startDepth: 1
+--- !u!81 &600542279
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+--- !u!124 &600542280
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+--- !u!92 &600542281
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+--- !u!20 &600542282
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
+ 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: 100
+ 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: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!4 &600542283
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 100, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+--- !u!108 &600542284
+Light:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 600542277}
+ m_Enabled: 1
+ serializedVersion: 6
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 46.14
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_BounceIntensity: 1
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+ m_AreaSize: {x: 1, y: 1}
+--- !u!1 &672353206 stripped
+GameObject:
+ m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_PrefabInternal: {fileID: 1492170142}
+--- !u!114 &672353207
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 672353206}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1384774831, guid: de72a6d2da64d114d95e3c5a01cfaec5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ fsm:
+ dataVersion: 2
+ usedInTemplate: {fileID: 0}
+ name: FSM
+ startState: State 1
+ states:
+ - name: State 1
+ description:
+ colorIndex: 0
+ position:
+ serializedVersion: 2
+ x: 65.390625
+ y: 104.546875
+ width: 100
+ height: 32
+ isBreakpoint: 0
+ isSequence: 0
+ hideUnused: 0
+ transitions:
+ - fsmEvent:
+ name: FINISHED
+ isSystemEvent: 1
+ isGlobal: 0
+ toState: State 2
+ linkStyle: 0
+ linkConstraint: 0
+ colorIndex: 0
+ actionData:
+ actionNames:
+ - IsoTools.PlayMaker.Actions.IsoTranslate
+ - HutongGames.PlayMaker.Actions.Wait
+ customNames:
+ -
+ -
+ actionEnabled: 0101
+ actionIsOpen: 0101
+ actionStartIndex: 0000000009000000
+ actionHashCodes: 8ef8760048c01101
+ unityObjectParams: []
+ fsmGameObjectParams: []
+ fsmOwnerDefaultParams:
+ - ownerOption: 0
+ gameObject:
+ useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: {fileID: 0}
+ animationCurveParams: []
+ functionCallParams: []
+ fsmTemplateControlParams: []
+ fsmEventTargetParams: []
+ fsmPropertyParams: []
+ layoutOptionParams: []
+ fsmStringParams: []
+ fsmObjectParams: []
+ fsmVarParams: []
+ fsmArrayParams: []
+ fsmEnumParams: []
+ fsmFloatParams:
+ - useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 1
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 0
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 0
+ - useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 1
+ fsmIntParams: []
+ fsmBoolParams: []
+ fsmVector2Params: []
+ fsmVector3Params:
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: {x: 0, y: 0, z: 0}
+ fsmColorParams: []
+ fsmRectParams: []
+ fsmQuaternionParams: []
+ stringParams:
+ - FINISHED
+ byteData: 0000000001
+ arrayParamSizes:
+ arrayParamTypes: []
+ customTypeSizes:
+ customTypeNames: []
+ paramDataType: 140000001c0000000f0000000f0000000f000000010000000100000001000000010000000f0000001700000001000000
+ paramName:
+ - gameObject
+ - vector
+ - x
+ - y
+ - z
+ - perSecond
+ - everyFrame
+ - lateUpdate
+ - fixedUpdate
+ - time
+ - finishEvent
+ - realTime
+ paramDataPos: 000000000000000000000000010000000200000000000000010000000200000003000000030000000000000004000000
+ paramByteDataSize: 000000000000000000000000000000000000000001000000010000000100000001000000000000000000000001000000
+ - name: State 2
+ description:
+ colorIndex: 0
+ position:
+ serializedVersion: 2
+ x: 240.82031
+ y: 102.17969
+ width: 100
+ height: 32
+ isBreakpoint: 0
+ isSequence: 0
+ hideUnused: 0
+ transitions:
+ - fsmEvent:
+ name: FINISHED
+ isSystemEvent: 1
+ isGlobal: 0
+ toState: State 1
+ linkStyle: 0
+ linkConstraint: 0
+ colorIndex: 0
+ actionData:
+ actionNames:
+ - IsoTools.PlayMaker.Actions.IsoTranslate
+ - HutongGames.PlayMaker.Actions.Wait
+ customNames:
+ -
+ -
+ actionEnabled: 0101
+ actionIsOpen: 0101
+ actionStartIndex: 0000000009000000
+ actionHashCodes: 8ef8760048c01101
+ unityObjectParams: []
+ fsmGameObjectParams: []
+ fsmOwnerDefaultParams:
+ - ownerOption: 0
+ gameObject:
+ useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: {fileID: 0}
+ animationCurveParams: []
+ functionCallParams: []
+ fsmTemplateControlParams: []
+ fsmEventTargetParams: []
+ fsmPropertyParams: []
+ layoutOptionParams: []
+ fsmStringParams: []
+ fsmObjectParams: []
+ fsmVarParams: []
+ fsmArrayParams: []
+ fsmEnumParams: []
+ fsmFloatParams:
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 0
+ - useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 1
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 0
+ - useVariable: 0
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: 1
+ fsmIntParams: []
+ fsmBoolParams: []
+ fsmVector2Params: []
+ fsmVector3Params:
+ - useVariable: 1
+ name:
+ tooltip:
+ showInInspector: 0
+ networkSync: 0
+ value: {x: 0, y: 0, z: 0}
+ fsmColorParams: []
+ fsmRectParams: []
+ fsmQuaternionParams: []
+ stringParams:
+ - FINISHED
+ byteData: 0000000001
+ arrayParamSizes:
+ arrayParamTypes: []
+ customTypeSizes:
+ customTypeNames: []
+ paramDataType: 140000001c0000000f0000000f0000000f000000010000000100000001000000010000000f0000001700000001000000
+ paramName:
+ - gameObject
+ - vector
+ - x
+ - y
+ - z
+ - perSecond
+ - everyFrame
+ - lateUpdate
+ - fixedUpdate
+ - time
+ - finishEvent
+ - realTime
+ paramDataPos: 000000000000000000000000010000000200000000000000010000000200000003000000030000000000000004000000
+ paramByteDataSize: 000000000000000000000000000000000000000001000000010000000100000001000000000000000000000001000000
+ events:
+ - name: FINISHED
+ isSystemEvent: 1
+ isGlobal: 0
+ globalTransitions: []
+ variables:
+ floatVariables: []
+ intVariables: []
+ boolVariables: []
+ stringVariables: []
+ vector2Variables: []
+ vector3Variables: []
+ colorVariables: []
+ rectVariables: []
+ quaternionVariables: []
+ gameObjectVariables: []
+ objectVariables: []
+ materialVariables: []
+ textureVariables: []
+ arrayVariables: []
+ enumVariables: []
+ categories:
+ -
+ variableCategoryIDs:
+ description:
+ docUrl:
+ showStateLabel: 1
+ maxLoopCount: 0
+ watermark:
+ password:
+ locked: 0
+ preprocessed: 0
+ ExposedEvents: []
+ RestartOnEnable: 1
+ EnableDebugFlow: 0
+ EnableBreakpoints: 1
+ activeStateName:
+ mouseEvents: 0
+ handleTriggerEnter: 0
+ handleTriggerExit: 0
+ handleTriggerStay: 0
+ handleCollisionEnter: 0
+ handleCollisionExit: 0
+ handleCollisionStay: 0
+ handleOnGUI: 0
+ handleFixedUpdate: 0
+ handleApplicationEvents: 0
+ fsmTemplate: {fileID: 0}
+ eventHandlerComponentsAdded: 0
+--- !u!1001 &1364277118
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: -0.000005722046
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 47.999996
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 1.4000001
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.x
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.y
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_Name
+ value: Floor_3x3 (3)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1408623929
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 1.1
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1492170142
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: -0.0000019073486
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 15.999999
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1 &1761473855
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 4: {fileID: 1761473857}
+ - 114: {fileID: 1761473856}
+ m_Layer: 0
+ m_Name: PlayMakerGUI
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1761473856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1761473855}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -73581967, guid: 9754d4abda502c6458053d5ed8e4fc5a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ previewOnGUI: 1
+ enableGUILayout: 1
+ drawStateLabels: 1
+ GUITextureStateLabels: 1
+ GUITextStateLabels: 1
+ filterLabelsWithDistance: 0
+ maxLabelDistance: 10
+ controlMouseCursor: 1
+--- !u!4 &1761473857
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1761473855}
+ 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: 6
+--- !u!1001 &1818074318
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 47.999992
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 24
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 1.2
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.x
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ propertyPath: m_Name
+ value: Floor_3x3 (1)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
+ m_IsPrefabParent: 0
diff --git a/Assets/IsoTools/Examples/Scenes/Scene07.unity.meta b/Assets/IsoTools/Examples/Scenes/Scene07.unity.meta
new file mode 100644
index 0000000..3ec615e
--- /dev/null
+++ b/Assets/IsoTools/Examples/Scenes/Scene07.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a26f4e90178ba4933af6ad5f8d88ecc8
+timeCreated: 1449957346
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/IsoTools/PlayMaker.meta b/Assets/IsoTools/PlayMaker.meta
new file mode 100644
index 0000000..4e0c36d
--- /dev/null
+++ b/Assets/IsoTools/PlayMaker.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c8b3ac68bbc98425a9242e12a4d2951c
+folderAsset: yes
+timeCreated: 1449997605
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/IsoTools/PlayMaker/Actions.meta b/Assets/IsoTools/PlayMaker/Actions.meta
new file mode 100644
index 0000000..6860b8d
--- /dev/null
+++ b/Assets/IsoTools/PlayMaker/Actions.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8a23c47afc2e94d18abf9f1cb58fb612
+folderAsset: yes
+timeCreated: 1449997824
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs b/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs
new file mode 100644
index 0000000..1b0300f
--- /dev/null
+++ b/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs
@@ -0,0 +1,107 @@
+using UnityEngine;
+using HutongGames.PlayMaker;
+
+namespace IsoTools.PlayMaker.Actions {
+ [ActionCategory("IsoTools")]
+ [HutongGames.PlayMaker.Tooltip("Translates a IsoObject. Use a Vector3 variable and/or XYZ components. To leave any axis unchanged, set variable to 'None'.")]
+ public class IsoTranslate : FsmStateAction {
+ [RequiredField]
+ [HutongGames.PlayMaker.Tooltip("The game object to translate.")]
+ public FsmOwnerDefault gameObject;
+
+ [UIHint(UIHint.Variable)]
+ [HutongGames.PlayMaker.Tooltip("A translation vector. NOTE: You can override individual axis below.")]
+ public FsmVector3 vector;
+
+ [HutongGames.PlayMaker.Tooltip("Translation along x axis.")]
+ public FsmFloat x;
+
+ [HutongGames.PlayMaker.Tooltip("Translation along y axis.")]
+ public FsmFloat y;
+
+ [HutongGames.PlayMaker.Tooltip("Translation along z axis.")]
+ public FsmFloat z;
+
+ [HutongGames.PlayMaker.Tooltip("Translate over one second")]
+ public bool perSecond;
+
+ [HutongGames.PlayMaker.Tooltip("Repeat every frame.")]
+ public bool everyFrame;
+
+ [HutongGames.PlayMaker.Tooltip("Perform the translate in LateUpdate. This is useful if you want to override the position of objects that are animated or otherwise positioned in Update.")]
+ public bool lateUpdate;
+
+ [HutongGames.PlayMaker.Tooltip("Perform the translate in FixedUpdate. This is useful when working with rigid bodies and physics.")]
+ public bool fixedUpdate;
+
+ public override void Reset() {
+ gameObject = null;
+ vector = null;
+ x = new FsmFloat{UseVariable = true};
+ y = new FsmFloat{UseVariable = true};
+ z = new FsmFloat{UseVariable = true};
+ perSecond = true;
+ everyFrame = true;
+ lateUpdate = false;
+ fixedUpdate = false;
+ }
+
+ public override void OnPreprocess() {
+ Fsm.HandleFixedUpdate = true;
+ }
+
+ public override void OnEnter() {
+ if ( !everyFrame && !lateUpdate && !fixedUpdate ) {
+ DoTranlate();
+ Finish();
+ }
+ }
+
+ public override void OnUpdate() {
+ if ( !lateUpdate && !fixedUpdate ) {
+ DoTranlate();
+ }
+ }
+
+ public override void OnLateUpdate() {
+ if ( lateUpdate ) {
+ DoTranlate();
+ }
+ if ( !everyFrame ) {
+ Finish();
+ }
+ }
+
+ public override void OnFixedUpdate() {
+ if ( fixedUpdate ) {
+ DoTranlate();
+ }
+ if ( !everyFrame ) {
+ Finish();
+ }
+ }
+
+ void DoTranlate() {
+ var go = Fsm.GetOwnerDefaultTarget(gameObject);
+ var iso_object = go ? go.GetComponent() : null;
+ if ( iso_object ) {
+ var trans = vector.IsNone
+ ? new Vector3(x.Value, y.Value, z.Value)
+ : vector.Value;
+
+ if ( !x.IsNone ) {
+ trans.x = x.Value;
+ }
+ if ( !y.IsNone ) {
+ trans.y = y.Value;
+ }
+ if ( !z.IsNone ) {
+ trans.z = z.Value;
+ }
+
+ iso_object.position = iso_object.position +
+ trans * (perSecond ? Time.deltaTime : 1.0f);
+ }
+ }
+ }
+} // IsoTools.PlayMaker.Actions
\ No newline at end of file
diff --git a/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs.meta b/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs.meta
new file mode 100644
index 0000000..88cd1ee
--- /dev/null
+++ b/Assets/IsoTools/PlayMaker/Actions/IsoTranslate.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8c3a921d0e1aa47508856f6a97dc99f8
+timeCreated: 1449997832
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: