Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine.UI;
- using UnityEngine;
- [System.Serializable]
- public class Blacksmiths : MonoBehaviour {
- public int starting_population;
- public int population; // Starts with 3 each game //
- public int infected_population;
- public int resource_production; // Produces 1 tool for each citizen//
- public int resource_store;
- public bool infected_reveal;
- public bool always_reveal;
- public bool in_ruin;
- public int ruin_counter;
- public bool ruin_over;
- public struct Villager
- {
- public string name;
- public int plague_progress;
- public bool infected_found;
- public char gender;
- public bool fed;
- public bool dead;
- public int cause_death; // 1- Plague , 2- Starved, 3- Executed, 4- Freezed to death, 5- Aged to death //
- public int age;
- public bool exists; // Determins of the villager exists in the world //
- };
- public Villager[] array_pop = new Villager[50];
- public Villager[] array_deadpop = new Villager[50];
- public int unrest;
- public bool rioting;
- // Use this for initialization
- void Start () {
- infected_reveal = false;
- starting_population = 6;
- unrest = 0;
- population = 0;
- infected_population = 0;
- resource_production = 1;
- ruin_counter = 0;
- for (int i = 0; i != 50; i++)
- {
- array_pop[i].exists = false;
- array_pop[i].dead = false;
- }
- for (int i= 0; i != starting_population; i++)
- {
- int gender_r = Random.Range(0, 2);
- if (gender_r == 0)
- {
- array_pop[i].name = malenames();
- array_pop[i].gender = 'M';
- }
- else
- {
- array_pop[i].name = femalenames();
- array_pop[i].gender = 'F';
- }
- array_pop[i].exists = true;
- int x = Random.Range(16, 46);
- array_pop[i].age = x;
- array_pop[i].fed = false;
- array_pop[i].dead = false;
- array_pop[i].plague_progress = 0;
- }
- }
- // Update is called once per frame
- void FixedUpdate () {
- int pop_count = 0;
- int if_pop = 0;
- int hidden_inf_pop = 0;
- for (int i = 0; i <= 49; i++){
- if (array_pop[i].exists == true && array_pop[i].dead == false)
- {
- if (array_pop[i].exists && array_pop[i].plague_progress > 0 && array_pop[i].infected_found == true)
- if_pop++;
- else if (array_pop[i].exists && array_pop[i].plague_progress > 0)
- hidden_inf_pop++;
- else
- pop_count++;
- }
- }
- population = pop_count + hidden_inf_pop;
- infected_population = if_pop;
- if (infected_reveal == true)
- {
- for (int i = 0; i != population + infected_population; i++)
- {
- if (array_pop[i].plague_progress > 0 && array_pop[i].dead == false && array_pop[i].exists == true)
- {
- array_pop[i].infected_found = true;
- }
- }
- infected_reveal = false;
- }
- if (always_reveal == true)
- {
- for (int i = 0; i != population + infected_population; i++)
- {
- if (array_pop[i].plague_progress > 0 && array_pop[i].dead == false && array_pop[i].exists == true)
- {
- array_pop[i].infected_found = true;
- }
- }
- }
- if (in_ruin == true && population + infected_population + hidden_inf_pop == 0)
- {
- ruin_over = true;
- }
- if (ruin_counter == 2 && infected_population + hidden_inf_pop + population == 0)
- {
- ruin_over = false;
- in_ruin = false;
- ruin_counter = 0;
- disable_ruin_screens();
- unrest = 0;
- }
- if ((hidden_inf_pop + infected_population > 0) && population == 0 && in_ruin == false)
- {
- Merchants Merchant = GameObject.Find("m").GetComponent<Merchants>();
- Lumberer Lumberer = GameObject.Find("l").GetComponent<Lumberer>();
- Farmers Farmer = GameObject.Find("f").GetComponent<Farmers>();
- enable_ruin_screens();
- if (unrest < 5)
- unrest++;
- if (Farmer.unrest < 5)
- Farmer.unrest++;
- if (Lumberer.unrest < 5)
- Lumberer.unrest++;
- if (Merchant.unrest < 5)
- Merchant.unrest++;
- if (unrest > 5)
- unrest = 5;
- if (Farmer.unrest > 5)
- Farmer.unrest = 5;
- if (Lumberer.unrest > 5)
- Lumberer.unrest = 5;
- if (Merchant.unrest > 5)
- Merchant.unrest = 5;
- in_ruin = true;
- }
- }
- void enable_ruin_screens()
- {
- GameObject[] ruin_screens_objects = GameObject.FindGameObjectsWithTag("b_ruin_screen");
- Image[] ruin_screen_images = new Image[ruin_screens_objects.Length];
- for (int i = 0; i != ruin_screens_objects.Length; i++)
- {
- ruin_screen_images[i] = ruin_screens_objects[i].GetComponent<Image>();
- }
- for (int i = 0; i != ruin_screen_images.Length; i++)
- {
- ruin_screen_images[i].enabled = true;
- }
- }
- void disable_ruin_screens()
- {
- GameObject[] ruin_screens_objects = GameObject.FindGameObjectsWithTag("b_ruin_screen");
- Image[] ruin_screen_images = new Image[ruin_screens_objects.Length];
- for (int i = 0; i != ruin_screens_objects.Length; i++)
- {
- ruin_screen_images[i] = ruin_screens_objects[i].GetComponent<Image>();
- }
- for (int i = 0; i != ruin_screen_images.Length; i++)
- {
- ruin_screen_images[i].enabled = false;
- }
- }
- string malenames()
- {
- string first = " ";
- string last = " ";
- int fr = Random.Range(1, 31);
- int lr = Random.Range(1, 31);
- switch (fr)
- {
- case 1: first = "Adam"; break;
- case 2: first = "Geoffrey"; break;
- case 3: first = "Gilbert"; break;
- case 4: first = "Henry"; break;
- case 5: first = "Hugh"; break;
- case 6: first = "John"; break;
- case 7: first = "Nicholas"; break;
- case 8: first = "Peter"; break;
- case 9: first = "Ralf"; break;
- case 10: first = "Richard"; break;
- case 11: first = "Robert"; break;
- case 12: first = "Roger"; break;
- case 13: first = "Simon"; break;
- case 14: first = "Thomas"; break;
- case 15: first = "Walter"; break;
- case 16: first = "William"; break;
- case 17: first = "Reynold"; break;
- case 18: first = "Richard"; break;
- case 19: first = "Robert"; break;
- case 20: first = "Luke"; break;
- case 21: first = "Gerard"; break;
- case 22: first = "Arnold"; break;
- case 23: first = "Andrew"; break;
- case 24: first = "Alexander"; break;
- case 25: first = "Peter"; break;
- case 26: first = "Giles"; break;
- case 27: first = "Walter"; break;
- case 28: first = "Martin"; break;
- case 29: first = "Edmund"; break;
- case 30: first = "Benedict"; break;
- }
- switch (lr)
- {
- case 1: last = "Aashdown"; break;
- case 2: last = "Baker"; break;
- case 3: last = "Bigge"; break;
- case 4: last = "Bricknden"; break;
- case 5: last = "Brooker"; break;
- case 6: last = "Brown"; break;
- case 7: last = "Carpenter"; break;
- case 8: last = "Chesseman"; break;
- case 9: last = "Clarke"; break;
- case 10: last = "Cooper"; break;
- case 11: last = "Fletcher"; break;
- case 12: last = "Foreman"; break;
- case 13: last = "Godfrey"; break;
- case 14: last = "Gregory"; break;
- case 15: last = "Mannering"; break;
- case 16: last = "Nash"; break;
- case 17: last = "Payne"; break;
- case 18: last = "Rolfe"; break;
- case 19: last = "Taylor"; break;
- case 20: last = "Walter"; break;
- case 21: last = "Ward"; break;
- case 22: last = "Webb"; break;
- case 23: last = "Wood"; break;
- case 24: last = "Blackburn"; break;
- case 25: last = "Benheart"; break;
- case 26: last = "Marshall"; break;
- case 27: last = "Essay"; break;
- case 28: last = "Mutton"; break;
- case 29: last = "Moore"; break;
- case 30: last = "Bog"; break;
- }
- first = first + " " + last;
- return first;
- }
- string femalenames()
- {
- string first = " ";
- string last = " ";
- int fr = Random.Range(1, 31);
- int lr = Random.Range(1, 31);
- switch (fr)
- {
- case 1: first = "Agatha"; break;
- case 2: first = "Alice"; break;
- case 3: first = "Aline"; break;
- case 4: first = "Amabel"; break;
- case 5: first = "Anne"; break;
- case 6: first = "Beatrice"; break;
- case 7: first = "Cecily"; break;
- case 8: first = "Christina"; break;
- case 9: first = "Clarice"; break;
- case 10: first = "Constance"; break;
- case 11: first = "Denise"; break;
- case 12: first = "Edith"; break;
- case 13: first = "Eleanor"; break;
- case 14: first = "Elizabeth"; break;
- case 15: first = "Ellen"; break;
- case 16: first = "Emma"; break;
- case 17: first = "Eve"; break;
- case 18: first = "Felice"; break;
- case 19: first = "Gillian"; break;
- case 20: first = "Helen"; break;
- case 21: first = "Joan"; break;
- case 22: first = "Juliana"; break;
- case 23: first = "Katherine"; break;
- case 24: first = "Lucy"; break;
- case 25: first = "Margery"; break;
- case 26: first = "Mary"; break;
- case 27: first = "Rose"; break;
- case 28: first = "Sarah"; break;
- case 29: first = "Susan"; break;
- case 30: first = "Sybil"; break;
- }
- switch (lr)
- {
- case 1: last = "Aashdown"; break;
- case 2: last = "Baker"; break;
- case 3: last = "Bigge"; break;
- case 4: last = "Bricknden"; break;
- case 5: last = "Brooker"; break;
- case 6: last = "Brown"; break;
- case 7: last = "Carpenter"; break;
- case 8: last = "Chesseman"; break;
- case 9: last = "Clarke"; break;
- case 10: last = "Cooper"; break;
- case 11: last = "Fletcher"; break;
- case 12: last = "Foreman"; break;
- case 13: last = "Godfrey"; break;
- case 14: last = "Gregory"; break;
- case 15: last = "Mannering"; break;
- case 16: last = "Nash"; break;
- case 17: last = "Payne"; break;
- case 18: last = "Rolfe"; break;
- case 19: last = "Taylor"; break;
- case 20: last = "Walter"; break;
- case 21: last = "Ward"; break;
- case 22: last = "Webb"; break;
- case 23: last = "Wood"; break;
- case 24: last = "Blackburn"; break;
- case 25: last = "Benheart"; break;
- case 26: last = "Marshall"; break;
- case 27: last = "Essay"; break;
- case 28: last = "Mutton"; break;
- case 29: last = "Moore"; break;
- case 30: last = "Bog"; break;
- }
- first = first + " " + last;
- return first;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement