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); } } } } }
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); } } }