Exemple #1
0
    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);
        }
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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();
        }
    }
Exemple #4
0
    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>();
    }
Exemple #5
0
    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();
        }
    }
Exemple #6
0
 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);
     }
 }
Exemple #7
0
 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);
     }
 }
Exemple #8
0
    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);
    }
Exemple #9
0
 public void ResetPopUpListeners()
 {
     GameBoardRegion.yesButton.onClick.RemoveAllListeners();
     GameBoardRegion.yesButton.onClick.AddListener(() => GameBoardRegion.setActiveFalse(GameBoardRegion.wellPopup, 4));
 }