public void ReleaseAstronaut(bool fill_bladder) { if (!releasingAstronaut) { releasingAstronaut = true; MinionStorage component = GetComponent <MinionStorage>(); List <MinionStorage.Info> storedMinionInfo = component.GetStoredMinionInfo(); for (int num = storedMinionInfo.Count - 1; num >= 0; num--) { MinionStorage.Info info = storedMinionInfo[num]; GameObject gameObject = component.DeserializeMinion(info.id, Grid.CellToPos(Grid.PosToCell(base.smi.master.transform.GetPosition()))); if (!((Object)gameObject == (Object)null)) { if (Grid.FakeFloor[Grid.OffsetCell(Grid.PosToCell(base.smi.master.gameObject), 0, -1)]) { gameObject.GetComponent <Navigator>().SetCurrentNavType(NavType.Floor); } if (fill_bladder) { AmountInstance amountInstance = Db.Get().Amounts.Bladder.Lookup(gameObject); if (amountInstance != null) { amountInstance.value = amountInstance.GetMax(); } } } } releasingAstronaut = false; } }
protected override void OnSpawn() { base.OnSpawn(); UpdateTint(); UpdateStatusString(); base.OnAssign += OnNewAssignment; if (assignee == null) { MinionStorage component = GetComponent <MinionStorage>(); if ((bool)component) { List <MinionStorage.Info> storedMinionInfo = component.GetStoredMinionInfo(); if (storedMinionInfo.Count > 0) { MinionStorage.Info info = storedMinionInfo[0]; Ref <KPrefabID> serializedMinion = info.serializedMinion; if (serializedMinion != null && serializedMinion.GetId() != -1) { KPrefabID kPrefabID = serializedMinion.Get(); StoredMinionIdentity component2 = kPrefabID.GetComponent <StoredMinionIdentity>(); component2.ValidateProxy(); Assign(component2); } } } } }
private void BuildMinions() { for (int num = minionWidgets.Count - 1; num >= 0; num--) { minionWidgets[num].DeleteObject(); } minionWidgets.Clear(); foreach (MinionIdentity item in Components.LiveMinionIdentities.Items) { GameObject gameObject = Util.KInstantiateUI(Prefab_minion, Prefab_minionLayout, true); gameObject.GetComponent <SkillMinionWidget>().SetMinon(item); minionWidgets.Add(gameObject.GetComponent <SkillMinionWidget>()); } foreach (MinionStorage item2 in Components.MinionStorages.Items) { foreach (MinionStorage.Info item3 in item2.GetStoredMinionInfo()) { MinionStorage.Info current3 = item3; if (current3.serializedMinion != null) { StoredMinionIdentity minon = current3.serializedMinion.Get <StoredMinionIdentity>(); GameObject gameObject2 = Util.KInstantiateUI(Prefab_minion, Prefab_minionLayout, true); gameObject2.GetComponent <SkillMinionWidget>().SetMinon(minon); minionWidgets.Add(gameObject2.GetComponent <SkillMinionWidget>()); } } } if (CurrentlySelectedMinion == null && Components.LiveMinionIdentities.Count > 0) { CurrentlySelectedMinion = Components.LiveMinionIdentities.Items[0]; } }
public override LaunchStatus EvaluateLaunchCondition() { MinionStorage component = module.GetComponent <MinionStorage>(); List <MinionStorage.Info> storedMinionInfo = component.GetStoredMinionInfo(); if (storedMinionInfo.Count > 0) { MinionStorage.Info info = storedMinionInfo[0]; if (info.serializedMinion != null) { return(LaunchStatus.Ready); } } return(LaunchStatus.Failure); }
public void OnLand(object data) { SpaceDestination spacecraftDestination = SpacecraftManager.instance.GetSpacecraftDestination(SpacecraftManager.instance.GetSpacecraftID(GetComponent <RocketModule>().conditionManager.GetComponent <LaunchableRocket>())); foreach (MinionStorage.Info item in minionStorage.GetStoredMinionInfo()) { MinionStorage.Info current = item; StoredMinionIdentity minionID = current.serializedMinion.Get <StoredMinionIdentity>(); string text = SearchForArtifact(minionID, spacecraftDestination); if (text != null) { GameObject prefab = Assets.GetPrefab(text.ToTag()); GameObject gameObject = GameUtil.KInstantiate(prefab, base.gameObject.transform.GetPosition(), Grid.SceneLayer.Ore, null, 0); gameObject.SetActive(true); } } }
public bool CheckStoredMinionIsAssignee() { foreach (MinionStorage.Info item in GetComponent <MinionStorage>().GetStoredMinionInfo()) { MinionStorage.Info current = item; if (current.serializedMinion != null) { KPrefabID kPrefabID = current.serializedMinion.Get(); if (!((Object)kPrefabID == (Object)null)) { StoredMinionIdentity component = kPrefabID.GetComponent <StoredMinionIdentity>(); Assignable component2 = GetComponent <Assignable>(); if (component2.assignee == component.assignableProxy.Get()) { return(true); } } } } return(false); }
public void Refresh(string skillID) { Skill skill = Db.Get().Skills.Get(skillID); if (skill == null) { Debug.LogWarning("DbSkills is missing skillId " + skillID); } else { Name.text = skill.Name; LocText name = Name; name.text = name.text + "\n(" + Db.Get().SkillGroups.Get(skill.skillGroup).Name + ")"; this.skillID = skillID; tooltip.SetSimpleTooltip(SkillTooltip(skill)); MinionIdentity minionIdentity = skillsScreen.CurrentlySelectedMinion as MinionIdentity; StoredMinionIdentity storedMinionIdentity = skillsScreen.CurrentlySelectedMinion as StoredMinionIdentity; MinionResume minionResume = null; if ((UnityEngine.Object)minionIdentity != (UnityEngine.Object)null) { minionResume = minionIdentity.GetComponent <MinionResume>(); MinionResume.SkillMasteryConditions[] skillMasteryConditions = minionResume.GetSkillMasteryConditions(skillID); bool flag = minionResume.CanMasterSkill(skillMasteryConditions); if (!((UnityEngine.Object)minionResume == (UnityEngine.Object)null) && (minionResume.HasMasteredSkill(skillID) || flag)) { TitleBarBG.color = ((!minionResume.HasMasteredSkill(skillID)) ? header_color_can_assign : header_color_has_skill); hatImage.material = defaultMaterial; } else { TitleBarBG.color = header_color_disabled; hatImage.material = desaturatedMaterial; } } else if ((UnityEngine.Object)storedMinionIdentity != (UnityEngine.Object)null) { if (storedMinionIdentity.HasMasteredSkill(skillID)) { TitleBarBG.color = header_color_has_skill; hatImage.material = defaultMaterial; } else { TitleBarBG.color = header_color_disabled; hatImage.material = desaturatedMaterial; } } hatImage.sprite = Assets.GetSprite(skill.badge); bool active = false; if ((UnityEngine.Object)minionResume != (UnityEngine.Object)null) { minionResume.AptitudeBySkillGroup.TryGetValue(skill.skillGroup, out float value); active = (value > 0f); } aptitudeBox.SetActive(active); traitDisabledIcon.SetActive((UnityEngine.Object)minionResume != (UnityEngine.Object)null && !minionResume.IsAbleToLearnSkill(skill.Id)); string text = string.Empty; List <string> list = new List <string>(); foreach (MinionIdentity item in Components.LiveMinionIdentities.Items) { MinionResume component = item.GetComponent <MinionResume>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null && component.HasMasteredSkill(skillID)) { list.Add(component.GetProperName()); } } foreach (MinionStorage item2 in Components.MinionStorages.Items) { foreach (MinionStorage.Info item3 in item2.GetStoredMinionInfo()) { MinionStorage.Info current3 = item3; if (current3.serializedMinion != null) { StoredMinionIdentity storedMinionIdentity2 = current3.serializedMinion.Get <StoredMinionIdentity>(); if ((UnityEngine.Object)storedMinionIdentity2 != (UnityEngine.Object)null && storedMinionIdentity2.HasMasteredSkill(skillID)) { list.Add(storedMinionIdentity2.GetProperName()); } } } } masteryCount.gameObject.SetActive(list.Count > 0); foreach (string item4 in list) { text = text + "\n • " + item4; } masteryCount.SetSimpleTooltip((list.Count <= 0) ? UI.ROLES_SCREEN.WIDGET.NO_MASTERS_TOOLTIP.text : string.Format(UI.ROLES_SCREEN.WIDGET.NUMBER_OF_MASTERS_TOOLTIP, text)); masteryCount.GetComponentInChildren <LocText>().text = list.Count.ToString(); } }