Full Rotator Sync
This commit is contained in:
@@ -9,6 +9,7 @@ using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
public class Client : MonoBehaviour
|
||||
{
|
||||
@@ -290,6 +291,44 @@ public class Client : MonoBehaviour
|
||||
}
|
||||
players[job.data[3]].AddCoins(amount);
|
||||
break;
|
||||
case 14:
|
||||
int type = job.data[9];
|
||||
RandomRotator rotator = uiHandler.rotator.GetComponent<RandomRotator>();
|
||||
switch (type)
|
||||
{
|
||||
case 0:
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int option = job.data[i + 1];
|
||||
int value = job.data[i + 5];
|
||||
|
||||
switch (option)
|
||||
{
|
||||
case 0:
|
||||
rotator.SetOptionsText(i, value + " Coins");
|
||||
break;
|
||||
case 1:
|
||||
rotator.SetOptionsText(i, "-" + value + " Coins");
|
||||
break;
|
||||
case 2:
|
||||
rotator.SetOptionsText(i, "Random Item");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
uiHandler.ActivateRotator();
|
||||
rotator.StartRandom();
|
||||
break;
|
||||
case 15:
|
||||
RandomRotator rotator2 = uiHandler.rotator.GetComponent<RandomRotator>();
|
||||
rotator2.Stop(job.data[1]);
|
||||
Invoke("ActivateLayout1", 3.5f);
|
||||
break;
|
||||
|
||||
case 126:
|
||||
stream.Write(new byte[]{126, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 10);
|
||||
break;
|
||||
@@ -301,6 +340,11 @@ public class Client : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void ActivateLayout1()
|
||||
{
|
||||
uiHandler.ActivateLayout1();
|
||||
}
|
||||
|
||||
private void Activate(int player)
|
||||
{
|
||||
for (int i = 0; i < players.Length; i++)
|
||||
@@ -402,9 +446,33 @@ public class Client : MonoBehaviour
|
||||
if (amount < 0)
|
||||
{
|
||||
isPositive = 0;
|
||||
amount *= -1;
|
||||
}
|
||||
|
||||
|
||||
stream.Write(new byte[]{13, isPositive, (byte)amount, 0, 0, 0, 0, 0, 0, 0});
|
||||
}
|
||||
|
||||
/*
|
||||
* OPT:
|
||||
* 0 = Get Coins
|
||||
* 1 = Loose Coins
|
||||
* 2 = Get Item (Random)
|
||||
* 3 = Loose Item (Random)
|
||||
*
|
||||
* VAL:
|
||||
* value of each option (not needed = 0)
|
||||
*
|
||||
* TYPE:
|
||||
* 0 = Pink Field
|
||||
*/
|
||||
public void SendStartRotator(int opt1, int opt2, int opt3, int opt4, int val1, int val2, int val3, int val4, int type)
|
||||
{
|
||||
stream.Write(new byte[]{14, (byte)opt1, (byte)opt2, (byte)opt3, (byte)opt4, (byte)val1, (byte)val2, (byte)val3, (byte)val4, (byte)type});
|
||||
}
|
||||
|
||||
public void SendStopRotator(int stopIndex)
|
||||
{
|
||||
stream.Write(new byte[]{15, (byte)stopIndex, 0, 0, 0, 0, 0, 0, 0, 0});
|
||||
}
|
||||
}
|
||||
@@ -270,7 +270,8 @@ public class PlayablePlayer : Player
|
||||
rotator.SetOptionsText(3, "Random Item");
|
||||
|
||||
rotator.StartRandom();
|
||||
|
||||
client.SendStartRotator(0, 0, 1, 2, randCoins1, randCoins2, -randCoins3, 0, 0);
|
||||
|
||||
int randomOption = Random.Range(0, 4);
|
||||
switch (randomOption)
|
||||
{
|
||||
@@ -489,6 +490,7 @@ public class PlayablePlayer : Player
|
||||
|
||||
private void StopRotator()
|
||||
{
|
||||
client.SendStopRotator(rotatorStopIndex);
|
||||
rotator.Stop(rotatorStopIndex);
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ public class RandomRotator : MonoBehaviour
|
||||
private float lastTimeSwitched = 0;
|
||||
private int stopIndex = 0;
|
||||
public UIHandler uiHandler;
|
||||
private bool ended = false;
|
||||
|
||||
public void SetOptionsText(int index, string text)
|
||||
{
|
||||
@@ -45,31 +46,35 @@ public class RandomRotator : MonoBehaviour
|
||||
lastTimeSwitched = Time.time;
|
||||
ColorOption(currentIndex);
|
||||
currentIndex++;
|
||||
if (currentIndex > options.Length)
|
||||
if (currentIndex >= options.Length)
|
||||
{
|
||||
currentIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if(!ended)
|
||||
{
|
||||
if (currentIndex != stopIndex)
|
||||
{
|
||||
if (Time.time - lastTimeSwitched > slowDown)
|
||||
{
|
||||
slowDown += 0.2f;
|
||||
slowDown += 0.05f;
|
||||
lastTimeSwitched = Time.time;
|
||||
ColorOption(currentIndex);
|
||||
currentIndex++;
|
||||
if (currentIndex > options.Length)
|
||||
if (currentIndex >= options.Length)
|
||||
{
|
||||
currentIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if(currentIndex == stopIndex)
|
||||
{
|
||||
ColorOption(stopIndex);
|
||||
if (Time.time - lastTimeSwitched > slowDown)
|
||||
{
|
||||
ColorOption(stopIndex);
|
||||
ended = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,6 +83,7 @@ public class RandomRotator : MonoBehaviour
|
||||
{
|
||||
lastTimeSwitched = Time.time;
|
||||
started = true;
|
||||
ended = false;
|
||||
}
|
||||
|
||||
public void Stop(int index)
|
||||
|
||||
Reference in New Issue
Block a user