public void SetContent(IAssignableIdentity identity_object, Action <IAssignableIdentity> selectionCallback, AssignableSideScreen assignableSideScreen) { if (refreshHandle == -1) { Game.Instance.Unsubscribe(refreshHandle); } refreshHandle = Game.Instance.Subscribe(-2146166042, delegate { if ((UnityEngine.Object) this != (UnityEngine.Object)null && (UnityEngine.Object)base.gameObject != (UnityEngine.Object)null && base.gameObject.activeInHierarchy) { Refresh(null); } }); toggle = GetComponent <MultiToggle>(); sideScreen = assignableSideScreen; targetIdentity = identity_object; if ((UnityEngine.Object)portraitInstance == (UnityEngine.Object)null) { portraitInstance = Util.KInstantiateUI <CrewPortrait>(crewPortraitPrefab.gameObject, base.gameObject, false); portraitInstance.transform.SetSiblingIndex(1); portraitInstance.SetAlpha(1f); } toggle.onClick = delegate { selectionCallback(targetIdentity); }; portraitInstance.SetIdentityObject(identity_object, false); GetComponent <ToolTip>().OnToolTip = GetTooltip; Refresh(null); }
/// <summary> /// Initializes the row with a specific Duplicant/group and the parent side screen. /// </summary> /// <param name="minion">The Duplicant to display.</param> /// <param name="parent">The parent of this side screen row.</param> public void SetContent(IAssignableIdentity minion, WorkshopProfileSideScreen parent) { sideScreen = parent; targetIdentity = minion; // Create the picture of the Duplicant's head if (portraitInstance == null) { portraitInstance = Util.KInstantiateUI <CrewPortrait>(crewPortraitPrefab. gameObject, gameObject, false); portraitInstance.transform.SetSiblingIndex(1); portraitInstance.SetAlpha(1f); } portraitInstance.SetIdentityObject(minion, false); Refresh(); }
public void SetMinionContent(MinionAssignablesProxy identity, AccessControl.Permission permission, bool isDefault, Action <MinionAssignablesProxy, AccessControl.Permission> onPermissionChange, Action <MinionAssignablesProxy, bool> onDefaultClick) { SetContent(permission, onPermissionChange); if ((UnityEngine.Object)identity == (UnityEngine.Object)null) { Debug.LogError("Invalid data received."); } else { if ((UnityEngine.Object)portraitInstance == (UnityEngine.Object)null) { portraitInstance = Util.KInstantiateUI <CrewPortrait>(crewPortraitPrefab.gameObject, defaultButton.gameObject, false); portraitInstance.SetAlpha(1f); } targetIdentity = identity; portraitInstance.SetIdentityObject(identity, false); portraitInstance.SetSubTitle((!isDefault) ? UI.UISIDESCREENS.ACCESS_CONTROL_SIDE_SCREEN.USING_CUSTOM : UI.UISIDESCREENS.ACCESS_CONTROL_SIDE_SCREEN.USING_DEFAULT); defaultClickedCallback = null; defaultButton.isOn = !isDefault; defaultClickedCallback = onDefaultClick; } }