// -------------------------------------------

        /*
         * Constructor
         */
        public override void Initialize(params object[] _list)
        {
            base.Initialize(_list);

            m_root      = this.gameObject;
            m_container = m_root.transform.Find("Content");

            m_container.Find("Title").GetComponent <Text>().text = LanguageController.Instance.GetText("screen.facebook.invite.friends");

            m_sendInvitations = m_container.Find("Button_Invite").GetComponent <Button>();
            m_container.Find("Button_Invite/Text").GetComponent <Text>().text = LanguageController.Instance.GetText("screen.facebook.send.invitations");
            m_sendInvitations.onClick.AddListener(OnSendInvitationsPressed);

            m_buttonBack = m_container.Find("Button_Back").GetComponent <Button>();
            m_buttonBack.onClick.AddListener(BackPressed);

            m_grid = m_container.Find("ScrollList/Grid").gameObject;

            for (int i = 0; i < FacebookController.Instance.Friends.Count; i++)
            {
                ItemMultiTextEntry sfriend  = FacebookController.Instance.Friends[i];
                GameObject         instance = Utilities.AddChild(m_grid.transform, FacebookFriendItemPrefab);
                instance.GetComponent <ItemFriendView>().Initialization(sfriend.Items[0], sfriend.Items[1]);
                m_friends.Add(instance.GetComponent <ItemFriendView>());
            }

            UIEventController.Instance.UIEvent += new UIEventHandler(OnMenuEvent);
        }
        // -------------------------------------------

        /*
         * FindMatch
         */
        public async Task FindMatch(string _roomName, int _totalPlayers, string _extraData = "")
        {
            m_roomName = _roomName;
            string newRooms = RoomsBuffer;

            if (RoomsBuffer.IndexOf(m_roomName) == -1)
            {
                m_isGameCreator = true;
                m_totalPlayers  = _totalPlayers;
                newRooms        = m_roomName + PARAM_SEPARATOR + _totalPlayers + PARAM_SEPARATOR + _extraData;
                newRooms       += ROOMS_SEPARATOR + RoomsBuffer;
            }
            else
            {
                ItemMultiTextEntry roomFound = GetRoomByName(_roomName);
                m_totalPlayers = int.Parse(roomFound.Items[4]);
            }
            if (DEBUG)
            {
                Debug.LogError("+++++++++++++++++++++++++FindMatch::_roomName[" + _roomName + "]::m_totalPlayers[" + m_totalPlayers + "]");
            }
            await NakamaConnection.FindMatch(m_roomName, m_totalPlayers, m_totalPlayers);

            UIEventController.Instance.DelayUIEvent(ClientTCPEventsController.EVENT_CLIENT_TCP_CONNECTED_ROOM, 0.2f, m_totalPlayers);

            // Update the lobby list of rooms
            await NakamaConnection.SendMainChatMessage(ROOMS_CHAT_MESSAGE, newRooms);
        }
        // -------------------------------------------

        /*
         * Will retrieve the id of the room by the name
         */
        public int GetRoomIDByName(string _roomName)
        {
            for (int i = 0; i < m_roomsLobby.Count; i++)
            {
                ItemMultiTextEntry room = m_roomsLobby[i];
                if (room.Items[2] == _roomName)
                {
#if ENABLE_BALANCE_LOADER
                    return(int.Parse(room.Items[0]));
#else
                    return(int.Parse(room.Items[1]));
#endif
                }
            }
            return(-1);
        }
        // -------------------------------------------

        /*
         * LoadInvitations
         */
        private void LoadInvitations(List <ItemMultiTextEntry> _rooms)
        {
            for (int i = 0; i < _rooms.Count; i++)
            {
                ItemMultiTextEntry friends  = _rooms[i];
                GameObject         instance = Utilities.AddChild(m_grid.transform, RoomFriendItemPrefab);
                // JOIN ROOM IN FACEBOOK
#if ENABLE_BALANCE_LOADER
                instance.GetComponent <ItemRoomView>().Initialization(int.Parse(friends.Items[0]), friends.Items[1], friends.Items[2], int.Parse(friends.Items[3]));
#else
                instance.GetComponent <ItemRoomView>().Initialization(int.Parse(friends.Items[1]), friends.Items[2], MultiplayerConfiguration.SOCKET_SERVER_ADDRESS, MultiplayerConfiguration.PORT_SERVER_ADDRESS);
#endif

                m_rooms.Add(instance.GetComponent <ItemRoomView>());
            }

            UIEventController.Instance.DispatchUIEvent(UIEventController.EVENT_SCREENMANAGER_RELOAD_SCREEN_DATA, true);
        }
