Exemplo n.º 1
0
    public GameObject[] RoomSetup(Level level, Transform roomsParent)
    {
        int num_rooms = level.rooms.Length;

        Rooms = new GameObject[num_rooms];
        foreach (RoomLink l in level.links)
        {
            level.rooms[l.roomSrc].doorsPosList.Add(l.roomSrcExit);
            l.roomSrcFacing = RoomLink.CalculateFacing(l.roomSrcExit, level.rooms[l.roomSrc]);
            level.rooms[l.roomDst].doorsPosList.Add(l.roomDstExit);
            l.roomDstFacing = RoomLink.CalculateFacing(l.roomDstExit, level.rooms[l.roomDst]);
        }

        for (int i = 0; i < num_rooms; i++)
        {
            Rooms[i] = new GameObject("Room" + i);
            Rooms[i].transform.SetParent(roomsParent);
            this.SingleRoomSetup(Rooms[i], level.rooms[i]);
            Rooms[i].transform.Translate(level.positions[i]);
        }

        foreach (RoomLink l in level.links)
        {
            this.SingleLinkSetup(l, Rooms);
        }

        return(Rooms);
    }
        public ChatWindow(Chat parrent, RoomLink link)
        {
            InitializeComponent();

            DataContext = this;  //aby šel bindovat title okna
            Parrent = parrent;
            Link = link;
            RefreshTime = 20;
            refresher = new System.Timers.Timer(RefreshTime * 1000);
            refresher.Elapsed += (object sender, ElapsedEventArgs ea) => {
                Logger.dbgOut("Refresh");

                //tohle tu je, protoze potrebuju kolekci updatovat z jinýho vlákna
                Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate() {
                        List<Message> ms = parrent.getMessages();
                        Messages.Clear();
                        foreach(Message m in ms)
                        {
                            Messages.Add(m);
                        }
                    }
                );
            };

            Messages = new MessageCollection(parrent.getMessages());
            lbChatView.ItemsSource = Messages;

            //zapnutí obnovování zpráv
            refresher.Start();
        }
Exemplo n.º 3
0
        public Chat(RoomLink roomLink)
        {
            Link = roomLink;
            xComm = XChatCommunicator.getCommunicator();

            //vytvoření okna
            openChatRoom();
        }
Exemplo n.º 4
0
        public void Handle(JoinedRoom message)
        {
            var room    = message.Room;
            var roomUri = String.Format("/chatroom?room={0}", room.Name);
            var link    = new RoomLink {
                RoomName = room.Name, DisplayName = room.Name, Source = new Uri(roomUri, UriKind.RelativeOrAbsolute)
            };

            this.chatGroup.Links.Add(link);
        }
Exemplo n.º 5
0
    public void SingleLinkSetup(RoomLink roomLink, GameObject[] roomList)
    {
        int src = roomLink.roomSrc;
        Vector3 src_pos = new Vector3(roomLink.roomSrcExit.x, roomLink.roomSrcExit.y, 0f);
        Quaternion src_rot = RoomLink.GetFacingRotation(roomLink.roomSrcFacing);
        int dst = roomLink.roomDst;
        Vector3 dst_pos = new Vector3(roomLink.roomDstExit.x, roomLink.roomDstExit.y, 0f);
        Quaternion dst_rot = RoomLink.GetFacingRotation(roomLink.roomDstFacing);

        GameObject door = outerWallDoorTiles[Random.Range(0, outerWallDoorTiles.Length)];

        GameObject src_door = Instantiate(door, src_pos, src_rot) as GameObject;
        src_door.transform.SetParent(Rooms[src].transform, false);

        GameObject dst_door = Instantiate(door, dst_pos, dst_rot) as GameObject;
        dst_door.transform.SetParent(Rooms[dst].transform, false);

        setDoorLink(src_door, dst_door);
        setDoorLink(dst_door, src_door);
    }
Exemplo n.º 6
0
    public void SingleLinkSetup(RoomLink roomLink, GameObject[] roomList)
    {
        int        src     = roomLink.roomSrc;
        Vector3    src_pos = new Vector3(roomLink.roomSrcExit.x, roomLink.roomSrcExit.y, 0f);
        Quaternion src_rot = RoomLink.GetFacingRotation(roomLink.roomSrcFacing);
        int        dst     = roomLink.roomDst;
        Vector3    dst_pos = new Vector3(roomLink.roomDstExit.x, roomLink.roomDstExit.y, 0f);
        Quaternion dst_rot = RoomLink.GetFacingRotation(roomLink.roomDstFacing);

        GameObject door = outerWallDoorTiles[Random.Range(0, outerWallDoorTiles.Length)];

        GameObject src_door = Instantiate(door, src_pos, src_rot) as GameObject;

        src_door.transform.SetParent(Rooms[src].transform, false);

        GameObject dst_door = Instantiate(door, dst_pos, dst_rot) as GameObject;

        dst_door.transform.SetParent(Rooms[dst].transform, false);

        setDoorLink(src_door, dst_door);
        setDoorLink(dst_door, src_door);
    }
Exemplo n.º 7
0
    // --------------------------------------------------------------------------------

    public void OnEnable()
    {
        m_roomLink = target as RoomLink;
    }
Exemplo n.º 8
0
 public bool equiv(RoomLink other)
 {
     return((r1 == other.r1 && r2 == other.r2) || (r1 == other.r2 && r2 == other.r1));
 }
 /// <summary>
 /// Metoda vytvoří a otevře nové okno pro zadanou chatovací místnost.
 /// Nové okno poběží v samostaném vlákně.
 /// </summary>
 /// <param name="roomName">Jméno místnosti - zatím, v budoucnu se nejspíš bude předávat víc parametrů.</param>
 private void openChatRoom(RoomLink link)
 {
     mainApp.newRoom(link);
 }
Exemplo n.º 10
0
        /// <summary>
        /// Metoda slouží k vytvoření nové chatovací místnosti.
        /// </summary>
        public void newRoom(RoomLink link)
        {
            Logger.dbgOut("Otevírám místnost " + link.Name+".");
            //Thread t = new Thread(() =>
            //{
            //    Chat.Chat chat = new Chat.Chat(link);

            //    System.Windows.Threading.Dispatcher.Run();
            //});

            //rooms.Add(t);
            //t.SetApartmentState(ApartmentState.STA);
            //t.Start();
            rooms.Add(new Chat.Chat(link));
            Logger.dbgOut("Počet otevřených místností: " + rooms.Count+".");
        }
Exemplo n.º 11
0
 public TriggerTraverser(RoomLink link, RoomNetwork roomnet, TraversedCallback callback) : base(link, roomnet)
 {
     this.callback = callback;
 }