StarSystem

Stars With switching positions
(Bought stars are not saved or shown)
This commit is contained in:
brausjonas
2023-02-26 22:26:58 +01:00
parent 63ed43576c
commit 94d05de754
20 changed files with 1215 additions and 166 deletions
+2 -1
View File
@@ -22,6 +22,7 @@
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/PlayablePlayer.cs" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/PlayablePlayer.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/Player.cs" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/Player.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/PlayerInfoElements.cs" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Assets/Scripts/Players/PlayerInfoElements.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Stars/LayoutBuyStarController.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Stars/StarController.cs" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Assets/Scripts/Stars/StarController.cs" root0="FORCE_HIGHLIGHTING" />
</component> </component>
<component name="MarkdownSettingsMigration"> <component name="MarkdownSettingsMigration">
@@ -127,7 +128,7 @@
<workItem from="1675880900142" duration="5000" /> <workItem from="1675880900142" duration="5000" />
<workItem from="1676493059699" duration="795000" /> <workItem from="1676493059699" duration="795000" />
<workItem from="1676920253715" duration="2806000" /> <workItem from="1676920253715" duration="2806000" />
<workItem from="1677436455528" duration="5473000" /> <workItem from="1677436455528" duration="8395000" />
</task> </task>
<servers /> <servers />
</component> </component>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -115,7 +115,6 @@ public class Client : MonoBehaviour
players[job.data[1]].name = Encoding.ASCII.GetString(name).Replace(" ", ""); players[job.data[1]].name = Encoding.ASCII.GetString(name).Replace(" ", "");
players[job.data[1]].index = job.data[1]; players[job.data[1]].index = job.data[1];
players[job.data[1]].textCoinsInfo = playerInfoElements[job.data[1]].textCoinInfo; 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]].uiHandler = uiHandler;
players[job.data[1]].Init(); players[job.data[1]].Init();
@@ -133,6 +132,9 @@ public class Client : MonoBehaviour
case 7: case 7:
(players[job.data[1]]).EventStopFinished(); (players[job.data[1]]).EventStopFinished();
break; break;
case 8:
((NoPlayablePlayer)players[job.data[1]]).BuyStar();
break;
case 126: case 126:
stream.Write(new byte[]{126, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 10); stream.Write(new byte[]{126, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 10);
break; break;
@@ -204,8 +206,13 @@ public class Client : MonoBehaviour
stream.Write(new byte[]{6, (byte)action, 0, 0, 0, 0, 0, 0, 0, 0}); 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}); 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});
}
} }
-10
View File
@@ -7,15 +7,5 @@ public class ItemShop : MonoBehaviour
[SerializeField] private GameObject Layout2; [SerializeField] private GameObject Layout2;
[SerializeField] private GameObject LayoutItemShop; [SerializeField] private GameObject LayoutItemShop;
[SerializeField] private Client client; [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>(); diceScript = dice.GetComponent<Dice>();
} }
public void BuyStar()
{
GameObject.Find("StarPositions").GetComponent<StarController>().SwitchStar();
AddCoins(-20);
}
public void CoinFieldAction(int action) public void CoinFieldAction(int action)
{ {
if (action == 0) 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 Star currentStar = null;
private void OnTriggerEnter(Collider collider) private void OnTriggerEnter(Collider collider)
{ {
base.OnTriggerEnter(collider);
if (collider.name.Equals("ItemShopTrigger")) if (collider.name.Equals("ItemShopTrigger"))
{ {
Layout2.SetActive(true); base.OnTriggerEnter(collider);
uiHandler.ActivateLayout2(this);
} }
else if (collider.name.Equals("StarTrigger")) else if (collider.name.Equals("StarTrigger"))
{ {
currentStar = collider.GetComponent<Star>(); currentStar = collider.GetComponent<Star>();
uiHandler.ActivateLayoutBuyStar(this); if(currentStar.IsActive)
{
base.OnTriggerEnter(collider);
uiHandler.ActivateLayoutBuyStar(this);
}
} }
} }
public void BuyStar(bool buy) public void BuyStar(bool buy)
{ {
client.SendEventStopFinished();
if (buy) if (buy)
{ {
currentStar.Buy(this); currentStar.Buy(this);
client.SendBuyStar();
} }
else else
{ {
currentStar = null; currentStar = null;
} }
} }
public void SkipShop()
{
client.SendEventStopFinished();
}
} }
+1 -3
View File
@@ -6,8 +6,6 @@ using UnityEngine;
public abstract class Player : MonoBehaviour public abstract class Player : MonoBehaviour
{ {
public GameObject Layout2;
public string name = ""; public string name = "";
public bool activated = false; public bool activated = false;
protected bool wurfelt = false; protected bool wurfelt = false;
@@ -55,7 +53,7 @@ public abstract class Player : MonoBehaviour
Coin Coin
} }
protected void AddCoins(int amount) public void AddCoins(int amount)
{ {
coins += amount; coins += amount;
if (coins < 0) 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:
+1 -1
View File
@@ -39,7 +39,7 @@ public class Star : MonoBehaviour
public void Buy(Player player) public void Buy(Player player)
{ {
player.coins -= cost; player.AddCoins(-cost);
starController.SwitchStar(); starController.SwitchStar();
} }
} }
+54
View File
@@ -1,11 +1,13 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using TMPro;
using UnityEngine; using UnityEngine;
public class UIHandler : MonoBehaviour public class UIHandler : MonoBehaviour
{ {
[SerializeField] private GameObject layout0; [SerializeField] private GameObject layout0;
[SerializeField] private GameObject layout1; [SerializeField] private GameObject layout1;
[SerializeField] private GameObject layout2;
[SerializeField] private GameObject layoutMiniMap; [SerializeField] private GameObject layoutMiniMap;
[SerializeField] private GameObject layoutBuyStar; [SerializeField] private GameObject layoutBuyStar;
@@ -17,6 +19,8 @@ public class UIHandler : MonoBehaviour
layout0.SetActive(true); layout0.SetActive(true);
layoutMiniMap.SetActive(false); layoutMiniMap.SetActive(false);
layoutBuyStar.SetActive(false); layoutBuyStar.SetActive(false);
layout2.SetActive(false);
} }
public void ActivateLayout1() public void ActivateLayout1()
@@ -25,6 +29,7 @@ public class UIHandler : MonoBehaviour
layout1.SetActive(true); layout1.SetActive(true);
layoutMiniMap.SetActive(false); layoutMiniMap.SetActive(false);
layoutBuyStar.SetActive(false); layoutBuyStar.SetActive(false);
layout2.SetActive(false);
} }
public void ActivateLayoutMiniMap() public void ActivateLayoutMiniMap()
@@ -33,6 +38,7 @@ public class UIHandler : MonoBehaviour
layout1.SetActive(false); layout1.SetActive(false);
layoutMiniMap.SetActive(true); layoutMiniMap.SetActive(true);
layoutBuyStar.SetActive(false); layoutBuyStar.SetActive(false);
layout2.SetActive(false);
} }
public void ActivateLayoutBuyStar(Player player) public void ActivateLayoutBuyStar(Player player)
@@ -42,5 +48,53 @@ public class UIHandler : MonoBehaviour
layout1.SetActive(false); layout1.SetActive(false);
layoutMiniMap.SetActive(false); layoutMiniMap.SetActive(false);
layoutBuyStar.SetActive(true); 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()
{
} }
} }
@@ -137,7 +137,9 @@ PlayerSettings:
16:9: 1 16:9: 1
Others: 1 Others: 1
bundleVersion: 0.1 bundleVersion: 0.1
preloadedAssets: [] preloadedAssets:
- {fileID: -6230802382160794249, guid: 90cd1b71078984c4980fcd1aa03eaaa3, type: 2}
- {fileID: 11400000, guid: 48bf7376b3770c44cbfe3f40e77359ab, type: 2}
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1 m_HolographicPauseOnTrackingLoss: 1
@@ -12,10 +12,10 @@ EditorUserSettings:
value: 55010d0300055a5a595a592641730d44104e4c287b2e71662c7b186bb3b86069 value: 55010d0300055a5a595a592641730d44104e4c287b2e71662c7b186bb3b86069
flags: 0 flags: 0
RecentlyUsedSceneGuid-2: RecentlyUsedSceneGuid-2:
value: 0000025f04075d0f0c0a5c7149205a4417154f782e7923357e7a4560e3b4653b value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
flags: 0 flags: 0
RecentlyUsedSceneGuid-3: RecentlyUsedSceneGuid-3:
value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a value: 0000025f04075d0f0c0a5c7149205a4417154f782e7923357e7a4560e3b4653b
flags: 0 flags: 0
UnityRemoteDevice: UnityRemoteDevice:
value: 225f4d46245b0d4902070862342649191512 value: 225f4d46245b0d4902070862342649191512
+16 -15
View File
@@ -33,22 +33,22 @@
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent">{
"keyToString": { &quot;keyToString&quot;: {
"RunOnceActivity.OpenProjectViewOnStart": "true", &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
"RunOnceActivity.ShowReadmeOnStart": "true", &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
"WebServerToolWindowFactoryState": "false", &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
"last_opened_file_path": "C:/flufflparty/Server", &quot;last_opened_file_path&quot;: &quot;C:/flufflparty/Server&quot;,
"node.js.detected.package.eslint": "true", &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
"node.js.detected.package.tslint": "true", &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
"node.js.selected.package.eslint": "(autodetect)", &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
"node.js.selected.package.tslint": "(autodetect)", &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
"project.structure.last.edited": "Artifacts", &quot;project.structure.last.edited&quot;: &quot;Artifacts&quot;,
"project.structure.proportion": "0.0", &quot;project.structure.proportion&quot;: &quot;0.0&quot;,
"project.structure.side.proportion": "0.2", &quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
"vue.rearranger.settings.migration": "true" &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
} }
}]]></component> }</component>
<component name="RunManager"> <component name="RunManager">
<configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> <configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="Main" /> <option name="MAIN_CLASS_NAME" value="Main" />
@@ -86,6 +86,7 @@
<workItem from="1675628256814" duration="1286000" /> <workItem from="1675628256814" duration="1286000" />
<workItem from="1675795807134" duration="411000" /> <workItem from="1675795807134" duration="411000" />
<workItem from="1676926021732" duration="612000" /> <workItem from="1676926021732" duration="612000" />
<workItem from="1677445028345" duration="816000" />
</task> </task>
<servers /> <servers />
</component> </component>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+9
View File
@@ -174,6 +174,15 @@ public class Room
players[i].output.write(new byte[]{7, (byte)player, 0, 0, 0, 0, 0, 0, 0, 0}); players[i].output.write(new byte[]{7, (byte)player, 0, 0, 0, 0, 0, 0, 0, 0});
} }
break; break;
case 8:
for (int i = 0; i < players.length; i++)
{
if (i != player)
{
players[i].output.write(new byte[]{8, (byte)player, 0, 0, 0, 0, 0, 0, 0, 0});
}
}
break;
case 126: case 126:
players[player].lastTimeSendTimeOutCheck = System.currentTimeMillis(); players[player].lastTimeSendTimeOutCheck = System.currentTimeMillis();
break; break;