diff --git a/Assets/InteractionEngine/CommunicationEvents.cs b/Assets/InteractionEngine/CommunicationEvents.cs index 83ec7a29579a84540eae73b55d4797060e8da840..edfa3b135b8f3c214d8d4101251f03346da65f80 100644 --- a/Assets/InteractionEngine/CommunicationEvents.cs +++ b/Assets/InteractionEngine/CommunicationEvents.cs @@ -59,16 +59,7 @@ public class SignalEvent : UnityEvent { */ public static FactEvent AddFactEvent = new FactEvent(); public static FactEvent RemoveFactEvent = new FactEvent(); - - //public static MouseOverFactEvent HighlightEvent = new MouseOverFactEvent(); - //public static MouseOverFactEvent EndHighlightEvent = new MouseOverFactEvent(); - - public static ShinyEvent StartLineDrawingEvent = new ShinyEvent(); - public static ShinyEvent StopLineDrawingEvent = new ShinyEvent(); - public static ShinyEvent StartCurveDrawingEvent = new ShinyEvent(); - public static ShinyEvent StopCurveDrawingEvent = new ShinyEvent(); - //Event for stopping all previews -> Made When ToolMode is changed - public static ShinyEvent StopPreviewsEvent = new ShinyEvent(); + public static ShinyEvent PushoutFactEvent = new ShinyEvent(); public static ShinyEvent PushoutFactEndEvent = new ShinyEvent(); public static ShinyEvent PushoutFactFailEvent = new ShinyEvent(); @@ -77,8 +68,6 @@ public class SignalEvent : UnityEvent { public static SignalEvent gameNotSucceededEvent = new SignalEvent(); - - //------------------------------------------------------------------------------------ //-------------------------------Global Variables------------------------------------- //Global ActiveToolMode diff --git a/Assets/InteractionEngine/FactManager.cs b/Assets/InteractionEngine/FactManager.cs index 3f2fa82082663763e797d7c0aceac469726e43e0..cb3cc727a7773034d687d0bd21df904679d05a49 100644 --- a/Assets/InteractionEngine/FactManager.cs +++ b/Assets/InteractionEngine/FactManager.cs @@ -18,7 +18,6 @@ public class FactManager : MonoBehaviour // Start is called before the first frame update void Start() { - CommunicationEvents.ToolModeChangedEvent.AddListener(OnToolModeChanged); // CommunicationEvents.SnapEvent.AddListener(Rocket); @@ -242,112 +241,6 @@ public void Rocket(RaycastHit hit) //90degree angle CommunicationEvents.AddFactEvent.Invoke(this.AddAngleFact(idB, idA, idC, GetFirstEmptyID())); } - - //Creating 90-degree Angles - public void SmallRocket(RaycastHit hit, int idA) - { - //enable collider to measure angle to the treetop - - - - int idB = this.GetFirstEmptyID(); - CommunicationEvents.AddFactEvent.Invoke(this.AddPointFact(hit, idB)); - Facts[idB].Representation.GetComponentInChildren<Collider>().enabled = true; - - //third point with unknown height - int idC = this.GetFirstEmptyID(); - var skyHit = hit; - skyHit.point = (Facts[idA] as PointFact).Point + Vector3.up * 20; - CommunicationEvents.AddFactEvent.Invoke(this.AddPointFact(skyHit, idC)); - - //lines - CommunicationEvents.AddFactEvent.Invoke(this.AddLineFact(idA, idB, this.GetFirstEmptyID())); - //lines - CommunicationEvents.AddFactEvent.Invoke(this.AddLineFact(idA, idC, this.GetFirstEmptyID())); - - //90degree angle - CommunicationEvents.AddFactEvent.Invoke(this.AddAngleFact(idB, idA, idC, GetFirstEmptyID())); - }*/ - - public void OnToolModeChanged(ToolMode ActiveToolMode) - { - - //TODO: instead of enabling/disabling colliders we want to change the raycast mask - switch (ActiveToolMode) - { - case ToolMode.MarkPointMode: - //If MarkPointMode is activated we want to have the ability to mark the point - //everywhere, independent of already existing facts - foreach (Fact fact in Facts) - { - - GameObject gO = fact.Representation; - if (gO == null) continue; - if ((gO.layer == LayerMask.NameToLayer("Ray"))) - gO.GetComponentInChildren<Collider>().enabled = true; - } - break; - - case ToolMode.CreateRayMode: - //same as for line mode atm - - case ToolMode.CreateLineMode: - //If CreateLineMode is activated we want to have the ability to select points for the Line - //but we don't want to have the ability to select Lines or Angles - foreach (Fact fact in Facts) - { - GameObject gO = fact.Representation; - if (gO == null) continue; - if (gO.layer == LayerMask.NameToLayer("Line") || gO.layer == LayerMask.NameToLayer("Angle")|| gO.layer == LayerMask.NameToLayer("Ray")) - { - gO.GetComponentInChildren<Collider>().enabled = false; - } - else if (gO.layer == LayerMask.NameToLayer("Point")) - { - gO.GetComponentInChildren<Collider>().enabled = true; - } - } - break; - - - - case ToolMode.CreateAngleMode: - //If CreateAngleMode is activated we want to have the ability to select Points for the Angle - //but we don't want to have the ability to select Lines or Angles - foreach (Fact fact in Facts) - { - GameObject gO = fact.Representation; - if (gO == null) continue; - if (gO.layer == LayerMask.NameToLayer("Line") || gO.layer == LayerMask.NameToLayer("Angle")) - { - gO.GetComponentInChildren<Collider>().enabled = false; - } - else if (gO.layer == LayerMask.NameToLayer("Point")) - { - gO.GetComponentInChildren<Collider>().enabled = true; - } - } - break; - /* - case ToolMode.DeleteMode: - //If DeleteMode is activated we want to have the ability to delete every Fact - //independent of the concrete type of fact - foreach (Fact fact in Facts) - { - GameObject gO = fact.Representation; - gO.GetComponentInChildren<Collider>().enabled = true; - } - break;*/ - case ToolMode.ExtraMode: - /*foreach (Fact fact in Facts) - { - - } - */ - break; - } - //Stop PreviewEvents in ShineThings on ToolModeChange - CommunicationEvents.StopPreviewsEvent.Invoke(null); - } + */ } diff --git a/Assets/InteractionEngine/FactSpawner.cs b/Assets/InteractionEngine/FactSpawner.cs index 79189f1416665ec10dcc7daa006c23325d237440..9b82576dbc7d08a9cc7ed7a33f4e6b4b6052cbad 100644 --- a/Assets/InteractionEngine/FactSpawner.cs +++ b/Assets/InteractionEngine/FactSpawner.cs @@ -54,14 +54,6 @@ public void SpawnPoint(PointFact fact) point.GetComponentInChildren<TextMeshPro>().text = letter; point.GetComponent<FactObject>().Id = fact.Id; fact.Representation = point; - - //If a new Point was spawned -> We are in MarkPointMode -> Then we want the collider to be disabled - //Hint: Thats why by now, if we mark a Point in an other mode than MarkPointMode, the - //Collider will be set disabled - if(CommunicationEvents.ActiveToolMode != ToolMode.ExtraMode) - point.GetComponentInChildren<SphereCollider>().enabled = false; - - } public void SpawnLine(LineFact lineFact) @@ -94,10 +86,6 @@ public void SpawnLine(LineFact lineFact) line.GetComponentInChildren<TextMeshPro>().text = ((Char)(64 + pointFact1.Id + 1)).ToString() + ((Char)(64 + pointFact2.Id + 1)).ToString(); line.GetComponentInChildren<TextMeshPro>().text += " = " + Math.Round((point1-point2).magnitude, 2) + " m"; line.GetComponentInChildren<FactObject>().Id = lineFact.Id; - //If a new Line was spawned -> We are in CreateLineMode -> Then we want the collider to be disabled - if (CommunicationEvents.ActiveToolMode != ToolMode.ExtraMode) - //Deactivate the Collider of the Line itself - line.transform.GetComponentInChildren<BoxCollider>().enabled = false; lineFact.Representation = line; } @@ -139,12 +127,7 @@ public void SpawnRay(RayFact lineFact) line.GetComponentInChildren<TextMeshPro>().text = letter; line.GetComponentInChildren<FactObject>().Id = lineFact.Id; - //If a new Line was spawned -> We are in CreateLineMode -> Then we want the collider to be disabled - if (CommunicationEvents.ActiveToolMode != ToolMode.ExtraMode) - //Deactivate the Collider of the Line itself - line.transform.GetComponentInChildren<BoxCollider>().enabled = false; lineFact.Representation = line; - } //Spawn an angle: point with id = angleFact.Pid2 is the point where the angle gets applied @@ -231,10 +214,6 @@ public void SpawnAngle(AngleFact angleFact) } angle.GetComponentInChildren<FactObject>().Id = angleFact.Id; - //If a new Angle was spawned -> We are in CreateAngleMode -> Then we want the collider to be disabled - if (CommunicationEvents.ActiveToolMode != ToolMode.ExtraMode) - //Deactivate the Collider of the Angle itself - angle.transform.GetComponentInChildren<MeshCollider>().enabled = false; angleFact.Representation = angle; } diff --git a/Assets/AngleTool.cs b/Assets/InteractionEngine/Gadgets/AngleTool.cs similarity index 98% rename from Assets/AngleTool.cs rename to Assets/InteractionEngine/Gadgets/AngleTool.cs index d6db88f1ada18c6ad761024b521f2319f156b25a..47ebeebc7705a0328135fe8b2dd03bda8923c6e7 100644 --- a/Assets/AngleTool.cs +++ b/Assets/InteractionEngine/Gadgets/AngleTool.cs @@ -25,19 +25,20 @@ public class AngleTool : Gadget private Vector3 angleMiddlePoint; private float curveRadius; - //Initialize Gadget when enabled AND activated - void OnEnable() - { - this.ResetGadget(); - } - - void Start() + void Awake() { if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); CommunicationEvents.TriggerEvent.AddListener(OnHit); if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); } + //Initialize Gadget when enabled AND activated + void OnEnable() + { + this.Cursor.setLayerMask(~this.ignoreLayerMask.value); + this.ResetGadget(); + } + public override void OnHit(RaycastHit hit) { if (!this.isActiveAndEnabled) return; diff --git a/Assets/AngleTool.cs.meta b/Assets/InteractionEngine/Gadgets/AngleTool.cs.meta similarity index 100% rename from Assets/AngleTool.cs.meta rename to Assets/InteractionEngine/Gadgets/AngleTool.cs.meta diff --git a/Assets/InteractionEngine/Gadgets/ExtraGadget.cs b/Assets/InteractionEngine/Gadgets/ExtraGadget.cs new file mode 100644 index 0000000000000000000000000000000000000000..f8b389435c9894ebeeb2760cc8a245cf5b741aa5 --- /dev/null +++ b/Assets/InteractionEngine/Gadgets/ExtraGadget.cs @@ -0,0 +1,27 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using static CommunicationEvents; + +public class ExtraGadget : Gadget +{ + public WorldCursor Cursor; + + void Awake() + { + if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); + CommunicationEvents.TriggerEvent.AddListener(OnHit); + if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); + } + + void OnEnable() + { + this.Cursor.setLayerMask(~this.ignoreLayerMask.value); + } + + public override void OnHit(RaycastHit hit) + { + + } + +} diff --git a/Assets/InteractionEngine/Gadgets/ExtraGadget.cs.meta b/Assets/InteractionEngine/Gadgets/ExtraGadget.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..0f1972666f182cc6ac0b07df6df3887428018254 --- /dev/null +++ b/Assets/InteractionEngine/Gadgets/ExtraGadget.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38cd422d38f88564e81d012b615cc77a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/InteractionEngine/Gadgets/Gadget.cs b/Assets/InteractionEngine/Gadgets/Gadget.cs index 587113a3f670e24aad24ac6219b69cce450b0b77..dd8f320ba926b0e756a605c9ddf7b00308e402e4 100644 --- a/Assets/InteractionEngine/Gadgets/Gadget.cs +++ b/Assets/InteractionEngine/Gadgets/Gadget.cs @@ -9,17 +9,14 @@ public class Gadget : MonoBehaviour public ToolMode ToolMode; public Sprite Sprite; public FactManager FactManager; - // Start is called before the first frame update - void Start() + public LayerMask ignoreLayerMask; + + void Awake() { if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); CommunicationEvents.TriggerEvent.AddListener(OnHit); } - public virtual void OnHit(RaycastHit hit) - { - - } - + public virtual void OnHit(RaycastHit hit){} } diff --git a/Assets/LineTool.cs b/Assets/InteractionEngine/Gadgets/LineTool.cs similarity index 91% rename from Assets/LineTool.cs rename to Assets/InteractionEngine/Gadgets/LineTool.cs index ea72df96169808468b6c3d1e3c3a45cfef70bc51..f191b5b6b3778d8d4fdae0cca39250c4a60748df 100644 --- a/Assets/LineTool.cs +++ b/Assets/InteractionEngine/Gadgets/LineTool.cs @@ -16,19 +16,20 @@ public class LineTool : Gadget private List<Vector3> linePositions = new List<Vector3>(); public Material linePreviewMaterial; - //Initialize Gadget when enabled AND activated - void OnEnable() - { - this.ResetGadget(); - } - - void Start() + void Awake() { if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); CommunicationEvents.TriggerEvent.AddListener(OnHit); if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); } + //Initialize Gadget when enabled AND activated + void OnEnable() + { + this.Cursor.setLayerMask(~this.ignoreLayerMask.value); + this.ResetGadget(); + } + public override void OnHit(RaycastHit hit) { if (!this.isActiveAndEnabled) return; @@ -46,14 +47,7 @@ public override void OnHit(RaycastHit hit) //Create LineFact //Check if exactly the same line/distance already exists if (!FactManager.factAlreadyExists(new int[] { this.LineModeFirstPointSelected.Id, tempFact.Id })) - //TODO: That won't work anymore because of gadget-refactoring - if (ActiveToolMode == ToolMode.CreateLineMode) - CommunicationEvents.AddFactEvent.Invoke(FactManager.AddLineFact(this.LineModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); - else - { - CommunicationEvents.AddFactEvent.Invoke(FactManager.AddRayFact(this.LineModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); - - } + CommunicationEvents.AddFactEvent.Invoke(FactManager.AddRayFact(this.LineModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); this.ResetGadget(); } diff --git a/Assets/LineTool.cs.meta b/Assets/InteractionEngine/Gadgets/LineTool.cs.meta similarity index 100% rename from Assets/LineTool.cs.meta rename to Assets/InteractionEngine/Gadgets/LineTool.cs.meta diff --git a/Assets/InteractionEngine/Gadgets/Pointer.cs b/Assets/InteractionEngine/Gadgets/Pointer.cs index c4b859cb21b1da7efab49465fb3cd18b9e7fcd9d..9fe58f5cde14d00d1518afac560db4d164464a25 100644 --- a/Assets/InteractionEngine/Gadgets/Pointer.cs +++ b/Assets/InteractionEngine/Gadgets/Pointer.cs @@ -5,6 +5,26 @@ public class Pointer : Gadget { + public WorldCursor Cursor; + + void Awake() + { + if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); + CommunicationEvents.TriggerEvent.AddListener(OnHit); + if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); + } + + /* + public override void activate() { + this.activated = true; + this.Cursor.setLayerMask(this.layerMask); + } + */ + + void OnEnable() + { + this.Cursor.setLayerMask(~this.ignoreLayerMask.value); + } public override void OnHit(RaycastHit hit) { diff --git a/Assets/Tape.cs b/Assets/InteractionEngine/Gadgets/Tape.cs similarity index 91% rename from Assets/Tape.cs rename to Assets/InteractionEngine/Gadgets/Tape.cs index e29372f2e049a63d4ce75c820215923ad3080b82..2443430baf603e10e00d10fd1acd966305d92f43 100644 --- a/Assets/Tape.cs +++ b/Assets/InteractionEngine/Gadgets/Tape.cs @@ -16,19 +16,20 @@ public class Tape : Gadget private List<Vector3> linePositions = new List<Vector3>(); public Material linePreviewMaterial; - //Initialize Gadget when enabled AND activated - void OnEnable() - { - this.ResetGadget(); - } - - void Start() + void Awake() { if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); CommunicationEvents.TriggerEvent.AddListener(OnHit); if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); } + //Initialize Gadget when enabled AND activated + void OnEnable() + { + this.Cursor.setLayerMask(~this.ignoreLayerMask.value); + this.ResetGadget(); + } + public override void OnHit(RaycastHit hit) { if (!this.isActiveAndEnabled) return; @@ -46,14 +47,8 @@ public override void OnHit(RaycastHit hit) //Create LineFact //Check if exactly the same line/distance already exists if (!FactManager.factAlreadyExists(new int[] { this.TapeModeFirstPointSelected.Id, tempFact.Id })) - //TODO: That won't work anymore because of gadget-refactoring - if (ActiveToolMode == ToolMode.CreateLineMode) - CommunicationEvents.AddFactEvent.Invoke(FactManager.AddLineFact(this.TapeModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); - else - { - CommunicationEvents.AddFactEvent.Invoke(FactManager.AddRayFact(this.TapeModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); - - } + CommunicationEvents.AddFactEvent.Invoke(FactManager.AddLineFact(this.TapeModeFirstPointSelected.Id, tempFact.Id, FactManager.GetFirstEmptyID())); + this.ResetGadget(); } diff --git a/Assets/Tape.cs.meta b/Assets/InteractionEngine/Gadgets/Tape.cs.meta similarity index 100% rename from Assets/Tape.cs.meta rename to Assets/InteractionEngine/Gadgets/Tape.cs.meta diff --git a/Assets/InteractionEngine/WorldCursor.cs b/Assets/InteractionEngine/WorldCursor.cs index cdecea4b150fcfa890db76581c6667c83814ecd2..7618c9174f0b7b7a975b9999d59738fcdcf74503 100644 --- a/Assets/InteractionEngine/WorldCursor.cs +++ b/Assets/InteractionEngine/WorldCursor.cs @@ -11,6 +11,14 @@ public class WorldCursor : MonoBehaviour { public RaycastHit Hit; private Camera Cam; + private int layerMask; + + private void Awake() + { + this.layerMask = LayerMask.GetMask("Player", "TalkingZone"); + //Ignore player and TalkingZone + this.layerMask = ~this.layerMask; + } void Start() { @@ -21,6 +29,10 @@ void Start() CultureInfo.CurrentCulture = new CultureInfo("en-US"); } + public void setLayerMask(int layerMask) { + this.layerMask = layerMask; + } + /// <summary> /// Gets the coordinates of the intersection point of two lines. @@ -56,13 +68,11 @@ public Vector2 GetIntersectionPointCoordinates(Vector2 A1, Vector2 A2, Vector2 B void Update() { Ray ray = Cam.ScreenPointToRay(Input.mousePosition); - - int layerMask = LayerMask.GetMask("Player", "TalkingZone"); - //Ignore player and TalkingZone - layerMask = ~layerMask; + RaycastHit tempHit; - if(Physics.Raycast(ray, out Hit, 30f, layerMask)){ + if(Physics.Raycast(ray, out tempHit, 30f, this.layerMask)){ + this.Hit = tempHit; // Debug.Log(Hit.transform.tag); if (Hit.collider.transform.CompareTag("SnapZone")) { @@ -111,9 +121,10 @@ void Update() } else { + this.Hit = new RaycastHit(); var dist = 10f; - if (Hit.transform!=null) - dist = (Camera.main.transform.position - Hit.transform.position).magnitude; + if (tempHit.transform!=null) + dist = (Camera.main.transform.position - tempHit.transform.position).magnitude; transform.position = Cam.ScreenToWorldPoint(Input.mousePosition + new Vector3(0,0,1) *dist); transform.up = -Cam.transform.forward; } diff --git a/Assets/TreeWorld_02.unity b/Assets/TreeWorld_02.unity index f4e50110578ab97b7019e12836787f46b63651eb..b882dc688eaf5733dbc73b1b7d62d218ae76f832 100644 --- a/Assets/TreeWorld_02.unity +++ b/Assets/TreeWorld_02.unity @@ -21571,6 +21571,11 @@ PrefabInstance: propertyPath: m_Materials.Array.data[0] value: objectReference: {fileID: 2100000, guid: d9c43ce51f1a01d41a18fae03c0d406c, type: 2} + - target: {fileID: 2600518978420199386, guid: 9cb473a50d07f1245b0f6a7ee2557d4f, + type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3052661700889384477, guid: 9cb473a50d07f1245b0f6a7ee2557d4f, type: 3} propertyPath: m_RootOrder @@ -21769,6 +21774,12 @@ Transform: type: 3} m_PrefabInstance: {fileID: 604017021} m_PrefabAsset: {fileID: 0} +--- !u!4 &1160544320 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1085307961, guid: 2ba8d552442ba664e8e567adee683a11, + type: 3} + m_PrefabInstance: {fileID: 2120427836} + m_PrefabAsset: {fileID: 0} --- !u!4 &1161290928 stripped Transform: m_CorrespondingSourceObject: {fileID: 2222111361405018444, guid: 88f2fd29f58b9734683512546acec310, @@ -23706,6 +23717,96 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 494f6d43e170e9145bc7865d243ee00b, type: 3} +--- !u!1001 &1266672920 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1461116882} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.464 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.39499974 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.663414 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalRotation.y + value: -0.38302216 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalRotation.z + value: -0.5566704 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.3213938 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -100 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -120 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalScale.x + value: 0.08 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalScale.y + value: 0.10000001 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_LocalScale.z + value: 0.099999994 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + propertyPath: m_Name + value: hammer + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 77b64dedcbc1d5548b2c91fcda846c48, type: 3} +--- !u!4 &1266672921 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 77b64dedcbc1d5548b2c91fcda846c48, + type: 3} + m_PrefabInstance: {fileID: 1266672920} + m_PrefabAsset: {fileID: 0} --- !u!4 &1267030562 stripped Transform: m_CorrespondingSourceObject: {fileID: 3356751432537613521, guid: ffbddc4ef9676cc419e81e06aaa836d8, @@ -28321,6 +28422,57 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f1fc5bb90ac285e4486771552d63bcb8, type: 3} +--- !u!1 &1461116881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1461116882} + - component: {fileID: 1461116883} + m_Layer: 9 + m_Name: ExtraTool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1461116882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461116881} + 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: + - {fileID: 1266672921} + m_Father: {fileID: 1160544320} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1461116883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461116881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 38cd422d38f88564e81d012b615cc77a, type: 3} + m_Name: + m_EditorClassIdentifier: + ToolMode: 4 + Sprite: {fileID: 21300000, guid: d456617ba2282854d9570dcebcc2b279, type: 3} + FactManager: {fileID: 0} + ignoreLayerMask: + serializedVersion: 2 + m_Bits: 16896 + Cursor: {fileID: 1661088666} --- !u!1001 &1465332558 PrefabInstance: m_ObjectHideFlags: 0 @@ -40471,6 +40623,22 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 37108876, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: Cursor + value: + objectReference: {fileID: 1661088666} + - target: {fileID: 37108876, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: layerMask.m_Bits + value: 8503 + objectReference: {fileID: 0} + - target: {fileID: 37108876, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: complementaryLayerMask.m_Bits + value: 24064 + objectReference: {fileID: 0} + - target: {fileID: 37108876, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: ignoreLayerMask.m_Bits + value: 24064 + objectReference: {fileID: 0} - target: {fileID: 729203331, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} propertyPath: Cursor value: @@ -40483,6 +40651,18 @@ PrefabInstance: propertyPath: anglePreviewMaterial value: objectReference: {fileID: 2100000, guid: 8a28cccde2536794c97ec91954e34e90, type: 2} + - target: {fileID: 729203331, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: layerMask.m_Bits + value: 1335 + objectReference: {fileID: 0} + - target: {fileID: 729203331, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: complementaryLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} + - target: {fileID: 729203331, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: ignoreLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} - target: {fileID: 1085307962, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} propertyPath: GadgetUI value: @@ -40499,6 +40679,23 @@ PrefabInstance: propertyPath: linePreviewMaterial value: objectReference: {fileID: 2100000, guid: a8a7bf60a30970f469a9c9d3ae2de6ef, type: 2} + - target: {fileID: 1111866520, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: Sprite + value: + objectReference: {fileID: 21300000, guid: fa8323d8b52054c46b24fc9a0040caa3, + type: 3} + - target: {fileID: 1111866520, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: layerMask.m_Bits + value: 1335 + objectReference: {fileID: 0} + - target: {fileID: 1111866520, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: complementaryLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} + - target: {fileID: 1111866520, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: ignoreLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} - target: {fileID: 1947773663, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} propertyPath: lineRenderer value: @@ -40507,6 +40704,22 @@ PrefabInstance: propertyPath: linePreviewMaterial value: objectReference: {fileID: 2100000, guid: a8a7bf60a30970f469a9c9d3ae2de6ef, type: 2} + - target: {fileID: 1947773663, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: Cursor + value: + objectReference: {fileID: 1661088666} + - target: {fileID: 1947773663, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: layerMask.m_Bits + value: 1335 + objectReference: {fileID: 0} + - target: {fileID: 1947773663, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: complementaryLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} + - target: {fileID: 1947773663, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} + propertyPath: ignoreLayerMask.m_Bits + value: 31232 + objectReference: {fileID: 0} - target: {fileID: 2198523595365450379, guid: 2ba8d552442ba664e8e567adee683a11, type: 3} propertyPath: m_LocalPosition.x