Commit c68027c9 authored by 17김현학's avatar 17김현학

bug fix (Issue #34, #39)

parent 94d4bb6a
......@@ -658,6 +658,7 @@ MonoBehaviour:
wintext: {fileID: 512200287}
_pathUI: {fileID: 1496132462}
levelManager: {fileID: 279236944}
player: {fileID: 739347346}
pathRenderer: {fileID: 948598108}
--- !u!4 &394305456
Transform:
......
......@@ -16,7 +16,6 @@ public class UIManager : MonoBehaviour
LogScaleSlider velocityslider;
[SerializeField]
LogScaleSlider accelslider;
[SerializeField]
private Text interactText;
......@@ -29,7 +28,7 @@ public class UIManager : MonoBehaviour
public Text wintext;
public GameObject _pathUI;
public LevelManager levelManager;
public PlayerMovement player;
public PathRenderer pathRenderer;
private int prevSelectPathNum = -1;
......@@ -157,19 +156,30 @@ public class UIManager : MonoBehaviour
private Vector3 getMouseClickPosition(RaycastHit hit)
{
var tmp = Camera.main.WorldToScreenPoint(hit.point);
return tmp - canvasSize * 0.5f + middlePoint;
var point = Camera.main.WorldToScreenPoint(hit.point);
return point - canvasSize * 0.5f + middlePoint;
}
private Vector3 getDestVector(Vector3 hitVector1, Vector3 hitVector2, int pathNum)
private Vector3 getDestVector(Vector3 ScreenVector, Vector3 RealVector)
{
hitVector1.z = 0;
var v = square.GetDestPoint(pathNum) - hitVector2;
var k = hitVector1.magnitude / hitVector2.magnitude;
RealVector = getXYVectorfromXZVector(RealVector);
var v = square.GetDestPoint(prevSelectPathNum) - RealVector;
var k = ScreenVector.magnitude / RealVector.magnitude;
return k * v;
}
private Vector3 getVectorFromAtoB(Vector3 a, Vector3 b)
{
var ret = b - a;
return ret;
}
private Vector3 getXYVectorfromXZVector(Vector3 v)
{
return new Vector3(v.x, v.z, 0.0f);
}
private void updatePathInfo(GameObject obj, int pathNum)
{
pathName.text = obj.name;
......@@ -196,15 +206,14 @@ public class UIManager : MonoBehaviour
if (pathNum != prevSelectPathNum)
{
prevSelectPathNum = pathNum;
updatePathInfo(obj, pathNum);
var mouseClickPosition = getMouseClickPosition(hit1);
var v = getDestVector(mouseClickPosition - middlePoint, new Vector3(hit2.point.x, hit2.point.z, 0.0f), pathNum);
var v = getDestVector(getVectorFromAtoB(middlePoint, mouseClickPosition), getVectorFromAtoB(player.transform.position, hit2.point));
_pathUI.transform.position = mouseClickPosition + v;
_pathUI.SetActive(true);
prevSelectPathNum = pathNum;
}
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment