//TODO: Ghost furni depth internal void DisplayGhostItem(Furni furni) { try { GameScreenManager.Instance.GetInventoryManager().Close(); ghostMeubi = new GhostMeubi(_content, furni.GetItemId(), furni.GetSpriteId(), () => { ghostMeubi = null; GameScreenManager.Instance.GetInventoryManager().Open(); }, () => { RetroEnvironment.GetGame().GetClientManager().SendPacket(new PlaceObjectEvent(ghostMeubi.GetItemId(), floorDesign.GetMouseTile(roomOffset).GetCoordinate().X, floorDesign.GetMouseTile(roomOffset).GetCoordinate().Z, ghostMeubi.GetRotation())); }); placeDelay.Start(); } catch (Exception ex) { if (furni == null) { Logger.Error("Ghost Furni does not exist!"); } else if (roomOffset == null) { Logger.Error("Room offset does not exist!"); } else { Logger.Error(ex); } } }
internal void SetMoveGhostItem(Meubi meubi) { meubi.Hide(); ghostMeubi = new GhostMeubi(_content, meubi.GetItemId(), meubi.GetData().id, () => { ghostMeubi = null; meubi.Show(); }, () => { RetroEnvironment.GetGame().GetClientManager().SendPacket(new MoveObjectEvent(ghostMeubi.GetItemId(), (int)floorDesign.GetMouseTile(roomOffset).GetCoordinate().X, (int)floorDesign.GetMouseTile(roomOffset).GetCoordinate().Z, ghostMeubi.GetRotation())); ghostMeubi = null; }); placeDelay.Start(); }
public RoomManager(ContentManager content) { _content = content; meubis = new List <Meubi>(); idSortedMeubis = new Dictionary <int, Meubi>(); floorDesign = null; door = null; ghostMeubi = null; placeDelay = new Timer(200); placeDelay.Elapsed += PlaceDelay_Elapsed; }
public void Update(GameTime gameTime) { var mouseState = Mouse.GetState(); if (mouseState.LeftButton == ButtonState.Pressed) { GameScreenManager.Instance.GetFurniManager().SelectItem(null); } foreach (Meubi meubi in idSortedMeubis.Values) { meubi.Update(gameTime, roomOffset); } if (ghostMeubi != null && !ghostMeubi.IsAlive()) { ghostMeubi = null; } if (ghostMeubi != null) { ghostMeubi.Update(gameTime, roomOffset, floorDesign); } }