mirror of
https://github.com/BlackMATov/unity-iso-tools.git
synced 2025-12-14 17:09:31 +07:00
New PlayMaker actions: GetMouseIsoPosition and GetMouseIsoTilePosition
This commit is contained in:
@@ -102,7 +102,7 @@ Prefab:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 1.3000001
|
||||
value: 1.4000001
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@@ -443,6 +443,8 @@ MonoBehaviour:
|
||||
- IsoTools.PlayMaker.Actions.IsoTranslate
|
||||
- IsoTools.PlayMaker.Actions.IsoGetPosition
|
||||
- IsoTools.PlayMaker.Actions.IsoGetSize
|
||||
- IsoTools.PlayMaker.Actions.IsoGetMouseIsoTilePosition
|
||||
- IsoTools.PlayMaker.Actions.IsoGetMouseIsoPosition
|
||||
- IsoTools.PlayMaker.Actions.IsoGetMode
|
||||
- HutongGames.PlayMaker.Actions.Wait
|
||||
- IsoTools.PlayMaker.Actions.IsoConvertIsometricToScreen
|
||||
@@ -457,12 +459,26 @@ MonoBehaviour:
|
||||
-
|
||||
-
|
||||
-
|
||||
actionEnabled: 0101010101010101
|
||||
actionIsOpen: 0000000101010100
|
||||
actionStartIndex: 00000000090000000f00000015000000170000001a0000001e00000023000000
|
||||
actionHashCodes: 8ef876007ebd02027ebd0202672cde0348c0110184d171054627a803490c8701
|
||||
-
|
||||
-
|
||||
actionEnabled: 01010101010101010101
|
||||
actionIsOpen: 00000001010101010100
|
||||
actionStartIndex: 00000000090000000f000000150000001d00000025000000270000002a0000003000000038000000
|
||||
actionHashCodes: 8ef876007ebd02027ebd02021dc7a9001dc7a900672cde0348c0110105efec04a946b005490c8701
|
||||
unityObjectParams: []
|
||||
fsmGameObjectParams: []
|
||||
fsmGameObjectParams:
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: {fileID: 0}
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: {fileID: 0}
|
||||
fsmOwnerDefaultParams:
|
||||
- ownerOption: 0
|
||||
gameObject:
|
||||
@@ -488,6 +504,22 @@ MonoBehaviour:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: {fileID: 0}
|
||||
- ownerOption: 1
|
||||
gameObject:
|
||||
useVariable: 0
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: {fileID: 600542277}
|
||||
- ownerOption: 1
|
||||
gameObject:
|
||||
useVariable: 0
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: {fileID: 600542277}
|
||||
- ownerOption: 0
|
||||
gameObject:
|
||||
useVariable: 0
|
||||
@@ -591,18 +623,96 @@ MonoBehaviour:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- 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
|
||||
- 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: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
- useVariable: 1
|
||||
name:
|
||||
tooltip:
|
||||
showInInspector: 0
|
||||
networkSync: 0
|
||||
value: 0
|
||||
fsmIntParams: []
|
||||
fsmBoolParams:
|
||||
- useVariable: 1
|
||||
@@ -643,6 +753,18 @@ MonoBehaviour:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
- useVariable: 1
|
||||
name: mouse_iso_tile
|
||||
tooltip:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
- useVariable: 1
|
||||
name: mouse_iso_pos
|
||||
tooltip:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
- useVariable: 1
|
||||
name: iso_position
|
||||
tooltip:
|
||||
@@ -662,12 +784,12 @@ MonoBehaviour:
|
||||
- FINISHED
|
||||
- TO_RESET_POSITION
|
||||
-
|
||||
byteData: 0000000000000100000000
|
||||
byteData: 00000000000000000100000000
|
||||
arrayParamSizes:
|
||||
arrayParamTypes: []
|
||||
customTypeSizes:
|
||||
customTypeNames: []
|
||||
paramDataType: 140000001c0000000f0000000f0000000f00000001000000010000000100000001000000140000001c0000000f0000000f0000000f00000001000000140000001c0000000f0000000f0000000f00000001000000140000002a0000000f0000001700000001000000140000001c000000250000000100000014000000250000000f0000001c00000001000000120000001700000017000000010000000100000011000000
|
||||
paramDataType: 140000001c0000000f0000000f0000000f00000001000000010000000100000001000000140000001c0000000f0000000f0000000f00000001000000140000001c0000000f0000000f0000000f0000000100000014000000130000000f0000001c0000000f0000000f0000000f0000000100000014000000130000000f0000001c0000000f0000000f0000000f00000001000000140000002a0000000f0000001700000001000000140000001c000000250000000f0000000f0000000100000014000000250000000f0000001c0000000f0000000f0000000f00000001000000120000001700000017000000010000000100000011000000
|
||||
paramName:
|
||||
- gameObject
|
||||
- vector
|
||||
@@ -679,30 +801,51 @@ MonoBehaviour:
|
||||
- lateUpdate
|
||||
- fixedUpdate
|
||||
- gameObject
|
||||
- vector
|
||||
- x
|
||||
- y
|
||||
- z
|
||||
- storeVector
|
||||
- storeX
|
||||
- storeY
|
||||
- storeZ
|
||||
- everyFrame
|
||||
- gameObject
|
||||
- vector
|
||||
- x
|
||||
- y
|
||||
- z
|
||||
- storeVector
|
||||
- storeX
|
||||
- storeY
|
||||
- storeZ
|
||||
- everyFrame
|
||||
- gameObject
|
||||
- mode
|
||||
- camera
|
||||
- specificIsometricZ
|
||||
- storeVector
|
||||
- storeX
|
||||
- storeY
|
||||
- storeZ
|
||||
- everyFrame
|
||||
- gameObject
|
||||
- camera
|
||||
- specificIsometricZ
|
||||
- storeVector
|
||||
- storeX
|
||||
- storeY
|
||||
- storeZ
|
||||
- everyFrame
|
||||
- gameObject
|
||||
- storeMode
|
||||
- time
|
||||
- finishEvent
|
||||
- realTime
|
||||
- gameObject
|
||||
- isometricVector
|
||||
- storeScreenVector
|
||||
- storeScreenX
|
||||
- storeScreenY
|
||||
- everyFrame
|
||||
- gameObject
|
||||
- screenVector
|
||||
- specificIsometricZ
|
||||
- storeIsometricVector
|
||||
- storeIsometricX
|
||||
- storeIsometricY
|
||||
- storeIsometricZ
|
||||
- everyFrame
|
||||
- expression
|
||||
- isTrueEvent
|
||||
@@ -710,8 +853,8 @@ MonoBehaviour:
|
||||
- everyFrame
|
||||
- rawResult
|
||||
- storeResult
|
||||
paramDataPos: 00000000000000000000000001000000020000000000000001000000020000000300000001000000010000000300000004000000050000000400000002000000020000000600000007000000080000000500000003000000000000000900000000000000060000000400000003000000000000000700000005000000010000000a0000000400000008000000000000000100000002000000090000000a00000000000000
|
||||
paramByteDataSize: 0000000000000000000000000000000000000000010000000100000001000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000010000000100000000000000
|
||||
paramDataPos: 000000000000000000000000010000000200000000000000010000000200000003000000010000000100000003000000040000000500000004000000020000000200000006000000070000000800000005000000030000000000000009000000030000000a0000000b0000000c0000000600000004000000010000000d000000040000000e0000000f00000010000000070000000500000000000000110000000000000008000000060000000500000000000000120000001300000009000000070000000100000014000000060000001500000016000000170000000a0000000000000001000000020000000b0000000c00000000000000
|
||||
paramByteDataSize: 0000000000000000000000000000000000000000010000000100000001000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000010000000100000000000000
|
||||
- name: State 3
|
||||
description:
|
||||
colorIndex: 0
|
||||
@@ -1047,6 +1190,18 @@ MonoBehaviour:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
- useVariable: 1
|
||||
name: mouse_iso_pos
|
||||
tooltip:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
- useVariable: 1
|
||||
name: mouse_iso_tile
|
||||
tooltip:
|
||||
showInInspector: 1
|
||||
networkSync: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
colorVariables: []
|
||||
rectVariables: []
|
||||
quaternionVariables: []
|
||||
@@ -1065,7 +1220,7 @@ MonoBehaviour:
|
||||
intValue: 0
|
||||
categories:
|
||||
-
|
||||
variableCategoryIDs: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
variableCategoryIDs: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
description:
|
||||
docUrl:
|
||||
showStateLabel: 1
|
||||
@@ -1108,7 +1263,7 @@ Prefab:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 1.4000001
|
||||
value: 1.3000001
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@@ -1166,7 +1321,7 @@ Prefab:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 1.1
|
||||
value: 1.2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@@ -1325,7 +1480,7 @@ Prefab:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 1.2
|
||||
value: 1.1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
|
||||
propertyPath: m_LocalRotation.x
|
||||
|
||||
77
Assets/IsoTools/PlayMaker/Actions/IsoGetMouseIsoPosition.cs
Normal file
77
Assets/IsoTools/PlayMaker/Actions/IsoGetMouseIsoPosition.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using UnityEngine;
|
||||
using HutongGames.PlayMaker;
|
||||
|
||||
namespace IsoTools.PlayMaker.Actions {
|
||||
[ActionCategory("IsoTools")]
|
||||
[HutongGames.PlayMaker.Tooltip(
|
||||
"Gets a mouse isometric position.")]
|
||||
public class IsoGetMouseIsoPosition : IsoComponentAction<IsoWorld> {
|
||||
[RequiredField]
|
||||
[CheckForComponent(typeof(IsoWorld))]
|
||||
[HutongGames.PlayMaker.Title("IsoWorld (In)")]
|
||||
public FsmOwnerDefault gameObject;
|
||||
|
||||
[CheckForComponent(typeof(Camera))]
|
||||
[HutongGames.PlayMaker.Title("Camera (In)")]
|
||||
[HutongGames.PlayMaker.Tooltip("Specific camera or main camera for 'None'.")]
|
||||
public FsmGameObject camera;
|
||||
|
||||
[HutongGames.PlayMaker.Title("Specific Isometric Z (In)")]
|
||||
[HutongGames.PlayMaker.Tooltip("Specific Isometric Z or 0.0f for 'None'")]
|
||||
public FsmFloat specificIsometricZ;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Position (Out)")]
|
||||
public FsmVector3 storeVector;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Position X (Out)")]
|
||||
public FsmFloat storeX;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Position Y (Out)")]
|
||||
public FsmFloat storeY;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Position Z (Out)")]
|
||||
public FsmFloat storeZ;
|
||||
|
||||
[HutongGames.PlayMaker.Tooltip("Repeat every frame.")]
|
||||
public bool everyFrame;
|
||||
|
||||
public override void Reset() {
|
||||
gameObject = null;
|
||||
camera = null;
|
||||
specificIsometricZ = null;
|
||||
storeVector = null;
|
||||
storeX = null;
|
||||
storeY = null;
|
||||
storeZ = null;
|
||||
everyFrame = false;
|
||||
}
|
||||
|
||||
public override void OnEnter() {
|
||||
DoAction();
|
||||
if ( !everyFrame ) {
|
||||
Finish();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUpdate() {
|
||||
DoAction();
|
||||
}
|
||||
|
||||
void DoAction() {
|
||||
var go = Fsm.GetOwnerDefaultTarget(gameObject);
|
||||
if ( UpdateCache(go) ) {
|
||||
var value = isoWorld.MouseIsoPosition(
|
||||
camera.IsNone ? Camera.main : camera.Value.GetComponent<Camera>(),
|
||||
specificIsometricZ.IsNone ? 0.0f : specificIsometricZ.Value);
|
||||
storeVector.Value = value;
|
||||
storeX.Value = value.x;
|
||||
storeY.Value = value.y;
|
||||
storeZ.Value = value.z;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // IsoTools.PlayMaker.Actions
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2dffeb7d382404baa9daf01f1da629a1
|
||||
timeCreated: 1450288005
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,77 @@
|
||||
using UnityEngine;
|
||||
using HutongGames.PlayMaker;
|
||||
|
||||
namespace IsoTools.PlayMaker.Actions {
|
||||
[ActionCategory("IsoTools")]
|
||||
[HutongGames.PlayMaker.Tooltip(
|
||||
"Gets a mouse isometric tile position.")]
|
||||
public class IsoGetMouseIsoTilePosition : IsoComponentAction<IsoWorld> {
|
||||
[RequiredField]
|
||||
[CheckForComponent(typeof(IsoWorld))]
|
||||
[HutongGames.PlayMaker.Title("IsoWorld (In)")]
|
||||
public FsmOwnerDefault gameObject;
|
||||
|
||||
[CheckForComponent(typeof(Camera))]
|
||||
[HutongGames.PlayMaker.Title("Camera (In)")]
|
||||
[HutongGames.PlayMaker.Tooltip("Specific camera or main camera for 'None'.")]
|
||||
public FsmGameObject camera;
|
||||
|
||||
[HutongGames.PlayMaker.Title("Specific Isometric Z (In)")]
|
||||
[HutongGames.PlayMaker.Tooltip("Specific Isometric Z or 0.0f for 'None'")]
|
||||
public FsmFloat specificIsometricZ;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Tile Position (Out)")]
|
||||
public FsmVector3 storeVector;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Tile Position X (Out)")]
|
||||
public FsmFloat storeX;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Tile Position Y (Out)")]
|
||||
public FsmFloat storeY;
|
||||
|
||||
[UIHint(UIHint.Variable)]
|
||||
[HutongGames.PlayMaker.Title("Store Tile Position Z (Out)")]
|
||||
public FsmFloat storeZ;
|
||||
|
||||
[HutongGames.PlayMaker.Tooltip("Repeat every frame.")]
|
||||
public bool everyFrame;
|
||||
|
||||
public override void Reset() {
|
||||
gameObject = null;
|
||||
camera = null;
|
||||
specificIsometricZ = null;
|
||||
storeVector = null;
|
||||
storeX = null;
|
||||
storeY = null;
|
||||
storeZ = null;
|
||||
everyFrame = false;
|
||||
}
|
||||
|
||||
public override void OnEnter() {
|
||||
DoAction();
|
||||
if ( !everyFrame ) {
|
||||
Finish();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUpdate() {
|
||||
DoAction();
|
||||
}
|
||||
|
||||
void DoAction() {
|
||||
var go = Fsm.GetOwnerDefaultTarget(gameObject);
|
||||
if ( UpdateCache(go) ) {
|
||||
var value = isoWorld.MouseIsoTilePosition(
|
||||
camera.IsNone ? Camera.main : camera.Value.GetComponent<Camera>(),
|
||||
specificIsometricZ.IsNone ? 0.0f : specificIsometricZ.Value);
|
||||
storeVector.Value = value;
|
||||
storeX.Value = value.x;
|
||||
storeY.Value = value.y;
|
||||
storeZ.Value = value.z;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // IsoTools.PlayMaker.Actions
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 52e132a4a0d844bbd84f8b1fbd61aa12
|
||||
timeCreated: 1450288016
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -35,6 +35,7 @@ namespace IsoTools.PlayMaker.Actions {
|
||||
[HutongGames.PlayMaker.Title("Start Depth (Out)")]
|
||||
public FsmFloat startDepth;
|
||||
|
||||
[HutongGames.PlayMaker.Tooltip("Repeat every frame.")]
|
||||
public bool everyFrame;
|
||||
|
||||
public override void Reset() {
|
||||
|
||||
Reference in New Issue
Block a user