role.py (1055B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\trees\role.py 2 from behaviors.actions.blackboards import BlackboardSetMessageToStringValueAction 3 from behaviors.actions.blackboards import BlackboardSetMessageToBooleanValueAction 4 from behaviors.blackboards.scopes import ScopeTypes 5 from behaviors.composites import Sequence 6 from behaviors.conditions.blackboards import IsBlackboardValueNone 7 from brennivin.itertoolsext import Bundle 8 ROLE_ADDRESS = (ScopeTypes.Item, 'ROLE') 9 GROUP_MEMBER_ROLE_ASSIGNED_ADDRESS = (ScopeTypes.EntityGroup, 'GROUP_MEMBER_ROLE_ASSIGNED') 10 11 def CreateRegisterEntityRole(role): 12 return Sequence(Bundle(name='Registering Entity Role')).AddSubTask(IsBlackboardValueNone(Bundle(valueAddress=ROLE_ADDRESS))).AddSubTask(BlackboardSetMessageToStringValueAction(Bundle(name='Remember my role', messageAddress=ROLE_ADDRESS, value=role))).AddSubTask(BlackboardSetMessageToBooleanValueAction(Bundle(name='Notify group on role', messageAddress=GROUP_MEMBER_ROLE_ASSIGNED_ADDRESS, value=True)))