public void DoWork() { TTRPG.Api.consoleOutput("Started DynamicWeather Thread"); while (!_interuped) { var _loadedDie = new LoadedDie(new int[] { 155, //Extra Sunny 155, //Clear 155, //Clouds 45, //Smog 45, //Foggy 45, //Overcast 45, //Rain 45, //Thunder 45, //Light rain 45, //Smoggy light rain 45, //Very light Snow 45, //Windy light Snow 45, //Light snow 45 //Unknown (No Effect) }); int _weatherID = _loadedDie.NextValue(); string weather = ""; switch (_weatherID) { case 0: weather = "Extra Sunny"; break; case 1: weather = "Clear"; break; case 2: weather = "Clouds"; break; case 3: weather = "Smog"; break; case 4: weather = "Foggy"; break; case 5: weather = "Overcast"; break; case 6: weather = "Rain"; break; case 7: weather = "Thunder"; break; case 8: weather = "Light rain"; break; case 9: weather = "Smoggy light rain"; break; case 10: weather = "Very light Snow"; break; case 11: weather = "Windy light Snow"; break; case 12: weather = "Light snow"; break; case 13: weather = "Unknown (No Effect)"; break; } TTRPG.Api.consoleOutput("[DynamicWeather] The Weather has changed to " + weather); TTRPG.Api.setWeather(_weatherID); Thread.Sleep(1200000); } }
private void CreateItem(Vector3 newPos) { noItemRowPrefabs = scriptContainer.GetComponent <VariableScript>().getNoItemRowPrefabs(); itemRowPrefabs = scriptContainer.GetComponent <VariableScript>().getItemRowPrefabs(); nowNoItemRows = scriptContainer.GetComponent <VariableScript>().getNowNoItemRows(); //Liste nach ItemRows, die an der Spielweite (Position des Game-Balls) generiert werden können, filtern. generateableItemRows = itemRowPrefabs.FindAll(delegate(GameObject b) { return(b.GetComponent <ItemPreFabPositions>().getGenerierungAbWeite() < this.gameObject.transform.position.z); }); //Zu jedem generierbaren Item-Prefab die Wahrscheinlichkeit in ein Array von INT zusammenfügen. int[] generateableItemRowsProbability = generateableItemRows.ConvertAll(delegate(GameObject b) { return(b.GetComponent <ItemPreFabPositions>().wahrscheinlichkeit); }).ToArray(); //Loaded Die (Zufallsgenerator mit Wahrscheinlichkeit zu jedem Item) mit der Wahrscheinlichkeitsliste instanzieren. LoadedDie randomGenerateableItemRowsDie = new LoadedDie(generateableItemRowsProbability); //SaveRow generiert if (generatedSave != -1) { if (nowNoItemRows == 0) { //Generate Row with Item int itemRow = randomGenerateableItemRowsDie.NextValue(); Instantiate(generateableItemRows[itemRow], newPos, this.gameObject.transform.rotation); scriptContainer.GetComponent <VariableScript>().resetNowNoItemRows(); } else { //Generate Row without Item int noItemRow = Random.Range(0, noItemRowPrefabs.Count); Instantiate(noItemRowPrefabs[noItemRow], newPos, this.gameObject.transform.rotation); scriptContainer.GetComponent <VariableScript>().reduceNowNoItemRows(); } } //UnsaveRow generiert else if (generatedUnsave != -1) { if (nowNoItemRows == 0) { //Generate Row with Item int itemRow = randomGenerateableItemRowsDie.NextValue(); while (true) { if (checkItemPosition(itemRow, generatedUnsave, generateableItemRows)) { break; } itemRow = randomGenerateableItemRowsDie.NextValue(); } Instantiate(generateableItemRows[itemRow], newPos, this.gameObject.transform.rotation); scriptContainer.GetComponent <VariableScript>().resetNowNoItemRows(); } else { //Generate Row without Item int noItemRow = Random.Range(0, noItemRowPrefabs.Count); Instantiate(noItemRowPrefabs[noItemRow], newPos, this.gameObject.transform.rotation); scriptContainer.GetComponent <VariableScript>().reduceNowNoItemRows(); } } else { Debug.Log("Kein Item generierbar"); Debug.Log("Save: " + generatedSave + "; Unsave: " + generatedUnsave); } }