public void LegendCardG() { // Prince Thorald leaves the game GameObject found = GameObject.Find("Prince"); if (found == null) { found = GameObject.Find("Prince(Clone)"); } found.GetPhotonView().RPC("Destroy", RpcTarget.AllBuffered); // add wardarks on space 26 and 27 (move twice at the end of the day) Vector3 w26 = GameBoardRegion.getCoordinates(26); Vector3 w27 = GameBoardRegion.getCoordinates(27); Dictionary <int, Vector3> wPositions = new Dictionary <int, Vector3>() { { 26, w26 }, { 27, w27 } }; GameObject m; foreach (KeyValuePair <int, Vector3> w in wPositions) { m = (GameObject)PhotonNetwork.InstantiateSceneObject("Wardrak", w.Value, Quaternion.identity); SceneManager.MoveGameObjectToScene(m, SceneManager.GetSceneByName("GameScene")); PhotonView v3 = m.GetPhotonView(); v3.RPC("DontDestroy", RpcTarget.AllBuffered); v3.RPC("SetPosition", RpcTarget.AllBuffered, w.Key); } }
public void LegendCardC() { // hero rolls dice then add 50 to the number rolled & add skral on tower // 6 wp + [# heros X 10 - 10] sp // farmer on space 28 Vector3 farmer28Coords = GameBoardRegion.getCoordinates(28); GameObject farmer = (GameObject)PhotonNetwork.InstantiateSceneObject("FarmerToken", farmer28Coords, Quaternion.identity); SceneManager.MoveGameObjectToScene(farmer, SceneManager.GetSceneByName("GameScene")); PhotonView view = farmer.GetPhotonView(); view.RPC("SetPosOfFarmer", RpcTarget.AllBuffered, 28); view.RPC("DontDestroy", RpcTarget.AllBuffered); // add gros on space 27& 31 Vector3 gor27Coords = GameBoardRegion.getCoordinates(27); Vector3 gor31Coords = GameBoardRegion.getCoordinates(31); Dictionary <int, Vector3> gorPositions = new Dictionary <int, Vector3>() { { 27, gor27Coords }, { 31, gor31Coords } }; GameObject m; foreach (KeyValuePair <int, Vector3> gor in gorPositions) { m = (GameObject)PhotonNetwork.InstantiateSceneObject("Gor", gor.Value, Quaternion.identity); SceneManager.MoveGameObjectToScene(m, SceneManager.GetSceneByName("GameScene")); PhotonView v3 = m.GetPhotonView(); v3.RPC("DontDestroy", RpcTarget.AllBuffered); v3.RPC("SetPosition", RpcTarget.AllBuffered, gor.Key); } // InstantiateMonsters(); // add skrals on space 29 --> already there??? Vector3 skrallVector = GameBoardRegion.getCoordinates(29); m = (GameObject)PhotonNetwork.InstantiateSceneObject("Skral", skrallVector, Quaternion.identity); SceneManager.MoveGameObjectToScene(m, SceneManager.GetSceneByName("GameScene")); PhotonView v4 = m.GetPhotonView(); v4.RPC("DontDestroy", RpcTarget.AllBuffered); v4.RPC("SetPosition", RpcTarget.AllBuffered, 29); // add prince on space 27 (prince is +4 sp and can move up to 4 spaces in an hour) Vector3 princeVector = GameBoardRegion.getCoordinates(27); // MAKE SURE THAT THE NAME OF THE TOKEN IS CORRECT IN RESOURCE m = (GameObject)PhotonNetwork.InstantiateSceneObject("Prince", princeVector, Quaternion.identity); SceneManager.MoveGameObjectToScene(m, SceneManager.GetSceneByName("GameScene")); v4 = m.GetPhotonView(); v4.RPC("DontDestroy", RpcTarget.AllBuffered); v4.RPC("SetPosOfPrince", RpcTarget.AllBuffered, 27); }
public void updateRegion() { int newRegion = Graph.monsterGraph[this.pos]; GameObject[] monsters = GameObject.FindGameObjectsWithTag("Monster"); bool alreadyMonster = Array.Exists(monsters, m => m.GetComponent <Monster>().pos == newRegion && newRegion != 0); this.pos = newRegion; Vector3 newPos = GameBoardRegion.getCoordinates(newRegion); updatePos(newPos); if (alreadyMonster) { updateRegion(); } }
private void CreatePlayer(string charName) { GameObject obj; obj = (GameObject)PhotonNetwork.Instantiate(charName, getPosChar(charName), Quaternion.identity, 0); obj.name = charName; SceneManager.MoveGameObjectToScene(obj, SceneManager.GetSceneByName("GameScene")); PhotonView view = obj.GetPhotonView(); view.RPC("DontDestroy", RpcTarget.AllBuffered); PhotonHashtable h = new PhotonHashtable(); h.Add("Type", charName); h.Add("Hours", 0); h.Add("DayIsEnded", false); h.Add("sp", 1); h.Add("wp", 7); h.Add("farmer", 0); h.Add("gold", 0); h.Add("deposit", 0); h.Add("wineskin", 0); h.Add("shield", 0); h.Add("falcon", 0); h.Add("bow", 0); h.Add("telescope", 0); h.Add("helm", 0); h.Add("brew", 0); h.Add("herb", false); h.Add("yellowStone", 0); h.Add("blueStone", 0); h.Add("greenStone", 0); PhotonNetwork.SetPlayerCustomProperties(h); PhotonNetwork.SetPlayerCustomProperties(h); this.addPlayerToList(charName); Hero myHero = obj.GetComponent <Hero>(); GameBoardRegion.setHero(myHero); GameObject o2 = (GameObject)PhotonNetwork.Instantiate(charName + "TimeTracker", new Vector3(-1.3f, 12.55f, 15), Quaternion.identity, 0); o2.name = charName + "TimeTracker"; SceneManager.MoveGameObjectToScene(o2, SceneManager.GetSceneByName("GameScene")); PhotonView v2 = o2.GetPhotonView(); v2.RPC("DontDestroy", RpcTarget.AllBuffered); myHero.timeTrackToken = o2.GetComponent <SpriteRenderer>(); }
public void WriteToFile(string filename) { Debug.Log("Beginning SaveTheGame"); string path = System.IO.Directory.GetCurrentDirectory(); using (System.IO.StreamWriter file = new System.IO.StreamWriter(path + filename + ".txt")) { int index = (int)PhotonNetwork.CurrentRoom.CustomProperties["CurrentPlayerIndex"]; string[] players = (string[])PhotonNetwork.CurrentRoom.CustomProperties["Players"]; int gameSize = (int)PhotonNetwork.CurrentRoom.CustomProperties["GameSize"]; int narratorPos = (int)PhotonNetwork.CurrentRoom.CustomProperties["NarratorPosition"]; int numMonsters = (int)PhotonNetwork.CurrentRoom.CustomProperties["MonstersAtCastle"]; int numFarmers = (int)PhotonNetwork.CurrentRoom.CustomProperties["FarmersAtCastle"]; bool herbsAtCastle = (bool)PhotonNetwork.CurrentRoom.CustomProperties["HerbAtCastle"]; bool skralDefeated = (bool)PhotonNetwork.CurrentRoom.CustomProperties["SkralAtCastleDefeated"]; file.WriteLine(index.ToString()); file.WriteLine(narratorPos.ToString()); file.WriteLine(numMonsters.ToString()); file.WriteLine(numFarmers.ToString()); file.WriteLine(herbsAtCastle.ToString()); file.WriteLine(skralDefeated.ToString()); foreach (Player p in PhotonNetwork.PlayerList) { string type = (string)p.CustomProperties["Type"]; int pos = (int)p.CustomProperties["pos"]; int hours = (int)p.CustomProperties["Hours"]; int wp = (int)p.CustomProperties["wp"]; int sp = (int)p.CustomProperties["sp"]; int farmer = (int)p.CustomProperties["farmer"]; int gold = (int)p.CustomProperties["gold"]; bool herb = (bool)p.CustomProperties["herb"]; int wineskin = (int)p.CustomProperties["wineskin"]; int shield = (int)p.CustomProperties["shield"]; int falcon = (int)p.CustomProperties["falcon"]; int telescope = (int)p.CustomProperties["telescope"]; int bow = (int)p.CustomProperties["bow"]; int helm = (int)p.CustomProperties["helm"]; int brew = (int)p.CustomProperties["brew"]; int yellowStone = (int)p.CustomProperties["yellowStone"]; int blueStone = (int)p.CustomProperties["blueStone"]; int greenStone = (int)p.CustomProperties["greenStone"]; string ln = type + "\t" + pos + "\t" + hours + "\t" + wp + "\t" + sp + "\t" + farmer + "\t" + gold + "\t" + herb + "\t" + wineskin + "\t" + shield + "\t" + falcon + "\t" + telescope + "\t" + bow + "\t" + helm + "\t" + brew + "\t" + yellowStone + "\t" + blueStone + "\t" + greenStone; file.WriteLine(ln); } GameObject[] monsters = GameObject.FindGameObjectsWithTag("Monster"); foreach (GameObject obj in monsters) { Monster m = obj.GetComponent <Monster>(); file.WriteLine(m.type + "\t" + m.pos); } GameObject[] wells = GameObject.FindGameObjectsWithTag("Well"); foreach (GameObject obj in wells) { Wells w = obj.GetComponent <Wells>(); file.WriteLine("well" + "\t" + w.pos + "\t" + w.wellStatus.ToString()); } GameObject[] fogs = GameObject.FindGameObjectsWithTag("Fog"); foreach (GameObject obj in fogs) { GameBoardRegion regionWithFog = obj.GetComponent <GameBoardRegion>(); file.WriteLine("fog" + "\t" + regionWithFog.num); } string line = ""; foreach (string f in UnFlippedFog.fogOutcomes) { line = line + f + "\t"; } file.WriteLine(line); GameObject[] golds = GameObject.FindGameObjectsWithTag("GoldToken"); foreach (GameObject obj in golds) { GoldToken g = obj.GetComponent <GoldToken>(); file.WriteLine("gold" + "\t" + g.pos + "\t" + g.amt); } GameObject[] yellow = GameObject.FindGameObjectsWithTag("RuneStoneYellow"); foreach (GameObject obj in yellow) { RuneStone r = obj.GetComponent <RuneStone>(); file.WriteLine("yellow" + "\t" + r.pos); } GameObject[] green = GameObject.FindGameObjectsWithTag("RuneStoneGreen"); foreach (GameObject obj in green) { RuneStone r = obj.GetComponent <RuneStone>(); file.WriteLine("green" + "\t" + r.pos); } GameObject[] blue = GameObject.FindGameObjectsWithTag("RuneStoneBlue"); foreach (GameObject obj in blue) { RuneStone r = obj.GetComponent <RuneStone>(); file.WriteLine("blue" + "\t" + r.pos); } GameObject[] farmers = GameObject.FindGameObjectsWithTag("Farmer"); foreach (GameObject obj in farmers) { Farmer f = obj.GetComponent <Farmer>(); file.WriteLine("farmer" + "\t" + f.pos); } GameObject herbToken = GameObject.Find("Herb"); if (herbToken == null) { herbToken = GameObject.Find("Herb(Clone)"); } else { file.WriteLine("herb" + "\t" + herbToken.GetComponent <HerbController>().pos); } GameObject witch = GameObject.Find("WitchBrew"); if (witch == null) { witch = GameObject.Find("WitchBrew(Clone)"); } else { file.WriteLine("witch" + "\t" + witch.GetComponent <WitchBrewController>().pos); } Debug.Log("Closing Stream Writer"); file.Close(); } }
public void PlaceWitchToken(int location) { if (PhotonNetwork.IsMasterClient) { GameObject brew = (GameObject)PhotonNetwork.InstantiateSceneObject("WitchBrew", GameBoardRegion.getCoordinates(location), Quaternion.identity); PhotonView view = brew.GetPhotonView(); view.RPC("SetPosOfBrew", RpcTarget.AllBuffered, (int)location); view.RPC("DontDestroy", RpcTarget.AllBuffered); } }
public void DropGoldToken(int location) { if (PhotonNetwork.IsMasterClient) { GameObject gold = (GameObject)PhotonNetwork.InstantiateSceneObject("Gold", GameBoardRegion.getCoordinates(location), Quaternion.identity); PhotonView view = gold.GetPhotonView(); view.RPC("SetPosOfGoldToken", RpcTarget.AllBuffered, (int)location); view.RPC("DontDestroy", RpcTarget.AllBuffered); } }
private void CreatePlayer(string charName) { string str = ""; foreach (string s in data) { if (s.StartsWith(charName)) { str = s; break; } } char[] separator = { '\t' }; string[] arr = str.Split(separator); GameObject obj; Vector3 coords = GameBoardRegion.regionCoords[int.Parse(arr[1])]; obj = (GameObject)PhotonNetwork.Instantiate(charName, coords, Quaternion.identity, 0); obj.name = charName; SceneManager.MoveGameObjectToScene(obj, SceneManager.GetSceneByName("GameScene")); PhotonView view = obj.GetPhotonView(); view.RPC("DontDestroy", RpcTarget.AllBuffered); PhotonHashtable h = new PhotonHashtable(); h.Add("Type", charName); h.Add("pos", int.Parse(arr[1])); h.Add("Hours", int.Parse(arr[2])); h.Add("DayIsEnded", false); h.Add("sp", int.Parse(arr[4])); h.Add("wp", int.Parse(arr[3])); h.Add("farmer", int.Parse(arr[5])); h.Add("gold", int.Parse(arr[6])); h.Add("deposit", 0); h.Add("wineskin", int.Parse(arr[8])); h.Add("shield", int.Parse(arr[9])); h.Add("falcon", int.Parse(arr[10])); h.Add("bow", int.Parse(arr[12])); h.Add("telescope", int.Parse(arr[11])); h.Add("helm", int.Parse(arr[13])); h.Add("brew", int.Parse(arr[14])); h.Add("herb", bool.Parse(arr[7])); h.Add("yellowStone", int.Parse(arr[15])); h.Add("blueStone", int.Parse(arr[16])); h.Add("greenStone", int.Parse(arr[17])); PhotonNetwork.SetPlayerCustomProperties(h); this.addPlayerToList(charName); Hero myHero = obj.GetComponent <Hero>(); GameBoardRegion.setHero(myHero); float shift = 0; int hours = int.Parse(arr[2]); if (hours > 7) //account for uneven space between hour 7 and 8 { shift += 0.55f; } shift += 1.75f * hours; GameObject o2 = (GameObject)PhotonNetwork.Instantiate(charName + "TimeTracker", new Vector3(-1.3f + shift, 12.55f, 15), Quaternion.identity, 0); o2.name = charName + "TimeTracker"; SceneManager.MoveGameObjectToScene(o2, SceneManager.GetSceneByName("GameScene")); PhotonView v2 = o2.GetPhotonView(); v2.RPC("DontDestroy", RpcTarget.AllBuffered); myHero.timeTrackToken = o2.GetComponent <SpriteRenderer>(); int hrs = (int)PhotonNetwork.LocalPlayer.CustomProperties["Hours"]; Debug.Log("newHours: " + hrs); }
public void ResetPopUpListeners() { GameBoardRegion.yesButton.onClick.RemoveAllListeners(); GameBoardRegion.yesButton.onClick.AddListener(() => GameBoardRegion.setActiveFalse(GameBoardRegion.wellPopup, 4)); }