Esempio n. 5
0
        // -------------------------------------------

        /*
         * OnRoomListUpdate
         */
        public override void OnRoomListUpdate(List <RoomInfo> roomList)
        {
            if (DEBUG)
            {
                Debug.LogError("PhotonController::OnRoomListUpdate:roomList.Count[" + roomList.Count + "]");
            }
            m_roomsLobby.Clear();
            for (int i = 0; i < roomList.Count; i++)
            {
                RoomInfo info = roomList[i];
                if (!info.IsOpen || !info.IsVisible || info.RemovedFromList)
                {
                    continue;
                }

                string extraData = "extraData";
                if (info.CustomProperties != null)
                {
                    ExitGames.Client.Photon.Hashtable customData = info.CustomProperties;
                    foreach (object k in customData)
                    {
                        extraData = (string)customData[(string)k];
                    }
                    if (extraData.Length == 0)
                    {
                        extraData = "extraData";
                    }
                }

                ItemMultiTextEntry item = new ItemMultiTextEntry(false.ToString(), i.ToString(), info.Name, extraData);
                m_roomsLobby.Add(item);
            }
            if (DEBUG)
            {
                Debug.LogError("PhotonController::OnRoomListUpdate::REPORTING LIST OF ROOMS[" + m_roomsLobby.Count + "]");
            }
            UIEventController.Instance.DispatchUIEvent(ClientTCPEventsController.EVENT_CLIENT_TCP_LIST_OF_GAME_ROOMS);
            if (m_requestInitialitzationReport)
            {
                m_requestInitialitzationReport = false;
                UIEventController.Instance.DispatchUIEvent(ClientTCPEventsController.EVENT_CLIENT_TCP_ESTABLISH_NETWORK_ID, -1);
            }
        }
