Smooth Camera and Room Exist check

This commit is contained in:
brausjonas
2023-01-28 11:32:12 +01:00
parent cf9a17a8ff
commit fc84f233ec
18 changed files with 172 additions and 83 deletions
+9 -2
View File
@@ -6,6 +6,7 @@ using System.Net.Sockets;
using System.Text;
using System.Threading;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Client : MonoBehaviour
{
@@ -55,6 +56,7 @@ public class Client : MonoBehaviour
script.client = this;
script.nextField = nextField;
script.dice = dice;
script.camera = cam;
script.Init();
}
//player is not playable
@@ -68,6 +70,7 @@ public class Client : MonoBehaviour
players[job.data[5]] = script;
script.nextField = nextField;
script.dice = dice;
script.camera = cam;
script.Init();
}
break;
@@ -84,6 +87,10 @@ public class Client : MonoBehaviour
case 4:
((NoPlayablePlayer)players[job.data[1]]).ArrowSelect(job.data[2]);
break;
case 127:
client.Close();
SceneManager.LoadScene(0, LoadSceneMode.Single);
break;
}
}
}
@@ -105,8 +112,8 @@ public class Client : MonoBehaviour
}
}
cam.transform.parent = players[player].transform;
cam.transform.localPosition = new Vector3(-3, 8, 7);
// cam.transform.parent = players[player].transform;
// cam.transform.localPosition = new Vector3(-3, 8, 7);
}
@@ -29,6 +29,7 @@ public class NoPlayablePlayer : Player
public void Wurfeln(int wurfelZahl)
{
wurfelt = true;
this.wurfelZahl = wurfelZahl;
//nächstes Feld anvisieren
TargetNextField();
@@ -52,18 +53,21 @@ public class NoPlayablePlayer : Player
wait = false;
}
private void FixedUpdate()
{
if (activated)
{
camera.transform.position = Vector3.SmoothDamp(camera.transform.position, transform.position + cameraOffset, ref velocity, 0.2f);
if (!wait)
{
//Laufe zum nöchsten Feld, falls noch Züge übrig sind
if (interPol < 1 && wurfelZahl > 0)
{
//delay
if (Time.time - timeSinceWurfeln > 1)
if (Time.time - timeSinceWurfeln > 2)
{
InterPolerate();
}
@@ -82,10 +86,13 @@ public class NoPlayablePlayer : Player
//Der Spieler steht gerade
else
{
//start the dice
dice.transform.position = Vector3.SmoothDamp(dice.transform.position,
transform.position + Vector3.up * 2, ref useLess, 0.2f);
diceScript.StartRandom();
if (!wurfelt)
{
//start the dice
dice.transform.position = Vector3.SmoothDamp(dice.transform.position,
transform.position + Vector3.up * 2, ref useLess, 0.2f);
diceScript.StartRandom();
}
}
}
else
@@ -18,6 +18,7 @@ public class PlayablePlayer : Player
private float timeSinceWurfeln = 0;
private float timeSinceStop = 0;
private Vector3 useLess = new Vector3();
@@ -59,13 +60,15 @@ public class PlayablePlayer : Player
{
if (activated)
{
camera.transform.position = Vector3.SmoothDamp(camera.transform.position, transform.position + cameraOffset, ref velocity, 0.2f);
if (!wait)
{
//Laufe zum nöchsten Feld, falls noch Züge übrig sind
if (interPol < 1 && wurfelZahl > 0)
{
//delay
if (Time.time - timeSinceWurfeln > 1)
if (Time.time - timeSinceWurfeln > 2)
{
InterPolerate();
}
@@ -84,17 +87,19 @@ public class PlayablePlayer : Player
//Der Spieler steht gerade
else
{
//start the dice
dice.transform.position = Vector3.SmoothDamp(dice.transform.position,
transform.position + Vector3.up * 2, ref useLess, 0.2f);
diceScript.StartRandom();
//TODO: temp spieler finsihed erst, wenn field action ausgeführt wurde
if (wurfelt)
{
client.SendFinished();
Invoke("Finish", 2);
activated = false;
}
else
{
//start the dice
dice.transform.position = Vector3.SmoothDamp(dice.transform.position,
transform.position + Vector3.up * 2, ref useLess, 0.2f);
diceScript.StartRandom();
}
}
}
else
@@ -157,5 +162,9 @@ public class PlayablePlayer : Player
transform.position = new Vector3(nextPoint.x, transform.position.y, nextPoint.z);
interPol += (Time.deltaTime * speed) / Mathf.Abs(Vector3.Distance(moveTo, lastPos));
}
private void Finish()
{
client.SendFinished();
}
}
@@ -7,6 +7,11 @@ public class Player : MonoBehaviour
public bool activated = false;
protected bool wurfelt = false;
public GameObject camera;
protected Vector3 velocity = Vector3.zero;
protected Vector3 cameraOffset = new Vector3(-5.81f, 8.13f, 7.6f);
//Aktiviert den Player
public void Activate()
{
@@ -13,6 +13,9 @@ public class StartHandler : MonoBehaviour
[SerializeField] private GameObject layout1;
[SerializeField] private GameObject layout2;
[SerializeField] private TMP_Text roomCodeEnter;
[SerializeField] private GameObject buttonJoin;
private string roomcode;
private void Start()
{
@@ -20,6 +23,8 @@ public class StartHandler : MonoBehaviour
layout1.SetActive(true);
layout2.SetActive(false);
buttonJoin.SetActive(false);
}
public void ButtonNewRoom()
@@ -41,6 +46,7 @@ public class StartHandler : MonoBehaviour
string code = Encoding.ASCII.GetString(readMessage);
PlayerPrefs.SetString("roomcode", code);
roomcode = code;
PlayerPrefs.Save();
layout2.GetComponentInChildren<TMP_Text>().text = "Your room code is: \n" + code;
@@ -49,6 +55,7 @@ public class StartHandler : MonoBehaviour
public void ButtonJoin()
{
string code = roomCodeEnter.text;
roomcode = code;
PlayerPrefs.SetString("roomcode", code);
PlayerPrefs.Save();
@@ -58,6 +65,9 @@ public class StartHandler : MonoBehaviour
public void ButtonJoin2()
{
PlayerPrefs.SetString("roomcode", roomcode);
PlayerPrefs.Save();
SceneManager.LoadScene(1, LoadSceneMode.Single);
client.Close();
}
@@ -72,4 +82,16 @@ public class StartHandler : MonoBehaviour
{
GUIUtility.systemCopyBuffer = PlayerPrefs.GetString("roomcode");
}
public void OnTextHasChanged(string s)
{
if (s.Length >= 10)
{
buttonJoin.SetActive(true);
}
else
{
buttonJoin.SetActive(false);
}
}
}