add building observer for players
repair building observer params of method
modify equal method for Role
combine code