Example #1
0
    /*
     * Set up event triggers for available cities for Take Direct Flight
     * To be used whenever takeDirectFlight is called
     */
    private void setupEventsForTakeDirectFlight()
    {
        // Remove all existing Event Triggers on cities
        GameScript gameScript = currentGame.GetComponent <GameScript> ();

        // Get the hand of the current Player
        List <PlayerCardScript> currentHand = this.getHand();

        /* For each City Card in the Player's Hand, get the corresponding City
         * Attach an event trigger to each City
         */
        foreach (PlayerCardScript cardScript in currentHand)
        {
            if (cardScript.GetType() is PlayerCityCardScript)
            {
                PlayerCityCardScript cityCardScript = (PlayerCityCardScript)cardScript;
                GameObject           city           = cityCardScript.getCity();

                EventTrigger trigger = city.GetComponent <EventTrigger> ();

                EventTrigger.Entry entry = new EventTrigger.Entry();
                entry.eventID = EventTriggerType.PointerClick;
                //entry.callback.AddListener ( (c) => {this.takeDirectFlight(city);} );

                EventTrigger.Entry newTurnEntry = new EventTrigger.Entry();
                newTurnEntry.eventID = EventTriggerType.PointerClick;
                newTurnEntry.callback.AddListener((c) => { gameScript.nextTurn(); });

                trigger.triggers.Add(entry);
                trigger.triggers.Add(newTurnEntry);
            }
        }
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
        // Maybe should move this to another method for initialization
        cities = GameObject.FindGameObjectsWithTag("City");
        // Add every role in roleGame so we can choose from them when initializing a player
        foreach (Role role in PandemicEnum.Role.GetValues(typeof(Role)))
        {
            RoleScript newRole = new RoleScript();
            newRole.setRole(role);
            gameRole.Add(newRole);
        }


        // Add every cityCard in player deck
        playerDeck = new Deck();
        for (int i = 0; i < cities.Length; i++)
        {
            PlayerCityCardScript cityCard = new PlayerCityCardScript();
            int population = cities[i].GetComponent <CityScript>().getPopulation();
            cityCard.init(cities[i], population);
            playerDeck.insert(cityCard);
        }

        foreach (PhotonPlayer player in PhotonNetwork.otherPlayers)                     //fill in player list
        {
            playersInGame.Add(player.NickName);
        }
        roomname = PhotonNetwork.room.Name;                                                                     //get room name

        //setupBaseGame ();
    }