Esempio n. 6
0
        // -------------------------------------------

        /*
         * LoadRooms
         */
        private void LoadRooms(List <ItemMultiTextEntry> _rooms, string _nameRoom = "")
        {
            ClearPreviousRooms();

            for (int i = 0; i < _rooms.Count; i++)
            {
                ItemMultiTextEntry room         = _rooms[i];
                string             nameRoomItem = "";
#if ENABLE_BALANCE_LOADER
                nameRoomItem = (string)room.Items[1];
#else
                nameRoomItem = (string)room.Items[2];
#endif
                string tname = nameRoomItem.ToLower();
                string oname = _nameRoom.ToLower();
                if ((tname.IndexOf(oname) != -1) || !ENABLE_FILTERING)
                {
                    GameObject instance = Utilities.AddChild(m_grid.transform, RoomLobbyItemPrefab);
                    m_roomsGO.Add(instance);

                    // JOIN ROOM IN LOBBY
#if ENABLE_BALANCE_LOADER
                    instance.GetComponent <ItemLobbyRoomView>().Initialization(int.Parse(room.Items[0]), room.Items[1], room.Items[2], int.Parse(room.Items[3]), room.Items[4]);
#else
                    instance.GetComponent <ItemLobbyRoomView>().Initialization(int.Parse(room.Items[1]), room.Items[2], MultiplayerConfiguration.SOCKET_SERVER_ADDRESS, MultiplayerConfiguration.PORT_SERVER_ADDRESS, room.Items[3]);
#endif
                    m_rooms.Add(instance.GetComponent <ItemLobbyRoomView>());
                }
            }

            if (ENABLE_FILTERING)
            {
                if (m_rooms.Count == 0)
                {
                    UIEventController.Instance.DispatchUIEvent(UIEventController.EVENT_SCREENMANAGER_OPEN_INFORMATION_SCREEN, ScreenInformationView.SCREEN_INFORMATION, UIScreenTypePreviousAction.KEEP_CURRENT_SCREEN, LanguageController.Instance.GetText("message.info"), LanguageController.Instance.GetText("screen.lobby.list.no.room.name"), null, "");
                }
                else
                {
                    UIEventController.Instance.DispatchUIEvent(UIEventController.EVENT_SCREENMANAGER_RELOAD_SCREEN_DATA, true);
                }
            }
        }
        // -------------------------------------------

        /*
         * AutoLogin
         */
        private void AutoLogin()
        {
            // CHECK COOKIES CONNECTION
            m_connectedFacebook = PlayerPrefs.GetInt(MenusScreenController.USER_FACEBOOK_CONNECTED_COOCKIE, -1);
            if (m_connectedFacebook == -1)
            {
                m_container.gameObject.SetActive(true);
                m_login.gameObject.SetActive(false);
            }
            else
            {
                m_container.gameObject.SetActive(false);
                m_login.gameObject.SetActive(true);
            }

            // AUTOCONNECT
            ItemMultiTextEntry userData = MenusScreenController.Instance.LoadEmailLoginLocal();

            switch (m_connectedFacebook)
            {
            case 0:
                if (userData != null)
                {
                    UIEventController.Instance.DispatchUIEvent(UsersController.EVENT_USER_LOGIN_REQUEST, userData.Items[0], userData.Items[1]);
                }
                else
                {
                    m_container.gameObject.SetActive(true);
                    m_login.gameObject.SetActive(false);
                }
                break;

            case 1:
                FacebookController.Instance.Initialitzation();
                break;

            default:
                break;
            }
        }
        // -------------------------------------------

        /*
         * GetExtraDataForRoom
         */
        public string GetExtraDataForRoom(int _idRoom)
        {
            for (int i = 0; i < m_roomsLobby.Count; i++)
            {
                ItemMultiTextEntry room = m_roomsLobby[i];
                int    idRoom           = -1;
                string extraData        = "";
                // JOIN ROOM IN LOBBY
#if ENABLE_BALANCE_LOADER
                idRoom    = int.Parse(room.Items[0]);
                extraData = room.Items[4];
#else
                idRoom    = int.Parse(room.Items[1]);
                extraData = room.Items[3];
#endif
                if (idRoom == _idRoom)
                {
                    return(extraData);
                }
            }
            return("");
        }
Esempio n. 9
0
        // -------------------------------------------

        /*
         * Constructor
         */
        public void Initialize(params object[] _list)
        {
            ItemMultiObjectEntry item = (ItemMultiObjectEntry)_list[0];

            m_container = this.gameObject.transform;

            m_id     = (string)item.Objects[0];
            m_date   = (DateTime)item.Objects[1];
            m_amount = (decimal)item.Objects[2];
            m_gas    = (string)item.Objects[3];
            m_title  = (string)item.Objects[4];

            List <ItemMultiTextEntry> transactionScriptPubKey = (List <ItemMultiTextEntry>)item.Objects[5];
            string addresses = "";

            for (int i = 0; i < transactionScriptPubKey.Count; i++)
            {
                ItemMultiTextEntry sitem = transactionScriptPubKey[i];
                if (addresses.Length > 0)
                {
                    addresses += ":";
                }

                addresses += sitem.Items[1];
            }
            m_container.Find("Target").GetComponent <Text>().text = EthereumController.Instance.AddressToLabelUpperCase(addresses.Split(':'));

            m_container.Find("Title").GetComponent <Text>().text = m_title;
            string dateTrimmed = m_date.ToString();

            m_container.Find("Date").GetComponent <Text>().text = dateTrimmed;

#if ENABLE_ETHEREUM
            m_container.Find("Bitcoins").GetComponent <Text>().text = Utilities.Trim(EthereumController.FromWei(new BigInteger(m_amount)).ToString());
#endif

            if (m_amount < 0)
            {
                m_container.GetComponent <Image>().color = new Color(188f / 255f, 83f / 255f, 141f / 255f);
                m_container.Find("IconsCalendar/Input").gameObject.SetActive(false);
                m_container.Find("IconsCalendar/Output").gameObject.SetActive(true);
                m_container.Find("IconsType/Sent").gameObject.SetActive(true);
                m_container.Find("IconsType/Received").gameObject.SetActive(false);
            }
            else
            {
                m_container.GetComponent <Image>().color = new Color(53f / 255f, 174f / 255f, 64f / 255f);
                m_container.Find("IconsCalendar/Input").gameObject.SetActive(true);
                m_container.Find("IconsCalendar/Output").gameObject.SetActive(false);
                m_container.Find("IconsType/Sent").gameObject.SetActive(false);
                m_container.Find("IconsType/Received").gameObject.SetActive(true);
            }

            m_iconsCurrencies.Clear();
            for (int i = 0; i < EthereumController.CURRENCY_CODE.Length; i++)
            {
                m_iconsCurrencies.Add(EthereumController.CURRENCY_CODE[i], m_container.Find("IconsCurrency/" + EthereumController.CURRENCY_CODE[i]));
            }


            UpdateCurrency();

            EthereumEventController.Instance.EthereumEvent += new EthereumEventHandler(OnEthereumEvent);
        }
