// //You can use the following additional attributes as you write your tests: // //Use ClassInitialize to run code before running the first test in the class //[ClassInitialize()] //public static void MyClassInitialize(TestContext testContext) //{ //} // //Use ClassCleanup to run code after all tests in a class have run //[ClassCleanup()] //public static void MyClassCleanup() //{ //} // //Use TestInitialize to run code before running each test //[TestInitialize()] //public void MyTestInitialize() //{ //} // //Use TestCleanup to run code after each test has run //[TestCleanup()] //public void MyTestCleanup() //{ //} // #endregion /// <summary> ///A test for Shuffle ///</summary> public void ShuffleTestHelper <T>() { IList <T> list = null; // TODO: Initialize to an appropriate value IListExtensions.Shuffle <T>(list); Assert.Inconclusive("A method that does not return a value cannot be verified."); }
public void SetScroll(List <SuperHeroParts> superHeroPart, Action action) { onScroll = action; //buttonsParent.SetActive(true); selected_Sprite.gameObject.SetActive(false); spriteIndex = 0; this.superHeroParts.AddRange(superHeroPart); IListExtensions.Shuffle(this.superHeroParts); for (int i = 0; i < 2; i++) { SpriteRenderer objPart = Utils.GetSpriteRenderer(this.transform); objPart.maskInteraction = SpriteMaskInteraction.VisibleInsideMask; objPart.transform.localScale = Vector3.one * 0.8f; objPart.transform.localPosition = new Vector3(i * gapValue, 0, 0); objPart.gameObject.AddComponent <AnimationScript>(); if (part == SuperHeroPart.Head) { objPart.GetComponent <AnimationScript>().Init(0.5f, superHeroParts[i].gameSprites); } else { objPart.sprite = superHeroParts[i].creatorSprite; } parts.Add(objPart.transform); } }
public void SetRound(int personCount, int helicopterCount, int tankCount) { this.spawnOrder.AddRange(Enumerable.Repeat(EnemyType.Person, personCount)); this.spawnOrder.AddRange(Enumerable.Repeat(EnemyType.Helicopter, helicopterCount)); this.spawnOrder.AddRange(Enumerable.Repeat(EnemyType.Tank, tankCount)); IListExtensions.Shuffle(this.spawnOrder); }
public List <TileType> getColorArray(int range) { List <TileType> colors = Enum.GetValues(typeof(TileType)).Cast <TileType>().ToList(); List <TileType> subColors = colors.GetRange(2, colors.Count - 2); IListExtensions.Shuffle(subColors); subColors = subColors.GetRange(0, range); return(subColors); }
private void StartGame() { // shuffle players list IListExtensions.Shuffle <GameObject>(players); //FIXME in the future, make this start all ui components necessary when game starts foreach (GameObject player in Players) { player.GetComponent <InputController>().RpcSetNotificationPanel(true); } // initialise turn manager TurnManager.instance.Init(); }
public void BuildCycle() { if (pickedAttackStates.Count > 0) { currentIdleDuration = 0; } else { currentIdleDuration = bossStats.idleDuration; pickedAttackStates = Enum.GetValues(typeof(AttackStates)).Cast <AttackStates>().ToList(); IListExtensions.Shuffle(pickedAttackStates); } }
//creates a deck of shuffeled cards public void CreateDeck() { //if (cards == null) cards = new List<int>(DataController.Instance.GetCardDataBase().Cards.Keys); //TODO:FIX THIS //this has to be done to avoid getting a reference of the list of cards and so changing it //foreach(int currentCard in DataController.Instance.GetCardService().DeckCards) //{ // Debug.Log("adding card with id :" + currentCard); // cards.Add(currentCard); //} cards = DataController.Instance.GetCardService().DeckCards; IListExtensions.Shuffle(cards); }
//stolen from Heart.cs, modified slightly to work as an attachment to a bodypart rather than a bodypart in and of itself //forcing efficiency at 1.0f, ignoring whether or not the bodypart is functioning void PumpBloodMaster(float deltaTime) { //starting from a random bodypart that is connected to this charm: List <BodyPart> allBodyParts = bodyPartManager.bodyParts; List <int> bodypartOrder = Enumerable.Range(0, allBodyParts.Count()).ToList <int>(); IListExtensions.Shuffle <int>(bodypartOrder); foreach (int bodypartIndex in bodypartOrder) { if (allBodyParts[bodypartIndex].IsConnectedToBodyPartStarter(this.gameObject.GetComponent <BodyPart>())) { allBodyParts[bodypartIndex].PumpBlood(1.0f, deltaTime); } } }
void Start() { this.transform.localScale = new Vector3(1 / FindObjectOfType <Stage>().transform.localScale.x, 1, 1); //cloudStartPosition = 1;// AbstractImmersiveCamera.CurrentImmersiveCamera.cameras[2].transform.localPosition.x + AbstractImmersiveCamera.CurrentImmersiveCamera.cameras[2].aspect; //cloudLastPosition = -1;// AbstractImmersiveCamera.CurrentImmersiveCamera.cameras[0].transform.localPosition.x - AbstractImmersiveCamera.CurrentImmersiveCamera.cameras[0].aspect; IListExtensions.Shuffle(cloudSprites); for (int i = 0; i < clouds.Count; i++) { clouds[i].sprite = cloudSprites[i]; clouds[i].transform.localPosition = new Vector3(clouds[i].transform.localPosition.x, Random.Range(0.7f, 1.2f), 0); xRange.Add(clouds[i].transform.localPosition.x); AnimateCloud(clouds[i], i); } IListExtensions.Shuffle(cloudSprites); }
// Start is called before the first frame update void Start() { imageList.Add(dog.GetComponent <SpriteRenderer>().sprite); imageList.Add(dog.GetComponent <SpriteRenderer>().sprite); imageList.Add(cat.GetComponent <SpriteRenderer>().sprite); imageList.Add(cat.GetComponent <SpriteRenderer>().sprite); imageList.Add(fern.GetComponent <SpriteRenderer>().sprite); imageList.Add(fern.GetComponent <SpriteRenderer>().sprite); imageList.Add(bottle.GetComponent <SpriteRenderer>().sprite); imageList.Add(bottle.GetComponent <SpriteRenderer>().sprite); IListExtensions.Shuffle(imageList); int index = 0; foreach (Transform card in coveredCards.transform) { card.GetComponent <SpriteRenderer>().sprite = imageList[index]; index++; } }
void AnimateCloud(SpriteRenderer cloud, int index) { cloud.transform.localScale = Vector3.one * Random.Range(0.6f, 1.0f); float transitionTime = Vector2.Distance(cloud.transform.localPosition, new Vector2(-1, 0)) * 2; iTween.MoveTo(cloud.gameObject, iTween.Hash("x", cloud.transform.localPosition.x, "y", -1, "z", 0, "islocal", true, "time", transitionTime * 5, "easetype", iTween.EaseType.linear, "oncomplete", (System.Action <object>)(newValue => { cloud.sprite = cloudSprites[cloudIndex]; cloud.transform.localPosition = new Vector3(Random.Range(xRange[index] - 0.4f, xRange[index] + 0.4f), Random.Range(0.7f, 1.2f), 0); AnimateCloud(cloud, index); cloudIndex++; if (cloudIndex >= clouds.Count) { cloudIndex = 0; IListExtensions.Shuffle(cloudSprites); } }))); }
//responsible for controlling blood pumping in all bodyparts //TODO: the amount of blood moving around should be capped by the amount of blood actually *in* the heart void PumpBloodMaster(float deltaTime) { if (isFunctioning == false) { return; } //randomising pump order, to prevent odd effects from fixed loops List <BodyPart> allBodyParts = bodyPartManager.bodyParts; List <int> bodypartOrder = Enumerable.Range(0, allBodyParts.Count()).ToList <int>(); IListExtensions.Shuffle <int>(bodypartOrder); //for all bodyparts, //if this heart is connected to that bodypart, //pump blood foreach (int bodypartIndex in bodypartOrder) { if (allBodyParts[bodypartIndex].connectedHearts.Contains(this)) { allBodyParts[bodypartIndex].PumpBlood(efficiency, deltaTime); } } }
private void Start() { IListExtensions.Shuffle(colors); Camera.main.backgroundColor = backgroundColor; }
//Pumps blood, if there is blood left to pump. public void PumpBlood(float heartEfficiency, float deltaTime) { deltaTime *= timeScale; //pumping blood to contained organs in a random order, to prevent loops forming between pairs of bodyparts, trapping blood between them List <BodyPart> allBodyParts = connectedBodyParts.Concat(containedOrgans).ToList(); IListExtensions.Shuffle(allBodyParts); foreach (BodyPart bodyPart in allBodyParts) { //cap blood and oxygen transfer rate at between 0.2 and 5 times the blood pump rate, plus slowdown factor for more localised substances float tempBloodPumpRate = Mathf.Max(Mathf.Min((blood / bodyPart.blood), 5), 0.2f) * bloodPumpRate * heartEfficiency; float tempOxygenPumpRate = Mathf.Max(Mathf.Min((oxygen / bodyPart.oxygen), 5), 0.2f) * bloodPumpRate * heartEfficiency; float tempHealthPotionPumpRate = Mathf.Max(Mathf.Min((healthPotion / bodyPart.healthPotion), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.001f; float tempAntidotePumpRate = Mathf.Max(Mathf.Min((antidote / bodyPart.antidote), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.001f; float tempSlowPoisonPumpRate = Mathf.Max(Mathf.Min((slowPoison / bodyPart.slowPoison), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.0001f; float tempStasisPotionPumpRate = Mathf.Max(Mathf.Min((stasisPotion / bodyPart.stasisPotion), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.001f; float tempCoagulantPotionPumpRate = Mathf.Max(Mathf.Min((coagulantPotion / bodyPart.coagulantPotion), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.001f; float tempHastePotionPumpRate = Mathf.Max(Mathf.Min((hastePotion / bodyPart.hastePotion), 5), 0.2f) * bloodPumpRate * heartEfficiency * 0.001f; //transport blood float proposedBloodOut = tempBloodPumpRate * deltaTime; float bloodOut = Mathf.Min(Mathf.Min(blood, proposedBloodOut), (bodyPart.bloodMax - bodyPart.blood)); bodyPart.blood += bloodOut; blood -= bloodOut; //transport oxygen float proposedOxygenOut = tempOxygenPumpRate * deltaTime; float oxygenOut = Mathf.Max(Mathf.Min(oxygen, proposedOxygenOut), 0); bodyPart.oxygen += oxygenOut; oxygen -= oxygenOut; if (healthPotion > 0.0f) { //transport health potion float proposedHealthPotionOut = tempHealthPotionPumpRate * deltaTime; float healthPotionOut = Mathf.Min(healthPotion, proposedHealthPotionOut); bodyPart.healthPotion += healthPotionOut; healthPotion -= healthPotionOut; } if (antidote > 0.0f) { //transport antidote float proposedAntidoteOut = tempAntidotePumpRate * deltaTime; float antidoteOut = Mathf.Min(antidote, proposedAntidoteOut); bodyPart.antidote += antidoteOut; antidote -= antidoteOut; } if (slowPoison > 0.0f) { //transport slow poison float proposedSlowPoisonOut = tempSlowPoisonPumpRate * deltaTime; float slowPoisonOut = Mathf.Min(slowPoison, proposedSlowPoisonOut); bodyPart.slowPoison += slowPoisonOut; slowPoison -= slowPoisonOut; } if (stasisPotion > 0.0f) { //transport stasis potion float proposedStasisPotionOut = tempStasisPotionPumpRate * deltaTime; float stasisPotionOut = Mathf.Min(stasisPotion, proposedStasisPotionOut); bodyPart.stasisPotion += stasisPotionOut; stasisPotion -= stasisPotionOut; } if (coagulantPotion > 0.0f) { //transport stasis potion float proposedCoagulantPotionOut = tempCoagulantPotionPumpRate * deltaTime; float coagulantPotionOut = Mathf.Min(coagulantPotion, proposedCoagulantPotionOut); bodyPart.coagulantPotion += coagulantPotionOut; coagulantPotion -= coagulantPotionOut; } if (hastePotion > 0.0f) { //transport stasis potion float proposedHastePotionOut = tempHastePotionPumpRate * deltaTime; float hastePotionOut = Mathf.Min(hastePotion, proposedHastePotionOut); bodyPart.hastePotion += hastePotionOut; hastePotion -= hastePotionOut; } } }
public void Initialise(GameMode gamemode, PlayerMatchStats playerMatchStats) { panelBackgroundImage.color = GameManager.instance.playerColours[playerMatchStats.playerNumber - 1]; playerNumberText.text = "Player " + playerMatchStats.playerNumber.ToString(); switch (gamemode) { case GameMode.FreeForAll: playerPointsText.text = "Total Round Wins: " + playerMatchStats.roundWins; roundWinsText.text = ""; break; case GameMode.Elimination: break; case GameMode.Extraction: playerPointsText.text = "Total Points: " + playerMatchStats.points; roundWinsText.text = "Total Round Wins: " + playerMatchStats.roundWins + playerMatchStats.extractions; break; case GameMode.Climb: break; default: break; } playerKillsText.text = "Total Player Kills: " + playerMatchStats.playerKills; aiKillsText.text = "Total AI Kills: " + playerMatchStats.aiKills; if (playerMatchStats.bulletsFired == 0) { accuracyText.text = "Accuracy: N/A"; } else { float accuracy = (((float)playerMatchStats.bulletsHit / (float)playerMatchStats.bulletsFired) * 100); accuracyText.text = "Accuracy: " + accuracy.ToString("F1") + "%"; } achievements = GameManager.instance.achievementChecker.GetAchievements(playerMatchStats.playerNumber); IListExtensions.Shuffle <Achievements>(achievements); indexes = new int[achievementParents.Length]; for (int i = 0; i < indexes.Length; i++) { indexes[i] = i; } foreach (var item in achievementParents) { item.SetActive(false); } if (achievements == null) { return; } if (achievements.Count >= achievementParents.Length) { for (int i = 0; i < achievementParents.Length; i++) { achievementParents[i].SetActive(true); achievementTexts[i].text = achievements[i].achievementName; achievementSprites[i].sprite = achievements[i].sprite; SetBorder(i, i); } StartCoroutine("NextSlide"); } else { for (int i = 0; i < achievements.Count; i++) { achievementParents[i].SetActive(true); achievementTexts[i].text = achievements[i].achievementName; achievementSprites[i].sprite = achievements[i].sprite; SetBorder(i, i); } } }
protected override void StartLogic() { base.StartLogic(); IListExtensions.Shuffle(_tasks); }
//***BOSS STATE public void BuildCycle() { pickedAttackStates = new List <string>(possibleAttackStates); IListExtensions.Shuffle(pickedAttackStates); }