private void Refresh(List <MinionAssignablesProxy> identities, bool rebuild) { Rotatable component = target.GetComponent <Rotatable>(); bool rotated = (UnityEngine.Object)component != (UnityEngine.Object)null && component.IsRotated; defaultsRow.SetRotated(rotated); defaultsRow.SetContent(target.DefaultPermission, OnDefaultPermissionChanged); if (rebuild) { ClearContent(); } foreach (MinionAssignablesProxy identity in identities) { AccessControlSideScreenRow accessControlSideScreenRow; if (rebuild) { accessControlSideScreenRow = rowPool.GetFreeElement(rowGroup, true); identityRowMap.Add(identity, accessControlSideScreenRow); } else { accessControlSideScreenRow = identityRowMap[identity]; } AccessControl.Permission setPermission = target.GetSetPermission(identity); bool isDefault = target.IsDefaultPermission(identity); accessControlSideScreenRow.SetRotated(rotated); accessControlSideScreenRow.SetMinionContent(identity, setPermission, isDefault, OnPermissionChanged, OnPermissionDefault); } RefreshOnline(); ContentContainer.SetActive(target.controlEnabled); }