Esempio n. 10
0
        // -------------------------------------------

        /*
         * Constructor
         */
        public void Initialize(params object[] _list)
        {
            ItemMultiObjectEntry item = (ItemMultiObjectEntry)_list[0];

            m_container = this.gameObject.transform;

            m_id     = (string)item.Objects[0];
            m_date   = (DateTimeOffset)item.Objects[2];
            m_amount = (decimal)item.Objects[3];
            m_fee    = (decimal)item.Objects[4];
            m_title  = (string)item.Objects[5];

            List <ItemMultiTextEntry> transactionScriptPubKey = (List <ItemMultiTextEntry>)item.Objects[6];
            string addresses = "";

            for (int i = 0; i < transactionScriptPubKey.Count; i++)
            {
                ItemMultiTextEntry sitem = transactionScriptPubKey[i];
                if (addresses.Length > 0)
                {
                    addresses += ":";
                }

                addresses += sitem.Items[1];
            }
            m_container.Find("Target").GetComponent <Text>().text = BitCoinController.Instance.AddressToLabel(addresses.Split(':'));

            m_container.Find("Title").GetComponent <Text>().text = m_title;
            string dateTrimmed = m_date.ToString();

            if (dateTrimmed.Length > 0)
            {
                dateTrimmed = dateTrimmed.Substring(0, dateTrimmed.IndexOf('+'));
            }
            m_container.Find("Date").GetComponent <Text>().text = dateTrimmed;

            m_container.Find("Bitcoins").GetComponent <Text>().text = m_amount.ToString();

            if (m_amount < 0)
            {
                m_container.GetComponent <Image>().color = new Color(188f / 255f, 83f / 255f, 141f / 255f);
                m_container.Find("IconsCalendar/Input").gameObject.SetActive(false);
                m_container.Find("IconsCalendar/Output").gameObject.SetActive(true);
                m_container.Find("IconsType/Sent").gameObject.SetActive(true);
                m_container.Find("IconsType/Received").gameObject.SetActive(false);
            }
            else
            {
                m_container.GetComponent <Image>().color = new Color(53f / 255f, 174f / 255f, 64f / 255f);
                m_container.Find("IconsCalendar/Input").gameObject.SetActive(true);
                m_container.Find("IconsCalendar/Output").gameObject.SetActive(false);
                m_container.Find("IconsType/Sent").gameObject.SetActive(false);
                m_container.Find("IconsType/Received").gameObject.SetActive(true);
            }

            m_iconsCurrencies.Clear();
            for (int i = 0; i < BitCoinController.CURRENCY_CODE.Length; i++)
            {
                m_iconsCurrencies.Add(BitCoinController.CURRENCY_CODE[i], m_container.Find("IconsCurrency/" + BitCoinController.CURRENCY_CODE[i]));
            }


            UpdateCurrency();

            BitcoinEventController.Instance.BitcoinEvent += new BitcoinEventHandler(OnBitcoinEvent);
        }