StarSystem
Stars With switching positions (Bought stars are not saved or shown)
This commit is contained in:
@@ -115,7 +115,6 @@ public class Client : MonoBehaviour
|
||||
players[job.data[1]].name = Encoding.ASCII.GetString(name).Replace(" ", "");
|
||||
players[job.data[1]].index = job.data[1];
|
||||
players[job.data[1]].textCoinsInfo = playerInfoElements[job.data[1]].textCoinInfo;
|
||||
players[job.data[1]].Layout2 = layout2;
|
||||
players[job.data[1]].uiHandler = uiHandler;
|
||||
players[job.data[1]].Init();
|
||||
|
||||
@@ -133,6 +132,9 @@ public class Client : MonoBehaviour
|
||||
case 7:
|
||||
(players[job.data[1]]).EventStopFinished();
|
||||
break;
|
||||
case 8:
|
||||
((NoPlayablePlayer)players[job.data[1]]).BuyStar();
|
||||
break;
|
||||
case 126:
|
||||
stream.Write(new byte[]{126, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 10);
|
||||
break;
|
||||
@@ -204,8 +206,13 @@ public class Client : MonoBehaviour
|
||||
stream.Write(new byte[]{6, (byte)action, 0, 0, 0, 0, 0, 0, 0, 0});
|
||||
}
|
||||
|
||||
public void EventStopFinished()
|
||||
public void SendEventStopFinished()
|
||||
{
|
||||
stream.Write(new byte[]{7, 0, 0, 0, 0, 0, 0, 0, 0, 0});
|
||||
}
|
||||
|
||||
public void SendBuyStar()
|
||||
{
|
||||
stream.Write(new byte[]{8, 0, 0, 0, 0, 0, 0, 0, 0, 0});
|
||||
}
|
||||
}
|
||||
@@ -7,15 +7,5 @@ public class ItemShop : MonoBehaviour
|
||||
[SerializeField] private GameObject Layout2;
|
||||
[SerializeField] private GameObject LayoutItemShop;
|
||||
[SerializeField] private Client client;
|
||||
public void buttonMoveOn()
|
||||
{
|
||||
Layout2.SetActive(false);
|
||||
client.EventStopFinished();
|
||||
}
|
||||
|
||||
public void buttonEnter()
|
||||
{
|
||||
Layout2.SetActive(false);
|
||||
LayoutItemShop.SetActive(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,12 @@ public class NoPlayablePlayer : Player
|
||||
diceScript = dice.GetComponent<Dice>();
|
||||
}
|
||||
|
||||
public void BuyStar()
|
||||
{
|
||||
GameObject.Find("StarPositions").GetComponent<StarController>().SwitchStar();
|
||||
AddCoins(-20);
|
||||
}
|
||||
|
||||
public void CoinFieldAction(int action)
|
||||
{
|
||||
if (action == 0)
|
||||
@@ -153,4 +159,23 @@ public class NoPlayablePlayer : Player
|
||||
}
|
||||
}
|
||||
|
||||
private Star currentStar;
|
||||
|
||||
private void OnTriggerEnter(Collider collider)
|
||||
{
|
||||
if (collider.name.Equals("ItemShopTrigger"))
|
||||
{
|
||||
base.OnTriggerEnter(collider);
|
||||
}
|
||||
else if (collider.name.Equals("StarTrigger"))
|
||||
{
|
||||
currentStar = collider.GetComponent<Star>();
|
||||
|
||||
if(currentStar.IsActive)
|
||||
{
|
||||
base.OnTriggerEnter(collider);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -208,29 +208,40 @@ public class PlayablePlayer : Player
|
||||
private Star currentStar = null;
|
||||
private void OnTriggerEnter(Collider collider)
|
||||
{
|
||||
base.OnTriggerEnter(collider);
|
||||
|
||||
if (collider.name.Equals("ItemShopTrigger"))
|
||||
{
|
||||
Layout2.SetActive(true);
|
||||
base.OnTriggerEnter(collider);
|
||||
uiHandler.ActivateLayout2(this);
|
||||
}
|
||||
else if (collider.name.Equals("StarTrigger"))
|
||||
{
|
||||
currentStar = collider.GetComponent<Star>();
|
||||
|
||||
uiHandler.ActivateLayoutBuyStar(this);
|
||||
if(currentStar.IsActive)
|
||||
{
|
||||
base.OnTriggerEnter(collider);
|
||||
uiHandler.ActivateLayoutBuyStar(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void BuyStar(bool buy)
|
||||
{
|
||||
client.SendEventStopFinished();
|
||||
|
||||
if (buy)
|
||||
{
|
||||
currentStar.Buy(this);
|
||||
client.SendBuyStar();
|
||||
}
|
||||
else
|
||||
{
|
||||
currentStar = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void SkipShop()
|
||||
{
|
||||
client.SendEventStopFinished();
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,6 @@ using UnityEngine;
|
||||
|
||||
public abstract class Player : MonoBehaviour
|
||||
{
|
||||
public GameObject Layout2;
|
||||
|
||||
public string name = "";
|
||||
public bool activated = false;
|
||||
protected bool wurfelt = false;
|
||||
@@ -55,7 +53,7 @@ public abstract class Player : MonoBehaviour
|
||||
Coin
|
||||
}
|
||||
|
||||
protected void AddCoins(int amount)
|
||||
public void AddCoins(int amount)
|
||||
{
|
||||
coins += amount;
|
||||
if (coins < 0)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class LayoutBuyStarController : MonoBehaviour
|
||||
{
|
||||
public TMP_Text infoText;
|
||||
public GameObject buttonBuy, buttonNo;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f33e28d2770e17c49ba9886d0a37602c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -39,7 +39,7 @@ public class Star : MonoBehaviour
|
||||
|
||||
public void Buy(Player player)
|
||||
{
|
||||
player.coins -= cost;
|
||||
player.AddCoins(-cost);
|
||||
starController.SwitchStar();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class UIHandler : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private GameObject layout0;
|
||||
[SerializeField] private GameObject layout1;
|
||||
[SerializeField] private GameObject layout2;
|
||||
[SerializeField] private GameObject layoutMiniMap;
|
||||
[SerializeField] private GameObject layoutBuyStar;
|
||||
|
||||
@@ -17,6 +19,8 @@ public class UIHandler : MonoBehaviour
|
||||
layout0.SetActive(true);
|
||||
layoutMiniMap.SetActive(false);
|
||||
layoutBuyStar.SetActive(false);
|
||||
layout2.SetActive(false);
|
||||
|
||||
}
|
||||
|
||||
public void ActivateLayout1()
|
||||
@@ -25,6 +29,7 @@ public class UIHandler : MonoBehaviour
|
||||
layout1.SetActive(true);
|
||||
layoutMiniMap.SetActive(false);
|
||||
layoutBuyStar.SetActive(false);
|
||||
layout2.SetActive(false);
|
||||
}
|
||||
|
||||
public void ActivateLayoutMiniMap()
|
||||
@@ -33,6 +38,7 @@ public class UIHandler : MonoBehaviour
|
||||
layout1.SetActive(false);
|
||||
layoutMiniMap.SetActive(true);
|
||||
layoutBuyStar.SetActive(false);
|
||||
layout2.SetActive(false);
|
||||
}
|
||||
|
||||
public void ActivateLayoutBuyStar(Player player)
|
||||
@@ -42,5 +48,53 @@ public class UIHandler : MonoBehaviour
|
||||
layout1.SetActive(false);
|
||||
layoutMiniMap.SetActive(false);
|
||||
layoutBuyStar.SetActive(true);
|
||||
layout2.SetActive(false);
|
||||
|
||||
LayoutBuyStarController controller = layoutBuyStar.GetComponent<LayoutBuyStarController>();
|
||||
|
||||
if (player.coins < 20)
|
||||
{
|
||||
controller.infoText.text = "oh... sorry... but you do not have enough coins (20)";
|
||||
controller.buttonBuy.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
controller.infoText.text = "do you want to buy a star? (20 coins)";
|
||||
controller.buttonBuy.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
public void ActivateLayout2(Player player)
|
||||
{
|
||||
currentPlayer = player;
|
||||
|
||||
layout0.SetActive(false);
|
||||
layout1.SetActive(false);
|
||||
layoutMiniMap.SetActive(false);
|
||||
layoutBuyStar.SetActive(false);
|
||||
layout2.SetActive(true);
|
||||
}
|
||||
|
||||
public void ButtonBuyStar()
|
||||
{
|
||||
((PlayablePlayer)currentPlayer).BuyStar(true);
|
||||
ActivateLayout1();
|
||||
}
|
||||
|
||||
public void ButtonDontBuyStar()
|
||||
{
|
||||
((PlayablePlayer)currentPlayer).BuyStar(false);
|
||||
ActivateLayout1();
|
||||
}
|
||||
|
||||
public void ButtonMoveOn()
|
||||
{
|
||||
ActivateLayout1();
|
||||
((PlayablePlayer)currentPlayer).SkipShop();
|
||||
}
|
||||
|
||||
public void ButtonEnter()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user