Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Properties | List of all members
KSP.UI.Screens.Flight.KerbalPortraitGallery Class Reference
Inheritance diagram for KSP.UI.Screens.Flight.KerbalPortraitGallery:

Classes

class  ActiveCrewItem
 Class to hold the Active Crew. Kerbal or KerbalEVA reference must be set. If kerbal is set - its an IVA kerbal. More...
 

Public Types

enum  GalleryMode { GalleryMode.IVA, GalleryMode.EVA }
 

Public Member Functions

void Awake ()
 
void ClearPortraits ()
 
void DespawnInactivePortraits ()
 
void DespawnPortrait (Kerbal crewMember)
 Destroys the portrait for the given crewmember, if it exists More...
 
void DespawnPortrait (KerbalEVA crewMember)
 Destroys the portrait for the given crewmember, if it exists More...
 
void DespawnPortrait (KerbalPortrait portrait)
 
int GetMaxGalleryCapacity (float leftEdge, float padding, float portraitWidth)
 
KerbalPortrait GetPortrait (Kerbal crew)
 
KerbalPortrait GetPortrait (KerbalEVA crew)
 
void HoverArea_onPointerEnter (XSelectable arg1, PointerEventData arg2)
 
void HoverArea_onPointerExit (XSelectable arg1, PointerEventData arg2)
 
void onBtnAddSlot ()
 
void onBtnLeft ()
 
void onBtnRemSlot ()
 
void onBtnRight ()
 
void OnCameraChange (CameraManager.CameraMode m)
 
void onCrewTransferred (GameEvents.HostedFromToAction< ProtoCrewMember, Part > data)
 
void OnDestroy ()
 
void onIVAOverlayDismiss ()
 Turns off the IVA Overlay button and refreshes the portraits for the active vessel after a 2 frame delay. Only works in Portrait Gallery Mode of IVA. More...
 
void onIVAOverlayPress (bool st)
 Toggles the IVA overlay On or Off. Only works in Portrait Gallery Mode of IVA. More...
 
void OnKerbalLevelUp (ProtoCrewMember pcm)
 
void onVesselWasModified (Vessel v)
 
KerbalPortrait RegisterActiveCrew (Kerbal crewMember)
 Register Active Kerbal crew Member. Adds them to ActiveCrew and spawns their portrait. More...
 
KerbalPortrait RegisterActiveCrew (KerbalEVA crewMember)
 Register Active Kerbal crew Member. Spawns their portrait. More...
 
KerbalPortrait RegisterActiveCrew (KerbalEVA crewMember, bool spawnPortrait)
 Register Active Kerbal crew Member. Spawns their portrait - ONLY if spawnPortrait is true. More...
 
void SetActivePortraitsForVessel (Vessel v)
 Sets the Portrait Gallery Mode to EVA or IVA based on the Vessel passed in. Will then spawn and set portraits for kerbals on the vessel. More...
 
KerbalPortrait SpawnPortrait (Kerbal crewMember)
 Spawn a KerbalPortrait for crewMember and add to Portraits List. More...
 
KerbalPortrait SpawnPortrait (KerbalEVA crewMember)
 Spawn a KerbalPortrait for crewMember and add to Portraits List. More...
 
void Start ()
 
void StartRefresh (Vessel v)
 Starts a delayed check which only removes kerbals that no longer exist before refreshing the gallery. More...
 
void StartReset (Vessel v)
 Starts a delayed check, removing all kerbals from the gallery, then refreshing it. More...
 
void UIControlsUpdate ()
 
void UnregisterActiveCrew (Kerbal crewMember)
 Despawn portrait and remove from ActiveCrew. More...
 
void UnregisterActiveCrew (KerbalEVA crewMember)
 Despawn portrait More...
 
void Update ()
 
void UpdatePortrait (Kerbal kerbal)
 
void UpdatePortrait (KerbalEVA kerbal)
 
void UpdatePortraitScrolling (int pIndex)
 

Static Public Member Functions

