private void OnPlayerDetached(EntityUid uid, CharacterInterfaceComponent comp, PlayerDetachedEvent args) { if (comp.Window == null) { return; } _gameHud.CharacterButtonVisible = false; comp.Window.Close(); }
private void OnPlayerAttached(EntityUid uid, CharacterInterfaceComponent comp, PlayerAttachedEvent args) { if (comp.Window == null) { return; } _gameHud.CharacterButtonVisible = true; _gameHud.CharacterButtonToggled += ToggleWindow; }
private void OnComponentInit(EntityUid uid, CharacterInterfaceComponent comp, ComponentInit args) { //Use all the character ui interfaced components to create the character window comp.UIComponents = EntityManager.GetComponents <ICharacterUI>(uid).ToList(); if (comp.UIComponents.Count == 0) { return; } comp.Window = new CharacterInterfaceComponent.CharacterWindow(comp.UIComponents); comp.Window.OnClose += () => _gameHud.CharacterButtonDown = false; }
private void OnComponentRemove(EntityUid uid, CharacterInterfaceComponent comp, ComponentRemove args) { if (comp.UIComponents != null) { foreach (var component in comp.UIComponents) { // Make sure these don't get deleted when the window is disposed. component.Scene.Orphan(); } } comp.UIComponents = null; comp.Window?.Close(); comp.Window = null; _inputManager.SetInputCommand(ContentKeyFunctions.OpenCharacterMenu, null); }
private void OnPlayerAttached(EntityUid uid, CharacterInterfaceComponent comp, PlayerAttachedEvent args) { if (comp.Window == null) { return; } _gameHud.CharacterButtonVisible = true; _gameHud.CharacterButtonToggled = b => { if (b) { comp.Window.OpenCentered(); } else { comp.Window.Close(); } }; }