public List <RoomViewModel> GetRoomListView(string userName) { //int RoomNo = 0; //List<string> PeopleNames = new List<string>(); //string Status = "No"; PersonBusinessLayer personBal = new PersonBusinessLayer(); List <Person> people = personBal.GetPeople(); int dormId = personBal.GetDormId(userName); List <int> roomNoList = new List <int>(); RoomLayer roomBal = new RoomLayer(); foreach (Room room in roomBal.GetRoom()) { if (room.Dorm_ID == dormId) { Rooms.Add(new RoomViewModel(room.Floor + room.Room_number, room.Person, room.Status, room.Room_ID)); } } //foreach (int roomNo in roomNoList) //{ // foreach (Person person in people) // { // if(roomNo == person.roo) // } //} return(Rooms); }
public void PropagateNodes() { GameRoom gr = (GameRoom)Activator.CreateInstance(currentRoom.GetType()); selectedLayer = gr.Layers[0]; int currentDepth = 0; foreach (RoomLayer rl in gr.Layers) { DarkTreeNode dtn = new DarkTreeNode(rl.Name); dtn.Tag = dtn; dtn.Tag = ""; if (rl.LayerType == RoomLayer.LayerTypes.typeObject) { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("WorldLocal_16x"); } else if (rl.LayerType == RoomLayer.LayerTypes.typeAsset) { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("Image_16x"); } else { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("MapLineLayer_16x"); } rl.Depth = currentDepth; currentDepth += 100; roomLayers.Add(rl); lt?.dtv.Nodes[0].Nodes.Add(dtn); } }
private void toggleToolStripMenuItem_Click(object sender, EventArgs e) { // toggle layer visibility // if (f.roomLayers.Count > 0) // MessageBox.Show(f.roomLayers.Count.ToString()); { RoomLayer rl = f.roomLayers.FirstOrDefault(x => x.Name == selectedNode.Text); rl.Visible = !rl.Visible; if (!rl.Visible) { selectedNode.Icon = Properties.Resources.Visible_16xSM; } else { if (rl.LayerType == RoomLayer.LayerTypes.typeObject) { selectedNode.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("WorldLocal_16x"); } else if (rl.LayerType == RoomLayer.LayerTypes.typeAsset) { selectedNode.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("Image_16x"); } else { selectedNode.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("MapLineLayer_16x"); } } dtv.Invalidate(); } }
//send message to all room public ActionResult CheckAllRoom(MessageHTML m) { MessageLayer memlayer = new MessageLayer(); List <Message> mlist = memlayer.GetMessage(); DormLayer layer = new DormLayer(); Dorm dorm = layer.GetDorm(Session["UserName"].ToString()); int sender_dorm = dorm.Dorm_ID; int mlistid = mlist.Count; Message mem = new Message(); RoomLayer RoomDB = new RoomLayer(); List <Room> RoomList = RoomDB.GetStatusRoom(); //only room that have person live foreach (Room r in RoomList) { if (r.Dorm_ID == sender_dorm) { PersonLayer PL = new PersonLayer(); List <Person> personoomList = PL.GetPerson(); foreach (Person person in personoomList) { if (person.Room_ID == r.Room_ID) { mem = new Message(); mem.Receiver_Username = person.Username; mem.Sender_Username = Session["UserName"].ToString(); mem.MessageID = mlistid + 1; mem.Title = m.Subject; mem.Text = m.Message; mem.Isread = 0; mem.Date = DateTime.Now.ToString("dd-MM-yyyy") + " " + DateTime.Today.ToString("HH:mm:ss tt"); //Date + Time db.Message.Add(mem); db.SaveChanges(); mlistid++; } } } } //return mem.Receiver_Username + " " + mem.Sender_Username + " " + // " " + mem.Date ; return(RedirectToAction("index", new { action = 1 })); }
private void darkTreeView1_SelectedNodesChanged(object sender, EventArgs e) { if (darkTreeView1.SelectedNodes.Count > 0) { DarkTreeNode dtn = darkTreeView1.SelectedNodes[0]; if (dtn.Tag != null && (string)dtn?.Tag != "folder") { f.selectedLayer = f.roomLayers.FirstOrDefault(x => x.Name == dtn.Text); // Activate / deactive tile tool now RoomLayer l = f.selectedLayer; if (l.LayerType == RoomLayer.LayerTypes.typeTile) { // give him a tileset form.ww.currentTileset = ((TileLayer)l).Tileset; // also give hime a bitmap which we need to get first Texture2D tex = form.drawTest1.Editor.Content.Load <Texture2D>(Path.GetFullPath("../../../SimplexRpgEngine3/Content/bin/Windows/Sprites/Tilesets/" + ((TileLayer)l).Tileset.Name)); MemoryStream memoryStream = new MemoryStream(); tex.SaveAsPng(memoryStream, tex.Width, tex.Height); Bitmap bmp = new Bitmap(memoryStream); // we have our bitmap now we pass it form.ww.currentTilesetBitmap = bmp; form.ww.currentTileset = ((TileLayer)l).Tileset; form.ww.KillMe(); form.drawTest1.lastLayer = l; } if (l.LayerType == RoomLayer.LayerTypes.typeObject) { form.ww.currentTileset = null; form.w.Enabled = true; form.drawTest1.currentAutotile = null; } } } }
public void LoadGame(string path) { bool flag = false; // First we f**k current scene ClearAll(); // Load layers if (lt.dtv.Nodes.Count > 0) { lt.dtv.Nodes[0].Nodes.Clear(); } // Prepare XML serializer // Then we load raw data Root root = new Root(); XmlSerializer ser = new XmlSerializer(typeof(Root), Form1.reflectedTypes.ToArray()); StreamReader w = new StreamReader(path); Root rawData = (Root)ser.Deserialize(w); // First load back room itself Form1.width = (int)rawData.Room.Size.X; Form1.height = (int)rawData.Room.Size.Y; Form1.ActiveForm.Text = "Simplex RPG Engine / " + rawData.Room.Name; currentRoom = rawData.Room; // if (currentRoom != null) // { GameRoom gr = (GameRoom)Activator.CreateInstance(currentRoom.GetType()); selectedLayer = gr.Layers[0]; int currentDepth = 0; foreach (RoomLayer rl in gr.Layers) { DarkTreeNode dtn = new DarkTreeNode(rl.Name); dtn.Tag = dtn; dtn.Tag = ""; if (rl.LayerType == RoomLayer.LayerTypes.typeObject) { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("WorldLocal_16x"); } else if (rl.LayerType == RoomLayer.LayerTypes.typeAsset) { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("Image_16x"); } else { dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("MapLineLayer_16x"); } rl.Depth = currentDepth; currentDepth += 100; roomLayers.Add(rl); lt?.dtv.Nodes[0].Nodes.Add(dtn); } // we need to initialize layers by type foreach (RoomLayer rl in roomLayers) { if (rl.LayerType == RoomLayer.LayerTypes.typeTile) { // Start with empty cell data and load stuff later on ((TileLayer)rl).Data = new int[(int)currentRoom.Size.X / 32, (int)currentRoom.Size.Y / 32]; // Now select correct tileset and assign it to this.. well tileset Tileset tl = tilesets.FirstOrDefault(x => x.Name == ((TileLayer)rl).TilelistName); // this can fail so check for that if (tl != null) { // also we need to load textures for the tileset // tl.AutotileLib = // all good ((TileLayer)rl).Tileset = tl; } } } // Time to load babies foreach (GameObject g in rawData.Objects) { Spritesheet s = Sprites.FirstOrDefault(x => x.Name == g.Sprite.TextureSource); g.Sprite.Texture = s.Texture; g.Sprite.ImageRectangle = new Microsoft.Xna.Framework.Rectangle(0, 0, s.CellWidth, s.CellHeight); g.Sprite.TextureRows = s.Rows; g.Sprite.TextureCellsPerRow = s.Texture.Width / s.CellWidth; g.Sprite.ImageSize = new Vector2(s.CellWidth, s.CellHeight); g.Sprite.FramesCount = (s.Texture.Width / s.CellWidth) * (s.Texture.Height / s.CellHeight) - 1; g.FramesCount = g.Sprite.FramesCount - 1; g.Sprite.cellW = s.CellHeight; g.Sprite.cellH = s.CellWidth; RoomLayer rt = roomLayers.FirstOrDefault(x => x.Name == g.LayerName); g.Layer = (ObjectLayer)rt; g.Sprite.UpdateImageRectangle(); g.UpdateState(); g.UpdateColliders(); // Need to give object OriginalType !!! g.OriginalType = Type.GetType(g.TypeString); g.EvtCreate(); g.EvtLoad(); g.Layer.Objects.Add(g); sh.RegisterObject(g); } // Load tiles foreach (Tile t in rawData.Tiles) { RoomLayer correctLayer = roomLayers.FirstOrDefault(x => x.Name == t.TileLayerName); if (correctLayer != null) { TileLayer crt = (TileLayer)correctLayer; t.TileLayer = crt; crt.Tiles.Add(t); } else { Debug.WriteLine("Tile could not be loaded - TileLayerName is wrong"); } } // Now update all tiles Texture2D ttt = Editor.Content.Load <Texture2D>(Path.GetFullPath("../../../SimplexRpgEngine3/Content/bin/Windows/Sprites/Tilesets/" + "tileset0")); foreach (RoomLayer rl in roomLayers) { if (rl is TileLayer) { TileLayer crt = (TileLayer)rl; foreach (Tile t in crt.Tiles) { t.SourceTexture = ttt; Autotile.UpdateTile(t, crt); } } } w.Close(); }
//send message to specific room public ActionResult CheckSpecificRoom(MessageHTML m, string receiver) { Message mem = new Message(); bool CheckRoom = false; string NotFoundRoom = "This room is available"; MessageLayer memlayer = new MessageLayer(); List <Message> mlist = memlayer.GetMessage(); DormLayer layer = new DormLayer(); Dorm dorm = layer.GetDorm(Session["UserName"].ToString()); int sender_dorm = dorm.Dorm_ID; /// scan username of room RoomLayer Rl = new RoomLayer(); List <Room> roomList = Rl.GetStatusRoom(); //get only unavailable room foreach (Room room in roomList) { if (room.Dorm_ID == sender_dorm) { //int.Parse(receiver) String roomnum = room.Floor + room.Room_number; if (roomnum == receiver) { PersonLayer PL = new PersonLayer(); List <Person> personoomList = PL.GetPerson(); foreach (Person person in personoomList) { if (person.Room_ID == room.Room_ID) { mem.Receiver_Username = person.Username; CheckRoom = true; } } } } } /// mem.Sender_Username = Session["UserName"].ToString(); mem.MessageID = mlist.Count + 1; mem.Title = m.Subject; mem.Isread = 0; mem.Text = m.Message; mem.Date = DateTime.Now.ToString("dd-MM-yyyy") + " " + DateTime.Today.ToString("HH:mm:ss tt"); //Date + Time if (CheckRoom == true) { db.Message.Add(mem); db.SaveChanges(); return(RedirectToAction("Index", new { action = 1 })); } else { return(View("Messenger")); //return NotFoundRoom; } // return mem.Receiver_Username + " " + mem.Sender_Username + " " + // " " + mem.Date; }
private void darkTreeView1_SelectedNodesChanged(object sender, EventArgs e) { if (darkTreeView1.SelectedNodes.Count > 0) { DarkTreeNode dtn = darkTreeView1.SelectedNodes[0]; if (dtn.Tag != null && (string)dtn?.Tag != "folder" && dtn != lastNodeSelected) { f.selectedLayer = f.currentRoom.Layers.FirstOrDefault(x => x.Name == dtn.Text); // Activate / deactive tile tool now RoomLayer l = f.selectedLayer; if (l.LayerType == RoomLayer.LayerTypes.typeTile) { // hide object panel to free up space form.sr.drawTest1.SelectedObject = null; if (form.w.Visible) { form.w.Hide(); form.darkDockPanel1.Location = new Point(form.darkDockPanel1.Location.X - form.w.Size.Width, form.darkDockPanel1.Location.Y); form.darkDockPanel3.Location = new Point(form.darkDockPanel3.Location.X - form.w.Size.Width, form.darkDockPanel3.Location.Y); form.darkDockPanel4.Location = new Point(form.darkDockPanel4.Location.X - form.w.Size.Width, form.darkDockPanel4.Location.Y); form.darkDockPanel3.Size = new Size(form.darkDockPanel3.Size.Width + form.w.Size.Width, form.darkDockPanel3.Size.Height); form.darkDockPanel4.Size = new Size(form.darkDockPanel4.Size.Width + form.w.Size.Width, form.darkDockPanel4.Size.Height); form.darkStatusStrip1.Location = new Point(form.darkStatusStrip1.Location.X - form.w.Size.Width, form.darkStatusStrip1.Location.Y); form.darkStatusStrip1.Size = new Size(form.darkStatusStrip1.Size.Width + form.w.Size.Width, form.darkStatusStrip1.Size.Height); form.darkDockPanel2.Visible = false; } // give him a tileset // MemoryStream ms = new MemoryStream(); form.ww.currentTileset = ((TileLayer)l).Tileset; Bitmap bmp = new Bitmap(Path.GetFullPath(form.currentProject.RootPath + "/Content/Tilesets/" + ((TileLayer)l).Tileset.Name + ".png")); // Bitmap bmp = Texture2D tex = Sgml.tilesets.FirstOrDefault(x => x.Name == ((TileLayer)l).Tileset.Name).Texture; // we have our bitmap now we pass it form.ww.currentTilesetBitmap = bmp; form.ww.tilesetTexture = tex; form.ww.currentTileset = ((TileLayer)l).Tileset; form.ww.KillMe(); form.sr.drawTest1.lastLayer = l; form.sr.drawTest1.currentTileLayer = (TileLayer)l; } if (l.LayerType == RoomLayer.LayerTypes.typeObject) { form.sr.drawTest1.currentAutotile = null; form.sr.drawTest1.TilesetSelectedRenRectangle = Rectangle.Empty; form.sr.drawTest1.currentTileLayer = null; form.ww.currentTileset = null; form.w.Enabled = true; form.sr.drawTest1.currentAutotile = null; if (!form.w.Visible) { form.darkDockPanel1.Location = new Point(form.darkDockPanel1.Location.X + form.w.Size.Width, form.darkDockPanel1.Location.Y); form.darkDockPanel3.Location = new Point(form.darkDockPanel3.Location.X + form.w.Size.Width, form.darkDockPanel3.Location.Y); form.darkDockPanel4.Location = new Point(form.darkDockPanel4.Location.X + form.w.Size.Width, form.darkDockPanel4.Location.Y); form.darkDockPanel3.Size = new Size(form.darkDockPanel3.Size.Width - form.w.Size.Width, form.darkDockPanel3.Size.Height); form.darkDockPanel4.Size = new Size(form.darkDockPanel4.Size.Width - form.w.Size.Width, form.darkDockPanel4.Size.Height); form.darkStatusStrip1.Location = new Point(form.darkStatusStrip1.Location.X + form.w.Size.Width, form.darkStatusStrip1.Location.Y); form.darkStatusStrip1.Size = new Size(form.darkStatusStrip1.Size.Width - form.w.Size.Width, form.darkStatusStrip1.Size.Height); form.darkDockPanel2.Visible = true; } form.w.Show(); } } lastNodeSelected = dtn; } }