private void OnStartDriving(Spacecraft craft) { if (_arrivals.Count > 0 && craft == _arrivals[0].Craft) { _arrivals[0].QueueNextNPCMove = true; } }
void GetRocketComponents() { List <GameObject> attachedNetwork = AttachableBuilding.GetAttachedNetwork(this.GetComponent <AttachableBuilding>()); foreach (GameObject gameObject in attachedNetwork) { CommandModule component = gameObject.GetComponent <CommandModule>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { relatedCM = component; } } if (relatedCM == null) { return; } LaunchConditionManager conditionManager = relatedCM.gameObject.GetComponent <LaunchConditionManager>(); if (conditionManager == null) { return; } relatedSpacecraft = SpacecraftManager.instance.GetSpacecraftFromLaunchConditionManager(conditionManager); }
public static void InputHandler(Spacecraft spacecraft) { if (Console.KeyAvailable) { ConsoleKeyInfo userInput = Console.ReadKey(); while (Console.KeyAvailable) { Console.ReadKey(); } if (userInput.Key == ConsoleKey.DownArrow) { spacecraft.Move(1); } else if (userInput.Key == ConsoleKey.UpArrow) { spacecraft.Move(-1); } else if (userInput.Key == ConsoleKey.Spacebar) { if (bulletCount > 0) { Bullet bullet = new Bullet(new Vector2(spacecraft.Position.X + 7, spacecraft.Position.Y + 1)); spacecraft.Clip.Add(bullet); bulletCount--; } } } }
public void ScanSky() { float detectTime = this.GetDetectTime(); KPrefabID component = this.GetComponent <KPrefabID>(); if ((UnityEngine.Object) this.targetCraft.Get() == (UnityEngine.Object)null) { if ((double)SaveGame.Instance.GetComponent <SeasonManager>().TimeUntilNextBombardment() <= (double)detectTime) { component.AddTag(GameTags.Detecting); } else { component.RemoveTag(GameTags.Detecting); } } else { Spacecraft conditionManager = SpacecraftManager.instance.GetSpacecraftFromLaunchConditionManager(this.targetCraft.Get()); if (conditionManager.state == Spacecraft.MissionState.Destroyed) { this.targetCraft.Set((LaunchConditionManager)null); component.RemoveTag(GameTags.Detecting); } else if (conditionManager.state == Spacecraft.MissionState.Launching || conditionManager.state == Spacecraft.MissionState.WaitingToLand || conditionManager.state == Spacecraft.MissionState.Landing || conditionManager.state == Spacecraft.MissionState.Underway && (double)conditionManager.GetTimeLeft() <= (double)detectTime) { component.AddTag(GameTags.Detecting); } else { component.RemoveTag(GameTags.Detecting); } } }
/* * DATA SOURCE */ private JavaList <Spacecraft> GetSpacecrafts() { spacecrafts = new JavaList <Spacecraft>(); Spacecraft s; s = new Spacecraft("Luxuries bed Price:30k", Resource.Drawable.enterprise); spacecrafts.Add(s); s = new Spacecraft("Couple get-away Price:12k", Resource.Drawable.hubble); spacecrafts.Add(s); s = new Spacecraft("weekend vybz Price:20k", Resource.Drawable.kepler); spacecrafts.Add(s); s = new Spacecraft("College students Price:12k", Resource.Drawable.spitzer); spacecrafts.Add(s); s = new Spacecraft("Affordable rooms Price:15k", Resource.Drawable.rosetta); spacecrafts.Add(s); s = new Spacecraft("Opportunity formula Price:20k", Resource.Drawable.voyager); spacecrafts.Add(s); return(spacecrafts); }
public void RemoveSpacecraft(Spacecraft craft, bool arrival) { UISpacecraft[] array = arrival ? _arrivals : _departures; int count = array.Length; for (int i = 0; i < count; ++i) { if (array[i].Craft == craft) { // Reverse animation bool reversed = false; int numAnims = _anims.Count; for (int animIndex = 0; animIndex < numAnims; ++animIndex) { if (_anims[animIndex].Craft == craft) { _anims[animIndex].AnimPercentage = 1.0f - _anims[animIndex].AnimPercentage; _anims[animIndex].Appearing = false; reversed = true; break; } } if (!reversed) { // No existing anim playing so make new one _anims.Add(new SpacecraftUIAnim() { UI = array[i], Craft = craft, AnimPercentage = 0.0f, Arrival = arrival, Appearing = false }); ApplyAnim(_anims[_anims.Count - 1]); } break; } } }
public void UpdateSpacecraft(Spacecraft craft, float timerPercentage, bool arrival) { UISpacecraft[] array = arrival ? _arrivals : _departures; bool found = false; int count = array.Length; for (int i = 0; i < count; ++i) { if (array[i].Craft == craft) { array[i].SetTimerPercentage(timerPercentage); found = true; break; } } if (!found) { List <QueuedSpacecraftUI> queue = arrival ? _queuedArrivals : _queuedDepartures; count = queue.Count; for (int i = 0; i < count; ++i) { if (queue[i].Craft == craft) { queue[i].CraftTimerPercentage = timerPercentage; found = true; break; } } } }
public void ScanSky() { float detectTime = GetDetectTime(); KPrefabID component = GetComponent <KPrefabID>(); if ((Object)targetCraft.Get() == (Object)null) { if (SaveGame.Instance.GetComponent <SeasonManager>().TimeUntilNextBombardment() <= detectTime) { component.AddTag(GameTags.Detecting, false); } else { component.RemoveTag(GameTags.Detecting); } } else { Spacecraft spacecraftFromLaunchConditionManager = SpacecraftManager.instance.GetSpacecraftFromLaunchConditionManager(targetCraft.Get()); if (spacecraftFromLaunchConditionManager.state == Spacecraft.MissionState.Destroyed) { targetCraft.Set(null); component.RemoveTag(GameTags.Detecting); } else if (spacecraftFromLaunchConditionManager.state == Spacecraft.MissionState.Launching || spacecraftFromLaunchConditionManager.state == Spacecraft.MissionState.WaitingToLand || spacecraftFromLaunchConditionManager.state == Spacecraft.MissionState.Landing || (spacecraftFromLaunchConditionManager.state == Spacecraft.MissionState.Underway && spacecraftFromLaunchConditionManager.GetTimeLeft() <= detectTime)) { component.AddTag(GameTags.Detecting, false); } else { component.RemoveTag(GameTags.Detecting); } } }
private void SpacecraftDestroyed(GameObject craft) { Spacecraft spacecraft = craft.GetComponent <Spacecraft>(); if (spacecraft == null) { Debug.LogError("craft parameter has no Spacecraft component, name = " + craft.name); } if (spacecraft.SpacecraftType == SpacecraftType.Hero) { AddLives(-1); if (m_livesRemaining == 0) { SendMessage("GameOver", SendMessageOptions.DontRequireReceiver); } else { Invoke("SpawnHero", SpawnDelay); } } else { string type = spacecraft.SpacecraftType.ToString(); int score = m_scoreCalculator.GetScore(type); AddScore(score); } }
protected override void OnSpawn() { base.OnSpawn(); conditionManager = FindLaunchConditionManager(); Spacecraft spacecraftFromLaunchConditionManager = SpacecraftManager.instance.GetSpacecraftFromLaunchConditionManager(conditionManager); if (spacecraftFromLaunchConditionManager != null) { SetParentRocketName(spacecraftFromLaunchConditionManager.GetRocketName()); } RegisterWithConditionManager(); KSelectable component = GetComponent <KSelectable>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { component.AddStatusItem(Db.Get().BuildingStatusItems.RocketName, this); } if ((UnityEngine.Object)conditionManager != (UnityEngine.Object)null && conditionManager.GetComponent <KPrefabID>().HasTag(GameTags.RocketNotOnGround)) { OnLaunch(null); } Subscribe(-1056989049, OnLaunchDelegate); Subscribe(238242047, OnLandDelegate); Subscribe(1502190696, DEBUG_OnDestroyDelegate); FixSorting(); AttachableBuilding component2 = GetComponent <AttachableBuilding>(); component2.onAttachmentNetworkChanged = (Action <AttachableBuilding>)Delegate.Combine(component2.onAttachmentNetworkChanged, new Action <AttachableBuilding>(OnAttachmentNetworkChanged)); if ((UnityEngine.Object)bgAnimFile != (UnityEngine.Object)null) { AddBGGantry(); } }
public Spacecraft CreateSpacecraft() { var spacecraft = new Spacecraft(_models["Spacecraft"], new Vector4(0, -1f, Z, 0), Vector4.Zero, Vector4.Zero, 0); spacecraft.SetScale(new Vector3(0.2f, 0.2f, 0.001f)); return(spacecraft); }
private void OnStopDriving(Spacecraft craft) { transform.position = craft.transform.position + _exitSpacecraftHeight * Vector3.up; _rb.velocity = Vector3.zero; _rb.angularVelocity = Vector3.zero; gameObject.SetActive(true); _timeLastExitedCraft = Time.time; }
private void DEBUG_OnDestroy(object data) { if ((UnityEngine.Object)conditionManager != (UnityEngine.Object)null && !App.IsExiting && !KMonoBehaviour.isLoadingScene) { Spacecraft spacecraftFromLaunchConditionManager = SpacecraftManager.instance.GetSpacecraftFromLaunchConditionManager(conditionManager); conditionManager.DEBUG_TraceModuleDestruction(base.name, spacecraftFromLaunchConditionManager.state.ToString(), new StackTrace(true).ToString()); } }
public static void StartDriving(Spacecraft craft) { _driving = craft; if (OnStartDriving != null) { OnStartDriving(craft); } }
private void FixedUpdate() { if (Globals.Game.State != GameState.Game) { return; } // Move MoveHorizontal(); // Outline nearest spacecraft Spacecraft nearestCraft = null; float nearestDistSqr = Mathf.Infinity; List <Spacecraft> drivables = Globals.Game.AllDrivableCraft; int numSpacecraft = drivables.Count; Vector3 position = transform.position; for (int i = 0; i < numSpacecraft; ++i) { Vector3 craftPosition = drivables[i].transform.position; float distSqr = (craftPosition - position).sqrMagnitude; if (distSqr < nearestDistSqr) { nearestDistSqr = distSqr; nearestCraft = drivables[i]; } } if (nearestDistSqr > _enterSpacecraftDistance * _enterSpacecraftDistance) { nearestCraft = null; } for (int i = 0; i < numSpacecraft; ++i) { drivables[i].SetOutlineVisible(drivables[i] == nearestCraft); } // Attempt to enter nearest spacecraft float timeSinceExited = Time.time - _timeLastExitedCraft; if (!Globals.IsDriving && nearestCraft != null && timeSinceExited >= 0.1f && _wantEnterCraft) { nearestCraft.StartDriving(); } // Grounded check float heightAboveGround = transform.position.y; Vector3 basePosition = transform.position; Ray ray = new Ray(transform.position + _raycastHeightOffset * Vector3.up, Vector3.down); if (Physics.Raycast(ray, out RaycastHit hit, float.MaxValue, Globals.MaskEnvironment | Globals.MaskSpacecraft)) { if (hit.distance < _raycastHeightOffset + _heightConsideredGrounded) { _timeLastGrounded = Time.time; } heightAboveGround = hit.distance - _raycastHeightOffset; basePosition = hit.point; }
public void Populate(Spacecraft craft) { _craft = craft; _imageCraft.texture = craft.CreatePreview(); _imageOwner.sprite = _ownerSprites[(int)craft.Owner]; SetTimerPercentage(1.0f); SetAlphaMultiplier(1.0f); Resources.UnloadUnusedAssets(); // Flush old preview texture }
private void MakeNewSpacecraft() { Quaternion spawnRot = Quaternion.LookRotation(Vector3.right, Vector3.up); Spacecraft craft = Instantiate(_prefabSpacecraft, _arrivalStartPos, spawnRot, transform); _arrivalEndPos = _markerArrivals.transform.position - (0.5f * _markerArrivals.size.y - craft.HeightWhenDriving) * Vector3.up; craft.gameObject.SetActive(false); _pooledCraft.Add(craft); }
// Update is called once per frame void Update() { rigidbody.AddForce(Vector3.down * 1f, ForceMode.Impulse); if (transform.position.y < Formation.MIN_Y) { Spacecraft craft = GetComponent <Spacecraft>(); craft.SpacecraftType = SpacecraftType.None; // so I don't get points for it SendMessageUpwards("DirectHit", gameObject, SendMessageOptions.DontRequireReceiver); } }
/// <summary> /// Constructs new ElectricitySubsystem for given Spacecraft. /// </summary> public ElectricitySubsystem(Spacecraft spacecraft) { Spacecraft = spacecraft; EquipmentNetwork = new EquipmentNetwork(); Spacecraft.EquipmentTrackingSubsystem.EquipmentConnected += OnEquipmentConnected; Spacecraft.EquipmentTrackingSubsystem.EquipmentDisconnected += OnEquipmentDisconnected; EquipmentNetwork.PowerStateChanged += InvokePowerStateChanged; }
private static void Postfix(Spacecraft __instance, float deltaTime) { bool has_reached_destination = (__instance.state == Spacecraft.MissionState.Underway || __instance.state == Spacecraft.MissionState.WaitingToLand || __instance.state == Spacecraft.MissionState.Landing) && __instance.GetTimeLeft() <= __instance.GetDuration() / 2; var destination = SpacecraftManager.instance.GetSpacecraftDestination(__instance.id); foreach (GameObject item in AttachableBuilding.GetAttachedNetwork(__instance.launchConditions.GetComponent <AttachableBuilding>())) { item.GetComponent <EndpointTransport>()?.SetReachedDestination(has_reached_destination, destination); } }
void OnCollisionEnter(Collision collision) { Spacecraft craft = collision.gameObject.GetComponent <Spacecraft>(); if (craft) { craft.StopMoving(); craft.Invoke("StartMoving", 4.0f); } }
public static void StopDriving() { Spacecraft exiting = _driving; _driving = null; if (OnStopDriving != null) { OnStopDriving(exiting); } }
/// <summary> /// Applied after CompleteMission runs. /// </summary> internal static void Postfix(Spacecraft __instance) { var instance = SpacecraftManager.instance; SpaceDestination destination; if ((destination = instance.GetSpacecraftDestination(__instance.id)) != null) { AchievementStateComponent.OnVisit(destination.id); } }
/// <summary> /// Returns test spacecraft in fresh test world. It is not player ship. /// </summary> /// <returns></returns> public static Spacecraft GetTestSpacecraft() { var worldContext = WorldHelper.GetTestWorld(); var spacececraft = Spacecraft.DeserializeFrom( new FileStream($"{TestContext.CurrentContext.TestDirectory}/TestData/TestSpacecraft.json", FileMode.Open), worldContext); return(spacececraft); }
void Start() { spaceCraftScript = spaceCraftGO.GetComponent <Spacecraft>(); spaceCraftRB = spaceCraftGO.GetComponent <Rigidbody>(); for (int i = projectileAmount; i > 0; i--) { GameObject newProjectile = Instantiate(projectileGO, projectileSpawner.position, projectileSpawner.rotation); newProjectile.SetActive(false); } }
/// <summary> /// Applied before PushReadyToLandNotification runs. /// </summary> internal static bool Prefix(SpacecraftManager __instance, Spacecraft spacecraft) { var notification = new Notification(STRINGS.BUILDING.STATUSITEMS. SPACECRAFTREADYTOLAND.NOTIFICATION, NotificationType.Good, HashedString. Invalid, (notificationList, data) => STRINGS.BUILDING.STATUSITEMS. SPACECRAFTREADYTOLAND.NOTIFICATION_TOOLTIP + notificationList. ReduceMessages(false), spacecraft.launchConditions.GetProperName(), true); __instance.gameObject.AddOrGet <Notifier>().Add(notification); return(false); }
public EquipmentTrackingSubsystem(Spacecraft spacecraft) { Spacecraft = spacecraft; _installedEquipment = new List <Equipment>(); Assert.IsTrue(Spacecraft.Hardpoints.Count == 0, "Tried to initialize EquipmentTrackingSubsystem after spacecraft initialization." + "Don't do that or add appropriate initialization code."); Spacecraft.Hardpoints.HardpointMounted += OnHardpointMounted; Spacecraft.Hardpoints.HardpointUnmounted += OnHardpointUnmounted; }
public static void MoveBullets(Spacecraft spacecraft) { for (int i = 0; i < spacecraft.Clip.Count; i++) { if (spacecraft.Clip[i].Position.X > playField) { spacecraft.Clip[i].Delete(); spacecraft.Clip.Remove(spacecraft.Clip[i]); i--; } spacecraft.Clip[i].MoveBullet(); } }
public void ApplyDamage_100Damage_20percent_attenuation_total_damage_is_80() { //ARRANGE Spacecraft spacecraft = new Spacecraft(); spacecraft.Health = 100; //ACT spacecraft.ApplyDamage(100, .2f); //ASSERT Assert.AreEqual(80, spacecraft.Health); }
void Start() { // For testing purpose weapon1 = ""; weapon2 = ""; item1 = ""; item2 = ""; currentSpeed = 0; init_Start_Values(); init_card_Stack(); spacecraft = space.GetComponent <Spacecraft>(); }