public void GameAdvance() { if (AmountUntriggeredPlanets() > 0) { List <Planet> untriggered = GetFinishedUntriggeredPlanets(); int randomIndex = Random.Range(0, untriggered.Count - 1); if (untriggered.Count > 1) { while (untriggered[randomIndex] == PlayerController.instance.GetCurrentPlanet()) { randomIndex = Random.Range(0, untriggered.Count); } } if (gameState == 2) { nextEvent = new SpaceEvent(SpaceEvent.SpaceEventType.Asteroid, untriggered[randomIndex], new Vector3(2 * untriggered[randomIndex].transform.localScale.x, 20, 0)); untriggered[randomIndex].TriggerEvent(); } else if (gameState == 4) { nextEvent = new SpaceEvent(SpaceEvent.SpaceEventType.SolarFlare, untriggered[randomIndex], untriggered[randomIndex].transform.position); untriggered[randomIndex].TriggerEvent(); } else if (gameState == 5) { nextEvent = new SpaceEvent(SpaceEvent.SpaceEventType.Comet, untriggered[randomIndex], new Vector3(2 * untriggered[randomIndex].transform.localScale.x, 20, 0)); untriggered[randomIndex].TriggerEvent(); } if (gameState == 6) { nextEvent = new SpaceEvent(SpaceEvent.SpaceEventType.Asteroid, untriggered[randomIndex], new Vector3(2 * untriggered[randomIndex].transform.localScale.x, 20, 0)); untriggered[randomIndex].TriggerEvent(); } } }
public void CheckGameFinished() { if (AmountPlanetsFinished() >= AmountPlanets()) { nextEvent = new SpaceEvent(SpaceEvent.SpaceEventType.Supernova, planets[0], Vector3.zero); gamefinished = true; } }
public void CheckEvents() { if (nextEvent == null) { } else if (nextEvent.type == SpaceEvent.SpaceEventType.Asteroid) { Vector3 asteroidLocation = nextEvent.target.transform.position + nextEvent.relevantVector; GameObject newAsteroid = Instantiate(asteroidPrefab); newAsteroid.transform.position = asteroidLocation; newAsteroid.GetComponent <Asteroid>().SetTarget(nextEvent.target.gameObject); UIController.instance.SetScreen(nextEvent.type, nextEvent.target); newAsteroid.GetComponent <Asteroid>().isEvent = true; PlayerController.instance.SetMarker(newAsteroid); PlaySFX(alarmSFX); } else if (nextEvent.type == SpaceEvent.SpaceEventType.SolarFlare) { flareShot.GetComponent <FlareShot>().SetTarget(nextEvent.target); flareShot.transform.LookAt(nextEvent.relevantVector); flareShot.Play(); flareSphere.Play(); flareShot.GetComponent <Animator>().Play("FlareShot"); UIController.instance.SetScreen(nextEvent.type, nextEvent.target); PlaySFX(alarmSFX); } else if (nextEvent.type == SpaceEvent.SpaceEventType.Comet) { Vector3 asteroidLocation = nextEvent.target.transform.position + nextEvent.relevantVector; GameObject newAsteroid = Instantiate(cometPrefab); newAsteroid.transform.position = asteroidLocation; newAsteroid.GetComponent <Asteroid>().SetTarget(nextEvent.target.gameObject); UIController.instance.SetScreen(nextEvent.type, nextEvent.target); newAsteroid.GetComponent <Asteroid>().isEvent = true; PlayerController.instance.SetMarker(newAsteroid); PlaySFX(alarmSFX); } else if (nextEvent.type == SpaceEvent.SpaceEventType.Supernova) { music.Stop(); music.clip = nightmare; music.loop = false; music.Play(); percent = 100 * ((float)AmountPlanetsFinished() + AmountMoonsFinished()) / ((float)AmountPlanets() + AmountMoons()); PlayerController.instance.FinalSequence(); UIController.instance.FinalSequence(); sun.Play("Supernova"); flareSphere.Play(); flareShot.Play(); gamefinished = true; } nextEvent = null; }
public void DateParts() { // Arrange var Now = DateTime.Now; var SE = new SpaceEvent() { Date = Now }; // Assert Assert.Equal(Now.Year, SE.Year); Assert.Equal(Now.Month, SE.Month); Assert.Equal(Now.Day, SE.Day); }
public void SaveSpaceEvent() { // Arrange var SE = new SpaceEvent() { Name = "Test Event", Country = "United States", Date = DateTime.Now }; // Act DB.SaveSpaceEvent(SE); // Assert }
public void ConvenienceDate() { // Arrange var TheDate = new DateTime(1977, 5, 19); var Now = DateTime.Now; var SE = new SpaceEvent() { Date = TheDate }; // Act var ReturnedDate = SE.ConvenienceDate; // Assert Assert.Equal(Now.Year, ReturnedDate.Year); Assert.Equal(TheDate.Month, ReturnedDate.Month); Assert.Equal(TheDate.Day, ReturnedDate.Day); }
public void SpaceEventGroup() { //Given var SE1 = new SpaceEvent() { Name = "Test Event 1", Country = "United States", Date = new DateTime(1969, 1, 1) }; var SE2 = new SpaceEvent() { Name = "Test Event 2", Country = "United States", Date = new DateTime(1980, 5, 1) }; var SE2_2 = new SpaceEvent() { Name = "Test Event 2_2", Country = "United States", Date = new DateTime(1981, 5, 1) }; var SE3 = new SpaceEvent() { Name = "Test Event 3", Country = "United States", Date = new DateTime(2000, 12, 1) }; DB.SaveSpaceEvent(SE1); DB.SaveSpaceEvent(SE2); DB.SaveSpaceEvent(SE2_2); DB.SaveSpaceEvent(SE3); //When var SEGroup = DB.GetGroupForDate(new DateTime(2019, 5, 1)); //Then Assert.True(SEGroup.CurrentCount > 1); Assert.NotNull(SEGroup.Previous); Assert.NotNull(SEGroup.Next); }
IEnumerator SpaceEffect() { List <int> effected = new List <int>(); while (true) { if (effectTimeLock < Time.time) { effectTimeLock = Time.time + 30; currentEvent.Clear(); for (int i = 1; i < SoulLevel; i++) { SpaceEvent se = (SpaceEvent)Random.Range(0, (int)SpaceEvent.Count); currentEvent.Add(se); } } int effectMons = Random.Range(0, monsters.Count + 1); for (int i = 0; i < currentEvent.Count; i++) { if (Random.Range(0, 100) <= 5) { GetEvent(hero, currentEvent[i]); } for (int j = 0; j < effectMons; j++) { int mon = Random.Range(0, monsters.Count); if (effected.Contains(mon)) { continue; } GetEvent(monsters[j], currentEvent[i]); effected.Add(mon); } } effected.Clear(); //currentEvent yield return(new WaitForSeconds(5f)); } }
public ISpaceEventGroup GetGroupForDate(DateTime forDate) { var SE1 = new SpaceEvent() { Name = "Test Event 1", Country = "United States", Date = new DateTime(1969, 1, 1) }; var SE2 = new SpaceEvent() { Name = "Test Event 2", Country = "United States", Date = new DateTime(1980, 5, 1) }; var SE2_2 = new SpaceEvent() { Name = "Test Event 2_2", Country = "United States", Date = new DateTime(1981, 5, 1) }; var SE3 = new SpaceEvent() { Name = "Test Event 3", Country = "United States", Date = new DateTime(2000, 12, 1) }; var Result = new SpaceEventGroup(); Result.Previous = SE1; Result.Current.Add(SE2); Result.Current.Add(SE2_2); Result.Next = SE3; return(Result); }
private void GetEvent(Attacker atk, SpaceEvent se) { switch (se) { // hp-1% hp-100/s case SpaceEvent.Hot: atk.healPoint.AddValue(-100); atk.healPoint.AddMaxValue(-(int)(atk.healPoint.MaxValue * 0.01)); break; // atk-2 def-2 speed-2 case SpaceEvent.Disease: atk.attack.AddMaxValue(-2); atk.deffence.AddMaxValue(-2); atk.speed.AddMaxValue(-2); break; // mana-1% mana-50/s case SpaceEvent.Cold: atk.manaPoint.AddValue(-50); atk.manaPoint.AddMaxValue(-(int)(atk.healPoint.MaxValue * 0.01)); break; // atk-2 def-2 case SpaceEvent.Weak: atk.attack.AddMaxValue(-1); atk.deffence.AddMaxValue(-1); break; // def - 2 speed-2 case SpaceEvent.Freeze: atk.deffence.AddMaxValue(-1); atk.speed.AddMaxValue(-1); break; // speed - 3 case SpaceEvent.Wet: atk.speed.AddMaxValue(-2); break; // atk+1 case SpaceEvent.Fanaticism: atk.attack.AddMaxValue(2); break; // def+1 case SpaceEvent.Tight: atk.deffence.AddMaxValue(2); break; // speed+1 case SpaceEvent.Attension: atk.speed.AddMaxValue(1); break; // hp+1% hp+100 case SpaceEvent.Relax: atk.healPoint.AddValue(100); atk.healPoint.AddMaxValue((int)(atk.healPoint.MaxValue * 0.01)); break; // mp+1% mp+50 case SpaceEvent.Meditation: atk.manaPoint.AddValue(50); atk.manaPoint.AddMaxValue((int)(atk.healPoint.MaxValue * 0.01)); break; // luck-1 case SpaceEvent.Unluck: atk.luck.AddMaxValue(-1); break; // luck+1 case SpaceEvent.Lucky: atk.luck.AddMaxValue(1); break; case SpaceEvent.Count: default: break; } atk.GetComponent <ChracterBase>().ShowHUDText("I Got " + se.ToString(), Color.yellow, 1f); }
public void SaveSpaceEvent(SpaceEvent save) { }
public void SaveSpaceEvent(SpaceEvent save) => Context.SpaceEvents.ReplaceOne(Filter(save._id.ToString()), save, Options);