Ejemplo n.º 1
0
		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;
				}
				
			}
		}
Ejemplo n.º 2
0
        // 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;
            }
        }
Ejemplo n.º 3
0
        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;
                }

            }
        }