Laser Update refactor
This commit is contained in:
parent
0a3ef327b3
commit
1945ada3d8
2 changed files with 257 additions and 31 deletions
|
@ -121,6 +121,75 @@ NavMeshSettings:
|
||||||
debug:
|
debug:
|
||||||
m_Flags: 0
|
m_Flags: 0
|
||||||
m_NavMeshData: {fileID: 0}
|
m_NavMeshData: {fileID: 0}
|
||||||
|
--- !u!1001 &178750765
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 6460630409594600933, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Charge Point (1)
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -2.3136568
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 2.7764423
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3}
|
||||||
--- !u!1 &519420028
|
--- !u!1 &519420028
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -204,6 +273,75 @@ Transform:
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &1261279073
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -5.079479
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 1.5528967
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6403035724002954929, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Wall
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, type: 3}
|
||||||
--- !u!1001 &1563259683
|
--- !u!1001 &1563259683
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -254,7 +392,7 @@ PrefabInstance:
|
||||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 2
|
value: 5
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
@ -333,7 +471,7 @@ PrefabInstance:
|
||||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 4
|
value: 6
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
@ -357,6 +495,75 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3}
|
||||||
|
--- !u!1001 &2082153622
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 6460630409594600933, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Charge Point
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -7.136117
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.16716063
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6460630409594600935, guid: 32fa01a5337b60d44bdc2573fd3ebe3f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 32fa01a5337b60d44bdc2573fd3ebe3f, type: 3}
|
||||||
--- !u!1 &2114209081
|
--- !u!1 &2114209081
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -438,7 +645,7 @@ Transform:
|
||||||
m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
|
m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 7
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &2114209084
|
--- !u!114 &2114209084
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
@ -534,7 +741,7 @@ PrefabInstance:
|
||||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 1
|
value: 4
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|
|
@ -20,49 +20,68 @@ public class Laser : MonoBehaviour
|
||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
laserLine.SetPosition(0, transform.position);
|
RaycastHit2D hit = DrawLaser(transform.position);
|
||||||
|
HandleHit(hit);
|
||||||
|
}
|
||||||
|
|
||||||
|
RaycastHit2D DrawLaser(Vector3 startPosition)
|
||||||
|
{
|
||||||
|
laserLine.SetPosition(0, startPosition);
|
||||||
RaycastHit2D hit;
|
RaycastHit2D hit;
|
||||||
|
|
||||||
if (isHorizontal)
|
if (isHorizontal)
|
||||||
{
|
{
|
||||||
float endpointY = flipDirection ? transform.position.y - maxDistance : transform.position.y + maxDistance;
|
float endpointY = flipDirection ? startPosition.y - maxDistance : startPosition.y + maxDistance;
|
||||||
hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.down : Vector2.up);
|
hit = Physics2D.Raycast(startPosition, flipDirection ? Vector2.down : Vector2.up);
|
||||||
|
|
||||||
if (hit.collider) laserLine.SetPosition(1, hit.point);
|
if (hit.collider) laserLine.SetPosition(1, hit.point);
|
||||||
else laserLine.SetPosition(1, new Vector3(transform.position.x, endpointY, 0));
|
else laserLine.SetPosition(1, new Vector3(startPosition.x, endpointY, 0));
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
float endpointX = flipDirection ? transform.position.x - maxDistance : transform.position.x + maxDistance;
|
float endpointX = flipDirection ? startPosition.x - maxDistance : startPosition.x + maxDistance;
|
||||||
hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.left : Vector2.right);
|
hit = Physics2D.Raycast(startPosition, flipDirection ? Vector2.left : Vector2.right);
|
||||||
|
|
||||||
if (hit.collider) laserLine.SetPosition(1, hit.point);
|
if (hit.collider) laserLine.SetPosition(1, hit.point);
|
||||||
else laserLine.SetPosition(1, new Vector3(endpointX, transform.position.y, 0));
|
else laserLine.SetPosition(1, new Vector3(endpointX, startPosition.y, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return hit;
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleHit(RaycastHit2D hit)
|
||||||
|
{
|
||||||
if (hit.collider)
|
if (hit.collider)
|
||||||
{
|
{
|
||||||
if (hit.collider.tag == "Mirror")
|
if (hit.collider.tag == "Mirror") HitMirror(hit);
|
||||||
|
if (hit.collider.tag == "Charge Point") HitChargePoint(hit);
|
||||||
|
}
|
||||||
|
else HitNothing();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HitMirror(RaycastHit2D hit)
|
||||||
{
|
{
|
||||||
Debug.Log("Hit Mirror");
|
|
||||||
if (isHorizontal)
|
if (isHorizontal)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (hit.collider.tag == "Charge Point")
|
|
||||||
|
void HitChargePoint(RaycastHit2D hit)
|
||||||
{
|
{
|
||||||
if (hit.collider.gameObject != lastChargePoint) hit.collider.GetComponent<ChargePoint>().adjustCharges(power);
|
if (hit.collider.gameObject != lastChargePoint) hit.collider.GetComponent<ChargePoint>().adjustCharges(power);
|
||||||
lastChargePoint = hit.collider.gameObject;
|
lastChargePoint = hit.collider.gameObject;
|
||||||
}
|
}
|
||||||
} else
|
|
||||||
|
void HitNothing()
|
||||||
{
|
{
|
||||||
if (lastChargePoint) lastChargePoint.GetComponent<ChargePoint>().adjustCharges(power * -1);
|
if (lastChargePoint) lastChargePoint.GetComponent<ChargePoint>().adjustCharges(power * -1);
|
||||||
lastChargePoint = null;
|
lastChargePoint = null;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void OnDrawGizmosSelected()
|
void OnDrawGizmosSelected()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue