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); } }
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); }
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); } }