private void FindSpouse(Person p, List<Person> unmarried, List<Person> married) { const int SPOUSE_FIND_ATTEMPTS = 2; //try to find spouse in unmarried list. bool success = false; int attempts = 0; while (!success && attempts < SPOUSE_FIND_ATTEMPTS && unmarried.Count > 0) { attempts++; Person spouse = unmarried[Random.Range(0, unmarried.Count)]; if(spouse.GetDynasty() != p.GetDynasty()) { p.AddSpouse(spouse); unmarried.Remove(spouse); unmarried.Remove(p); if(Random.Range(0,2) == 0) { married.Add(p); } else { married.Add(spouse); } success = true; } } }
// Update is called once per frame void Update() { int spriteIndex = (int)(Morale() * (float)troops / StrengthPerSprite); if (spriteIndex > CastleSprites.GetUpperBound(0)) { spriteIndex = CastleSprites.GetUpperBound(0); } GetComponent <SpriteRenderer>().sprite = CastleSprites[spriteIndex]; if (emit_time + emit_rate < Time.time) { emit_time = Time.time; emit_this_frame = true; //scale *= 2f; } else { emit_this_frame = false; } if (null != liege) { liege.DrawConnections(); transform.Find("Flag").GetComponent <SpriteRenderer>().sprite = controller.GetBanner(liege.GetDynasty()); } else { transform.Find("Flag").GetComponent <SpriteRenderer>().sprite = null; } }