static void ToggleIVAOverlay ()
 Toggle the IVAOverlay mode Only works in Portrait Gallery Mode of IVA. More...
 

Public Attributes

KerbalPortrait portraitPrefab
 

Static Public Attributes

static int GalleryCapacity = 3
 
static int GalleryMaxSize = 3
 

Protected Attributes

List< ActiveCrewItemactiveCrew = new List<ActiveCrewItem>()
 Lists all crewmembers which can be portraited at any given time More...
 
bool areaHover
 
Button btnAddSlot
 
TMPro.TextMeshProUGUI btnAddText
 
Button btnLeft
 
Button btnRemSlot
 
TMPro.TextMeshProUGUI btnRemText
 
Button btnRight
 
bool dirty = false
 
int firstPortrait = 0
 
XSelectable hoverArea
 
InternalSpaceOverlay ivaOverlay
 
Toggle IVAOverlayButton
 
CameraManager.CameraMode lastMode
 
float leftEdgePadding = 200f
 
float leftScreenEdge = 0.5f
 
UIPanelTweener portraitContainer
 
float PortraitHeight = 156f
 
RectTransform portraitLayoutParent
 
List< KerbalPortraitportraits = new List<KerbalPortrait>()
 Lists the crew portraits currently displayed (may be only a subset of active crew) More...
 
LayoutElement portraitViewport
 
float PortraitWidth = 128f
 
Coroutine refreshCoroutine
 
Coroutine resetCoroutine
 
float usableSpace
 

Properties

List< KerbalActiveCrew [get, set]
 This is Deprecated. Please use ActiveCrewItems. More...
 
List< ActiveCrewItemActiveCrewItems [get, set]
 List of the Active Crew. More...
 
bool ContainerTransitioning [get]
 Indicates if the Portrait Container is transitioning (scrolling) or not. More...
 
static KerbalPortraitGallery Instance [get, set]
 
static bool isIVAOverlayVisible [get]
 Is the IVAOverlay currently visible More...
 
int lastPortrait [get]
 
GalleryMode portraitGalleryMode [get, set]
 
GalleryMode PortraitGalleryMode [get]
 The current Portrait Gallery Mode More...
 
List< KerbalPortraitPortraits [get, set]
 

Member Enumeration Documentation

enum KSP.UI.Screens.Flight.KerbalPortraitGallery.GalleryMode
Enumerator
IVA 
EVA 

Member Function Documentation

void KSP.UI.Screens.Flight.KerbalPortraitGallery.Awake ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.ClearPortraits ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.DespawnInactivePortraits ( )
inline

< also handles the remove

void KSP.UI.Screens.Flight.KerbalPortraitGallery.DespawnPortrait ( Kerbal  crewMember)
inline

Destroys the portrait for the given crewmember, if it exists

Parameters
crewMember
void KSP.UI.Screens.Flight.KerbalPortraitGallery.DespawnPortrait ( KerbalEVA  crewMember)
inline

Destroys the portrait for the given crewmember, if it exists

Parameters
crewMember
void KSP.UI.Screens.Flight.KerbalPortraitGallery.DespawnPortrait ( KerbalPortrait  portrait)
inline
int KSP.UI.Screens.Flight.KerbalPortraitGallery.GetMaxGalleryCapacity ( float  leftEdge,
float  padding,
float  portraitWidth 
)
inline
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.GetPortrait ( Kerbal  crew)
inline
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.GetPortrait ( KerbalEVA  crew)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.HoverArea_onPointerEnter ( XSelectable  arg1,
PointerEventData  arg2 
)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.HoverArea_onPointerExit ( XSelectable  arg1,
PointerEventData  arg2 
)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onBtnAddSlot ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onBtnLeft ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onBtnRemSlot ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onBtnRight ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.OnCameraChange ( CameraManager.CameraMode  m)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onCrewTransferred ( GameEvents.HostedFromToAction< ProtoCrewMember, Part data)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.OnDestroy ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onIVAOverlayDismiss ( )
inline

Turns off the IVA Overlay button and refreshes the portraits for the active vessel after a 2 frame delay. Only works in Portrait Gallery Mode of IVA.

void KSP.UI.Screens.Flight.KerbalPortraitGallery.onIVAOverlayPress ( bool  st)
inline

Toggles the IVA overlay On or Off. Only works in Portrait Gallery Mode of IVA.

Parameters
st
void KSP.UI.Screens.Flight.KerbalPortraitGallery.OnKerbalLevelUp ( ProtoCrewMember  pcm)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.onVesselWasModified ( Vessel  v)
inline
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.RegisterActiveCrew ( Kerbal  crewMember)
inline

Register Active Kerbal crew Member. Adds them to ActiveCrew and spawns their portrait.

Parameters
crewMember
Returns
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.RegisterActiveCrew ( KerbalEVA  crewMember)
inline

Register Active Kerbal crew Member. Spawns their portrait.

Parameters
crewMember
Returns
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.RegisterActiveCrew ( KerbalEVA  crewMember,
bool  spawnPortrait 
)
inline

Register Active Kerbal crew Member. Spawns their portrait - ONLY if spawnPortrait is true.

Parameters
crewMemberKerbalEVA reference
spawnPortraittrue to spawn and return the KerbalPortrait. False - will not spawn the KerbalPortrait.
Returns
void KSP.UI.Screens.Flight.KerbalPortraitGallery.SetActivePortraitsForVessel ( Vessel  v)
inline

Sets the Portrait Gallery Mode to EVA or IVA based on the Vessel passed in. Will then spawn and set portraits for kerbals on the vessel.

Parameters
v

< start up however many portraits will fit in the gallery at once. Leave not-shown IVA spaces de-spawned until they are needed

< spawn portraits for crews which don't have one yet

KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.SpawnPortrait ( Kerbal  crewMember)
inline

Spawn a KerbalPortrait for crewMember and add to Portraits List.

Parameters
crewMember
Returns
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.SpawnPortrait ( KerbalEVA  crewMember)
inline

Spawn a KerbalPortrait for crewMember and add to Portraits List.

Parameters
crewMember
Returns
void KSP.UI.Screens.Flight.KerbalPortraitGallery.Start ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.StartRefresh ( Vessel  v)
inline

Starts a delayed check which only removes kerbals that no longer exist before refreshing the gallery.

void KSP.UI.Screens.Flight.KerbalPortraitGallery.StartReset ( Vessel  v)
inline

Starts a delayed check, removing all kerbals from the gallery, then refreshing it.

static void KSP.UI.Screens.Flight.KerbalPortraitGallery.ToggleIVAOverlay ( )
inlinestatic

Toggle the IVAOverlay mode Only works in Portrait Gallery Mode of IVA.

void KSP.UI.Screens.Flight.KerbalPortraitGallery.UIControlsUpdate ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.UnregisterActiveCrew ( Kerbal  crewMember)
inline

Despawn portrait and remove from ActiveCrew.

Parameters
crewMember
void KSP.UI.Screens.Flight.KerbalPortraitGallery.UnregisterActiveCrew ( KerbalEVA  crewMember)
inline

Despawn portrait

Parameters
crewMember
void KSP.UI.Screens.Flight.KerbalPortraitGallery.Update ( )
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.UpdatePortrait ( Kerbal  kerbal)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.UpdatePortrait ( KerbalEVA  kerbal)
inline
void KSP.UI.Screens.Flight.KerbalPortraitGallery.UpdatePortraitScrolling ( int  pIndex)
inline

Member Data Documentation

List<ActiveCrewItem> KSP.UI.Screens.Flight.KerbalPortraitGallery.activeCrew = new List<ActiveCrewItem>()
protected

Lists all crewmembers which can be portraited at any given time

