/// <summary> /// Try to persuade the unit to join the specified faction. /// The unit has every right to decline if it so chooses. /// </summary> /// <param name="faction"></param> /// <returns><c>True</c> if the unit is persuaded, /// <c>false</c> otherwise.</returns> public virtual bool PersuadeToJoinFaction(Faction faction) { // If we haven't enlisted anywhere, just join. if (m_faction == null) { JoinFaction(faction); return true; } else // If we've already enlisted, remain loyal! { return false; } }
protected virtual void JoinFaction(Faction faction) { m_faction = faction; AssumeMaterial(m_faction.GetMaterial()); }