NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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