Esempio n. 1
0
 private void DrawTo(Person p, Color col)
 {
     if (null != p && p.IsAlive() && null != p.holding)
     {
         Debug.DrawLine(holding.transform.position, p.holding.transform.position, col);
         holding.DrawConnectionTo(p.holding, col);
     }
 }
Esempio n. 2
0
        public float Morale()
        {
            int  dead_children = 0, dead_siblings = 0, alive_children = 0, alive_siblings = 0;
            bool spouse_alive = true;

            if (spouse != null)
            {
                spouse_alive = spouse.IsAlive();
            }
            foreach (Person p in siblings)
            {
                if (p.IsAlive())
                {
                    alive_siblings++;
                }
                else
                {
                    dead_siblings++;
                }
            }
            foreach (Person p in children)
            {
                if (p.IsAlive())
                {
                    alive_children++;
                }
                else
                {
                    dead_children++;
                }
            }

            float morale = 1.0f;

            morale -= (float)dead_siblings * SIBLING_FACTOR;
            morale -= (float)dead_children * CHILD_FACTOR;
            if (!spouse_alive)
            {
                morale -= SPOUSE_FACTOR;
            }
            if (morale < 0f)
            {
                morale = 0f;
            }
            return(morale);
        }
Esempio n. 3
0
 private void DrawTo(Person p, Color col)
 {
     if(null != p && p.IsAlive() && null != p.holding)
     {
         Debug.DrawLine(holding.transform.position, p.holding.transform.position, col);
         holding.DrawConnectionTo(p.holding, col);
     }
 }