bool KSP.UI.Screens.Flight.KerbalPortraitGallery.areaHover
protected
Button KSP.UI.Screens.Flight.KerbalPortraitGallery.btnAddSlot
protected
TMPro.TextMeshProUGUI KSP.UI.Screens.Flight.KerbalPortraitGallery.btnAddText
protected
Button KSP.UI.Screens.Flight.KerbalPortraitGallery.btnLeft
protected
Button KSP.UI.Screens.Flight.KerbalPortraitGallery.btnRemSlot
protected
TMPro.TextMeshProUGUI KSP.UI.Screens.Flight.KerbalPortraitGallery.btnRemText
protected
Button KSP.UI.Screens.Flight.KerbalPortraitGallery.btnRight
protected
bool KSP.UI.Screens.Flight.KerbalPortraitGallery.dirty = false
protected
int KSP.UI.Screens.Flight.KerbalPortraitGallery.firstPortrait = 0
protected
int KSP.UI.Screens.Flight.KerbalPortraitGallery.GalleryCapacity = 3
static
int KSP.UI.Screens.Flight.KerbalPortraitGallery.GalleryMaxSize = 3
static
XSelectable KSP.UI.Screens.Flight.KerbalPortraitGallery.hoverArea
protected
InternalSpaceOverlay KSP.UI.Screens.Flight.KerbalPortraitGallery.ivaOverlay
protected
Toggle KSP.UI.Screens.Flight.KerbalPortraitGallery.IVAOverlayButton
protected
CameraManager.CameraMode KSP.UI.Screens.Flight.KerbalPortraitGallery.lastMode
protected
float KSP.UI.Screens.Flight.KerbalPortraitGallery.leftEdgePadding = 200f
protected
float KSP.UI.Screens.Flight.KerbalPortraitGallery.leftScreenEdge = 0.5f
protected
UIPanelTweener KSP.UI.Screens.Flight.KerbalPortraitGallery.portraitContainer
protected
float KSP.UI.Screens.Flight.KerbalPortraitGallery.PortraitHeight = 156f
protected
RectTransform KSP.UI.Screens.Flight.KerbalPortraitGallery.portraitLayoutParent
protected
KerbalPortrait KSP.UI.Screens.Flight.KerbalPortraitGallery.portraitPrefab
List<KerbalPortrait> KSP.UI.Screens.Flight.KerbalPortraitGallery.portraits = new List<KerbalPortrait>()
protected

Lists the crew portraits currently displayed (may be only a subset of active crew)

LayoutElement KSP.UI.Screens.Flight.KerbalPortraitGallery.portraitViewport
protected
float KSP.UI.Screens.Flight.KerbalPortraitGallery.PortraitWidth = 128f
protected
Coroutine KSP.UI.Screens.Flight.KerbalPortraitGallery.refreshCoroutine
protected
Coroutine KSP.UI.Screens.Flight.KerbalPortraitGallery.resetCoroutine
protected
float KSP.UI.Screens.Flight.KerbalPortraitGallery.usableSpace
protected

Property Documentation

List<Kerbal> KSP.UI.Screens.Flight.KerbalPortraitGallery.ActiveCrew
getset

This is Deprecated. Please use ActiveCrewItems.

List<ActiveCrewItem> KSP.UI.Screens.Flight.KerbalPortraitGallery.ActiveCrewItems
getset

List of the Active Crew.

bool KSP.UI.Screens.Flight.KerbalPortraitGallery.ContainerTransitioning
get

Indicates if the Portrait Container is transitioning (scrolling) or not.

KerbalPortraitGallery KSP.UI.Screens.Flight.KerbalPortraitGallery.Instance
staticgetset
bool KSP.UI.Screens.Flight.KerbalPortraitGallery.isIVAOverlayVisible
staticget

Is the IVAOverlay currently visible

int KSP.UI.Screens.Flight.KerbalPortraitGallery.lastPortrait
getprotected
GalleryMode KSP.UI.Screens.Flight.KerbalPortraitGallery.portraitGalleryMode
getsetprotected
GalleryMode KSP.UI.Screens.Flight.KerbalPortraitGallery.PortraitGalleryMode
get

The current Portrait Gallery Mode

List<KerbalPortrait> KSP.UI.Screens.Flight.KerbalPortraitGallery.Portraits
getset

The documentation for this class was generated from the following file: