|
@@ -51,32 +51,70 @@ public class CameraController : MonoBehaviour
|
|
|
ratio = maxView / (splitDistance - minDistance);
|
|
ratio = maxView / (splitDistance - minDistance);
|
|
|
//
|
|
//
|
|
|
|
|
|
|
|
- if (PlayersInput.instance[0] == null)
|
|
|
|
|
|
|
+ PlayerController player0 = PlayersInput.instance[0];
|
|
|
|
|
+ PlayerController player1 = PlayersInput.instance[1];
|
|
|
|
|
+
|
|
|
|
|
+ if (player0 == null)
|
|
|
{
|
|
{
|
|
|
targetPos = Vector3.zero + new Vector3(0, offsetY, offsetZ);
|
|
targetPos = Vector3.zero + new Vector3(0, offsetY, offsetZ);
|
|
|
}
|
|
}
|
|
|
- else if (PlayersInput.instance[1] == PlayersInput.instance[0])
|
|
|
|
|
|
|
+ else if (player1 == player0)
|
|
|
{
|
|
{
|
|
|
- targetPos = CameraTargetMove(PlayersInput.instance[0]);
|
|
|
|
|
|
|
+ if (player0.isRevive)
|
|
|
|
|
+ {
|
|
|
|
|
+ targetPos = new Vector3(140, offsetY, offsetZ);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ targetPos = CameraTargetMove(player0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- Vector3 player0Pos = PlayersInput.instance[0].transform.position;
|
|
|
|
|
- Vector3 player1Pos = PlayersInput.instance[1].transform.position;
|
|
|
|
|
|
|
+ if(player0.isRevive && player1.isRevive)
|
|
|
|
|
+ {
|
|
|
|
|
+ targetPos = new Vector3(140, offsetY, offsetZ);
|
|
|
|
|
+ if (isSplit)
|
|
|
|
|
+ {
|
|
|
|
|
+ CameraSplit(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (player0.isRevive)
|
|
|
|
|
+ {
|
|
|
|
|
+ targetPos = CameraTargetMove(player1);
|
|
|
|
|
+ if (isSplit)
|
|
|
|
|
+ {
|
|
|
|
|
+ CameraSplit(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (player1.isRevive)
|
|
|
|
|
+ {
|
|
|
|
|
+ targetPos = CameraTargetMove(player0);
|
|
|
|
|
+ if (isSplit)
|
|
|
|
|
+ {
|
|
|
|
|
+ CameraSplit(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ Vector3 player0Pos = player0.transform.position;
|
|
|
|
|
+ Vector3 player1Pos = player1.transform.position;
|
|
|
distance = Vector3.Distance(player0Pos, player1Pos);
|
|
distance = Vector3.Distance(player0Pos, player1Pos);
|
|
|
|
|
|
|
|
if (player0Pos.x < player1Pos.x)
|
|
if (player0Pos.x < player1Pos.x)
|
|
|
{
|
|
{
|
|
|
- leftTargetPos = CameraTargetMove(PlayersInput.instance[0]);
|
|
|
|
|
|
|
+ leftTargetPos = CameraTargetMove(player0);
|
|
|
leftID = 0;
|
|
leftID = 0;
|
|
|
- rightTargetPos = CameraTargetMove(PlayersInput.instance[1]);
|
|
|
|
|
|
|
+ rightTargetPos = CameraTargetMove(player1);
|
|
|
rightID = 1;
|
|
rightID = 1;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- leftTargetPos = CameraTargetMove(PlayersInput.instance[1]);
|
|
|
|
|
|
|
+ leftTargetPos = CameraTargetMove(player1);
|
|
|
leftID = 1;
|
|
leftID = 1;
|
|
|
- rightTargetPos = CameraTargetMove(PlayersInput.instance[0]);
|
|
|
|
|
|
|
+ rightTargetPos = CameraTargetMove(player0);
|
|
|
rightID = 0;
|
|
rightID = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -85,13 +123,7 @@ public class CameraController : MonoBehaviour
|
|
|
{
|
|
{
|
|
|
if (isSplit)
|
|
if (isSplit)
|
|
|
{
|
|
{
|
|
|
- mainCamera.enabled = true;
|
|
|
|
|
- leftCamera.enabled = false;
|
|
|
|
|
- rightCamera.enabled = false;
|
|
|
|
|
- lineInCamera.SetActive(false);
|
|
|
|
|
- isSplit = false;
|
|
|
|
|
- PlayersInput.instance[0].RapidReplyMp(rapidMpReplySpeed);
|
|
|
|
|
- PlayersInput.instance[1].RapidReplyMp(rapidMpReplySpeed);
|
|
|
|
|
|
|
+ CameraSplit(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -105,13 +137,7 @@ public class CameraController : MonoBehaviour
|
|
|
{
|
|
{
|
|
|
if (!isSplit)
|
|
if (!isSplit)
|
|
|
{
|
|
{
|
|
|
- mainCamera.enabled = false;
|
|
|
|
|
- leftCamera.enabled = true;
|
|
|
|
|
- rightCamera.enabled = true;
|
|
|
|
|
- lineInCamera.SetActive(true);
|
|
|
|
|
- isSplit = true;
|
|
|
|
|
- PlayersInput.instance[0].NormalReplyMp();
|
|
|
|
|
- PlayersInput.instance[1].NormalReplyMp();
|
|
|
|
|
|
|
+ CameraSplit(false);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -150,7 +176,29 @@ public class CameraController : MonoBehaviour
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ public void CameraSplit(bool flag)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (flag)
|
|
|
|
|
+ {
|
|
|
|
|
+ mainCamera.enabled = true;
|
|
|
|
|
+ leftCamera.enabled = false;
|
|
|
|
|
+ rightCamera.enabled = false;
|
|
|
|
|
+ lineInCamera.SetActive(false);
|
|
|
|
|
+ isSplit = false;
|
|
|
|
|
+ PlayersInput.instance[0].RapidReplyMp(rapidMpReplySpeed);
|
|
|
|
|
+ PlayersInput.instance[1].RapidReplyMp(rapidMpReplySpeed);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ mainCamera.enabled = false;
|
|
|
|
|
+ leftCamera.enabled = true;
|
|
|
|
|
+ rightCamera.enabled = true;
|
|
|
|
|
+ lineInCamera.SetActive(true);
|
|
|
|
|
+ isSplit = true;
|
|
|
|
|
+ PlayersInput.instance[0].NormalReplyMp();
|
|
|
|
|
+ PlayersInput.instance[1].NormalReplyMp();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
Vector3 CameraTargetMove(PlayerController player)
|
|
Vector3 CameraTargetMove(PlayerController player)
|
|
|
{
|
|
{
|
|
|
Vector3 skewPos;
|
|
Vector3 skewPos;
|