# engine.LingYi.entitys.mission

View Source

      1# -*- coding:utf-8 -*-
      2# Author: Liaojiang
      3
      4from .global_util import *
      5from .operatorbase import DoctrineOperator
      6from .commonfunction import guid_list_parser
      7
      8
      9class Mission(DoctrineOperator):
     10    """
     11    基础任务类
     12    1、是否启用任务
     13    2、设置、删除任务开始时间
     14    3、设置任务：删除任务结束时间
     15    4、设置任务雷达是否打开
     16    5、设置任务将实体分配到任务中来
     17    6、返回任务已分配的单元
     18    7、任务取消某单元的任务分配
     19    8、任务设置出航航线或者阵位航线，或者设置返航航线
     20    9、修改任务名
     21    10、设置任务编队名
     22
     23    示例：
     24    mine_mission = self.get_mission_by_name('mine_mission_1')   # 通过排雷任务的名字，获取排雷任务对象
     25    mission_info = mine_mission.get_information()  # 获取排雷任务的信息
     26    mine_mission.assign_unit("fsf0fjsl-sfjlg-d")  # 分配单元到任务
     27    """
     28    def __init__(self, guid, name, side_name, element_type):
     29        if element_type == ElementType.StrikeEscortMission:
     30            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.EscortMission, element_type)
     31        else:
     32            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.Mission, element_type)
     33        self.Category = 0  # 任务类别：0-任务 1-任务池 2-任务包（EMissionCategory）
     34        self.Status = 0  # 任务状态：1-未启用 0-启用 （EMissionStatus）
     35        self.START = ""  # 任务启用时间UTC(毫秒)
     36        self.END = ""  # 任务失效时间UTC(毫秒)
     37        self.TakeOffTime = ""  # 起飞时间
     38        self.TimeOnTarget = ""  # 目标时间
     39        self.SISIH = False  # ScrubIfSideIsHuman 如果推演方是人，则取消
     40        self.UseFlightplan = False  # 使用飞行计划
     41        self.UseFlightplansOnly = False  # UsePreGeneratedFlightplansOnly仅使用预生成的飞行计划
     42        self.IncludeInATO = False  # 包含在ATO中
     43        self.TankerUsage = 0  # 加油机使用, 0: 自动选择加油机   1:使用任务的加油机
     44        self.TankerMissionList = []  # 加油机任务ID列表
     45        self.FlightSize = 0  # 航班大小
     46        self.GroupSize = 0  # 编队大小
     47        self.GroupName = ""  # 编组名称
     48        self.DeactivationUnassignUnits = False  # 停用_取消分配单元
     49        self.CheckBoxOrderRTB = False  # 停用_命令返回基地
     50        self.CheckBoxDeleteMission = False  # 停用_删除任务
     51        self.LaunchMissionWithoutTankersInPlace = False  # 无油轮就位的启动任务
     52        self.TankerMinNumberTotal = 0  # 油轮最小数量_总共
     53        self.TankerMinNumberAirborne = 0  # 油轮最小数量_在空
     54        self.TankerMinNumberStation = 0  # 油轮最小数量_阵位
     55        self.MaxReceiversInQueuePerTankerAirborne = 0  # 每个油轮队列中的最大接收器数_在空
     56        self.FuelQtyToStartLookingForTankerAirborne = 0  # 开始寻找油轮的燃油量_在空
     57        self.TankerMaxDistanceAirborne = 0  # 油轮最大距离_在空
     58        self.TankerFollowsReceivers = False  # 油轮跟随接收者
     59        self.UseFlightSizeHardLimit = False  # 使用航班大小限制
     60        self.UseGroupSizeHardLimit = False  # 使用组大小限制
     61        # THFlight,THVectorEmptySlot等结构定义请查看entitys/struct.proto文件
     62        self.Flight = {}  # 航班---结构：dict<string, THFlight>，key:航班ID
     63        self.EmptySlotsList = []  # 空飞机插槽--结构：THVectorEmptySlot列表
     64        self.ListNavigation1 = []  # 出航航线--结构：航路点THWaypoint列表
     65        self.ListNavigation2 = []  # 阵位航线--结构：航路点THWaypoint列表
     66        self.ListNavigation3 = []  # 返航航线--结构：航路点THWaypoint列表
     67
     68    def _set(self, item):
     69        """
     70        设置任务各项目（为其他接口所用内部函数，智能体无需直接调用此接口）
     71        :param item: str, exp: isactive='true'
     72        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     73        """
     74        return self._game_server.api_set(self, item)
     75
     76    def mission_active(self, is_active):
     77        """
     78        1、设置是否启用任务
     79        :param is_active: bool, 是否启用
     80        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     81        """
     82        str_set = "isactive=%s" % (str(is_active).lower())
     83        return self._set(str_set)
     84
     85    def set_start(self, start_time):
     86        """
     87        2、设置、删除任务开始时间
     88        :param start_time: str, 开始时间, 例: '05/24/2014 16:05:00'
     89        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     90        """
     91        str_set = "starttime='%s'" % start_time
     92        return self._set(str_set)
     93
     94    def set_end(self, end_time):
     95        """
     96        3、设置任务：删除任务结束时间
     97        :param end_time:str, 结束时间, 例: '05/24/2014 16:05:00'
     98        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     99        """
    100        str_set = "endtime='%s'" % end_time
    101        return self._set(str_set)
    102
    103    def set_switch_radar(self, switch_on):
    104        """
    105        4、设置任务雷达是否打开
    106        :param switch_on: bool, 雷达打开或者静默，True:打开
    107        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    108        """
    109        return self._game_server.api_set_switch_radar(self, switch_on)
    110
    111    def assign_unit(self, unit_ID, is_escort=False):
    112        """
    113        5、设置任务：将实体分配到任务中来
    114        :param unit_ID: str, 实体单元的guid
    115        :param is_escort: bool,  是否护航任务
    116        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    117        """
    118        return self._game_server.api_assign_unit(self, unit_ID, is_escort)
    119
    120    def get_units_assigned(self):
    121        """
    122        6、返回任务已分配的单元
    123        :return: list, 单元guid list
    124        """
    125        result = self._game_server.api_get_units_assigned(self)
    126        if result is not None:
    127            return guid_list_parser(result)
    128        else:
    129            return []
    130
    131    def unassign_unit(self, unit_id):
    132        """
    133        7、任务取消某单元的任务分配
    134        :param unit_id: str, 实体单元的guid
    135        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    136        """
    137        return self._game_server.api_unassign_unit(self, unit_id)
    138
    139    def set_mission_course(self, take_course, station_course, return_course):
    140        """
    141        8、任务设置出航航线或者阵位航线，或者设置返航航线
    142        :param take_course: list, 出航航线   exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    143        :param station_course: list, 阵位航线     exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    144        :param return_course: list, 返航航线      exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    145        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    146        """
    147        all_course_str = ""
    148        if take_course:
    149            course_str = ""
    150            for course in take_course:
    151                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    152                course_str += course_point
    153            course_str = course_str[:-1]
    154            all_course_str = "courseTake={%s}" % course_str
    155
    156        if station_course:
    157            course_str = ""
    158            for course in station_course:
    159                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    160                course_str += course_point
    161            course_str = course_str[:-1]
    162            if all_course_str:
    163                all_course_str += ",courseCircle={%s}" % course_str
    164            else:
    165                all_course_str = "courseCircle={%s}" % course_str
    166
    167        if return_course:
    168            course_str = ""
    169            for course in return_course:
    170                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    171                course_str += course_point
    172            course_str = course_str[:-1]
    173            if all_course_str:
    174                all_course_str += ",courseCourse={%s}" % course_str
    175            else:
    176                all_course_str = "courseCourse={%s}" % course_str
    177        all_course_str = "{%s}" % all_course_str
    178        return self._set(all_course_str)
    179
    180    def set_mission_newname(self, new_name):
    181        """
    182        9、修改任务名
    183        :param new_name: str, 新任务名
    184        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    185        """
    186        str_set = "newname='%s'" % new_name
    187        return self._set(str_set)
    188
    189    def set_groupName(self, groupName):
    190        """
    191        10、设置任务编队名
    192        :param groupName: str, 设置执行任务的飞机编队名，任务多个编队时，以","间隔设置，例："G1,G2,G3,G4"
    193        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    194        """
    195        str_set = "groupName='%s'" % groupName
    196        return self._set(str_set)

class Mission(engine.LingYi.entitys.operatorbase.DoctrineOperator): View Source

     10class Mission(DoctrineOperator):
     11    """
     12    基础任务类
     13    1、是否启用任务
     14    2、设置、删除任务开始时间
     15    3、设置任务：删除任务结束时间
     16    4、设置任务雷达是否打开
     17    5、设置任务将实体分配到任务中来
     18    6、返回任务已分配的单元
     19    7、任务取消某单元的任务分配
     20    8、任务设置出航航线或者阵位航线，或者设置返航航线
     21    9、修改任务名
     22    10、设置任务编队名
     23
     24    示例：
     25    mine_mission = self.get_mission_by_name('mine_mission_1')   # 通过排雷任务的名字，获取排雷任务对象
     26    mission_info = mine_mission.get_information()  # 获取排雷任务的信息
     27    mine_mission.assign_unit("fsf0fjsl-sfjlg-d")  # 分配单元到任务
     28    """
     29    def __init__(self, guid, name, side_name, element_type):
     30        if element_type == ElementType.StrikeEscortMission:
     31            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.EscortMission, element_type)
     32        else:
     33            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.Mission, element_type)
     34        self.Category = 0  # 任务类别：0-任务 1-任务池 2-任务包（EMissionCategory）
     35        self.Status = 0  # 任务状态：1-未启用 0-启用 （EMissionStatus）
     36        self.START = ""  # 任务启用时间UTC(毫秒)
     37        self.END = ""  # 任务失效时间UTC(毫秒)
     38        self.TakeOffTime = ""  # 起飞时间
     39        self.TimeOnTarget = ""  # 目标时间
     40        self.SISIH = False  # ScrubIfSideIsHuman 如果推演方是人，则取消
     41        self.UseFlightplan = False  # 使用飞行计划
     42        self.UseFlightplansOnly = False  # UsePreGeneratedFlightplansOnly仅使用预生成的飞行计划
     43        self.IncludeInATO = False  # 包含在ATO中
     44        self.TankerUsage = 0  # 加油机使用, 0: 自动选择加油机   1:使用任务的加油机
     45        self.TankerMissionList = []  # 加油机任务ID列表
     46        self.FlightSize = 0  # 航班大小
     47        self.GroupSize = 0  # 编队大小
     48        self.GroupName = ""  # 编组名称
     49        self.DeactivationUnassignUnits = False  # 停用_取消分配单元
     50        self.CheckBoxOrderRTB = False  # 停用_命令返回基地
     51        self.CheckBoxDeleteMission = False  # 停用_删除任务
     52        self.LaunchMissionWithoutTankersInPlace = False  # 无油轮就位的启动任务
     53        self.TankerMinNumberTotal = 0  # 油轮最小数量_总共
     54        self.TankerMinNumberAirborne = 0  # 油轮最小数量_在空
     55        self.TankerMinNumberStation = 0  # 油轮最小数量_阵位
     56        self.MaxReceiversInQueuePerTankerAirborne = 0  # 每个油轮队列中的最大接收器数_在空
     57        self.FuelQtyToStartLookingForTankerAirborne = 0  # 开始寻找油轮的燃油量_在空
     58        self.TankerMaxDistanceAirborne = 0  # 油轮最大距离_在空
     59        self.TankerFollowsReceivers = False  # 油轮跟随接收者
     60        self.UseFlightSizeHardLimit = False  # 使用航班大小限制
     61        self.UseGroupSizeHardLimit = False  # 使用组大小限制
     62        # THFlight,THVectorEmptySlot等结构定义请查看entitys/struct.proto文件
     63        self.Flight = {}  # 航班---结构：dict<string, THFlight>，key:航班ID
     64        self.EmptySlotsList = []  # 空飞机插槽--结构：THVectorEmptySlot列表
     65        self.ListNavigation1 = []  # 出航航线--结构：航路点THWaypoint列表
     66        self.ListNavigation2 = []  # 阵位航线--结构：航路点THWaypoint列表
     67        self.ListNavigation3 = []  # 返航航线--结构：航路点THWaypoint列表
     68
     69    def _set(self, item):
     70        """
     71        设置任务各项目（为其他接口所用内部函数，智能体无需直接调用此接口）
     72        :param item: str, exp: isactive='true'
     73        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     74        """
     75        return self._game_server.api_set(self, item)
     76
     77    def mission_active(self, is_active):
     78        """
     79        1、设置是否启用任务
     80        :param is_active: bool, 是否启用
     81        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     82        """
     83        str_set = "isactive=%s" % (str(is_active).lower())
     84        return self._set(str_set)
     85
     86    def set_start(self, start_time):
     87        """
     88        2、设置、删除任务开始时间
     89        :param start_time: str, 开始时间, 例: '05/24/2014 16:05:00'
     90        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
     91        """
     92        str_set = "starttime='%s'" % start_time
     93        return self._set(str_set)
     94
     95    def set_end(self, end_time):
     96        """
     97        3、设置任务：删除任务结束时间
     98        :param end_time:str, 结束时间, 例: '05/24/2014 16:05:00'
     99        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    100        """
    101        str_set = "endtime='%s'" % end_time
    102        return self._set(str_set)
    103
    104    def set_switch_radar(self, switch_on):
    105        """
    106        4、设置任务雷达是否打开
    107        :param switch_on: bool, 雷达打开或者静默，True:打开
    108        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    109        """
    110        return self._game_server.api_set_switch_radar(self, switch_on)
    111
    112    def assign_unit(self, unit_ID, is_escort=False):
    113        """
    114        5、设置任务：将实体分配到任务中来
    115        :param unit_ID: str, 实体单元的guid
    116        :param is_escort: bool,  是否护航任务
    117        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    118        """
    119        return self._game_server.api_assign_unit(self, unit_ID, is_escort)
    120
    121    def get_units_assigned(self):
    122        """
    123        6、返回任务已分配的单元
    124        :return: list, 单元guid list
    125        """
    126        result = self._game_server.api_get_units_assigned(self)
    127        if result is not None:
    128            return guid_list_parser(result)
    129        else:
    130            return []
    131
    132    def unassign_unit(self, unit_id):
    133        """
    134        7、任务取消某单元的任务分配
    135        :param unit_id: str, 实体单元的guid
    136        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    137        """
    138        return self._game_server.api_unassign_unit(self, unit_id)
    139
    140    def set_mission_course(self, take_course, station_course, return_course):
    141        """
    142        8、任务设置出航航线或者阵位航线，或者设置返航航线
    143        :param take_course: list, 出航航线   exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    144        :param station_course: list, 阵位航线     exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    145        :param return_course: list, 返航航线      exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    146        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    147        """
    148        all_course_str = ""
    149        if take_course:
    150            course_str = ""
    151            for course in take_course:
    152                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    153                course_str += course_point
    154            course_str = course_str[:-1]
    155            all_course_str = "courseTake={%s}" % course_str
    156
    157        if station_course:
    158            course_str = ""
    159            for course in station_course:
    160                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    161                course_str += course_point
    162            course_str = course_str[:-1]
    163            if all_course_str:
    164                all_course_str += ",courseCircle={%s}" % course_str
    165            else:
    166                all_course_str = "courseCircle={%s}" % course_str
    167
    168        if return_course:
    169            course_str = ""
    170            for course in return_course:
    171                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    172                course_str += course_point
    173            course_str = course_str[:-1]
    174            if all_course_str:
    175                all_course_str += ",courseCourse={%s}" % course_str
    176            else:
    177                all_course_str = "courseCourse={%s}" % course_str
    178        all_course_str = "{%s}" % all_course_str
    179        return self._set(all_course_str)
    180
    181    def set_mission_newname(self, new_name):
    182        """
    183        9、修改任务名
    184        :param new_name: str, 新任务名
    185        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    186        """
    187        str_set = "newname='%s'" % new_name
    188        return self._set(str_set)
    189
    190    def set_groupName(self, groupName):
    191        """
    192        10、设置任务编队名
    193        :param groupName: str, 设置执行任务的飞机编队名，任务多个编队时，以","间隔设置，例："G1,G2,G3,G4"
    194        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    195        """
    196        str_set = "groupName='%s'" % groupName
    197        return self._set(str_set)

基础任务类
1、是否启用任务
2、设置、删除任务开始时间
3、设置任务：删除任务结束时间
4、设置任务雷达是否打开
5、设置任务将实体分配到任务中来
6、返回任务已分配的单元
7、任务取消某单元的任务分配
8、任务设置出航航线或者阵位航线，或者设置返航航线
9、修改任务名
10、设置任务编队名

示例：
mine_mission = self.get_mission_by_name('mine_mission_1') # 通过排雷任务的名字，获取排雷任务对象
mission_info = mine_mission.get_information() # 获取排雷任务的信息
mine_mission.assign_unit("fsf0fjsl-sfjlg-d") # 分配单元到任务

Mission(guid, name, side_name, element_type) View Source

    29    def __init__(self, guid, name, side_name, element_type):
    30        if element_type == ElementType.StrikeEscortMission:
    31            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.EscortMission, element_type)
    32        else:
    33            DoctrineOperator.__init__(self, guid, name, side_name, SelectorCategory.Mission, element_type)
    34        self.Category = 0  # 任务类别：0-任务 1-任务池 2-任务包（EMissionCategory）
    35        self.Status = 0  # 任务状态：1-未启用 0-启用 （EMissionStatus）
    36        self.START = ""  # 任务启用时间UTC(毫秒)
    37        self.END = ""  # 任务失效时间UTC(毫秒)
    38        self.TakeOffTime = ""  # 起飞时间
    39        self.TimeOnTarget = ""  # 目标时间
    40        self.SISIH = False  # ScrubIfSideIsHuman 如果推演方是人，则取消
    41        self.UseFlightplan = False  # 使用飞行计划
    42        self.UseFlightplansOnly = False  # UsePreGeneratedFlightplansOnly仅使用预生成的飞行计划
    43        self.IncludeInATO = False  # 包含在ATO中
    44        self.TankerUsage = 0  # 加油机使用, 0: 自动选择加油机   1:使用任务的加油机
    45        self.TankerMissionList = []  # 加油机任务ID列表
    46        self.FlightSize = 0  # 航班大小
    47        self.GroupSize = 0  # 编队大小
    48        self.GroupName = ""  # 编组名称
    49        self.DeactivationUnassignUnits = False  # 停用_取消分配单元
    50        self.CheckBoxOrderRTB = False  # 停用_命令返回基地
    51        self.CheckBoxDeleteMission = False  # 停用_删除任务
    52        self.LaunchMissionWithoutTankersInPlace = False  # 无油轮就位的启动任务
    53        self.TankerMinNumberTotal = 0  # 油轮最小数量_总共
    54        self.TankerMinNumberAirborne = 0  # 油轮最小数量_在空
    55        self.TankerMinNumberStation = 0  # 油轮最小数量_阵位
    56        self.MaxReceiversInQueuePerTankerAirborne = 0  # 每个油轮队列中的最大接收器数_在空
    57        self.FuelQtyToStartLookingForTankerAirborne = 0  # 开始寻找油轮的燃油量_在空
    58        self.TankerMaxDistanceAirborne = 0  # 油轮最大距离_在空
    59        self.TankerFollowsReceivers = False  # 油轮跟随接收者
    60        self.UseFlightSizeHardLimit = False  # 使用航班大小限制
    61        self.UseGroupSizeHardLimit = False  # 使用组大小限制
    62        # THFlight,THVectorEmptySlot等结构定义请查看entitys/struct.proto文件
    63        self.Flight = {}  # 航班---结构：dict<string, THFlight>，key:航班ID
    64        self.EmptySlotsList = []  # 空飞机插槽--结构：THVectorEmptySlot列表
    65        self.ListNavigation1 = []  # 出航航线--结构：航路点THWaypoint列表
    66        self.ListNavigation2 = []  # 阵位航线--结构：航路点THWaypoint列表
    67        self.ListNavigation3 = []  # 返航航线--结构：航路点THWaypoint列表

Category
Status
START
END
TakeOffTime
TimeOnTarget
SISIH
UseFlightplan
UseFlightplansOnly
IncludeInATO
TankerUsage
TankerMissionList
FlightSize
GroupSize
GroupName
DeactivationUnassignUnits
CheckBoxOrderRTB
CheckBoxDeleteMission
LaunchMissionWithoutTankersInPlace
TankerMinNumberTotal
TankerMinNumberAirborne
TankerMinNumberStation
MaxReceiversInQueuePerTankerAirborne
FuelQtyToStartLookingForTankerAirborne
TankerMaxDistanceAirborne
TankerFollowsReceivers
UseFlightSizeHardLimit
UseGroupSizeHardLimit
Flight
EmptySlotsList
ListNavigation1
ListNavigation2
ListNavigation3
def mission_active(self, is_active): View Source

    77    def mission_active(self, is_active):
    78        """
    79        1、设置是否启用任务
    80        :param is_active: bool, 是否启用
    81        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    82        """
    83        str_set = "isactive=%s" % (str(is_active).lower())
    84        return self._set(str_set)

1、设置是否启用任务 :param is_active: bool, 是否启用 :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_start(self, start_time): View Source

    86    def set_start(self, start_time):
    87        """
    88        2、设置、删除任务开始时间
    89        :param start_time: str, 开始时间, 例: '05/24/2014 16:05:00'
    90        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    91        """
    92        str_set = "starttime='%s'" % start_time
    93        return self._set(str_set)

2、设置、删除任务开始时间 :param start_time: str, 开始时间, 例: '05/24/2014 16:05:00' :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_end(self, end_time): View Source

     95    def set_end(self, end_time):
     96        """
     97        3、设置任务：删除任务结束时间
     98        :param end_time:str, 结束时间, 例: '05/24/2014 16:05:00'
     99        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    100        """
    101        str_set = "endtime='%s'" % end_time
    102        return self._set(str_set)

3、设置任务：删除任务结束时间 :param end_time:str, 结束时间, 例: '05/24/2014 16:05:00' :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_switch_radar(self, switch_on): View Source

    104    def set_switch_radar(self, switch_on):
    105        """
    106        4、设置任务雷达是否打开
    107        :param switch_on: bool, 雷达打开或者静默，True:打开
    108        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    109        """
    110        return self._game_server.api_set_switch_radar(self, switch_on)

4、设置任务雷达是否打开 :param switch_on: bool, 雷达打开或者静默，True:打开 :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def assign_unit(self, unit_ID, is_escort=False): View Source

    112    def assign_unit(self, unit_ID, is_escort=False):
    113        """
    114        5、设置任务：将实体分配到任务中来
    115        :param unit_ID: str, 实体单元的guid
    116        :param is_escort: bool,  是否护航任务
    117        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    118        """
    119        return self._game_server.api_assign_unit(self, unit_ID, is_escort)

5、设置任务：将实体分配到任务中来 :param unit_ID: str, 实体单元的guid :param is_escort: bool, 是否护航任务 :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def get_units_assigned(self): View Source

    121    def get_units_assigned(self):
    122        """
    123        6、返回任务已分配的单元
    124        :return: list, 单元guid list
    125        """
    126        result = self._game_server.api_get_units_assigned(self)
    127        if result is not None:
    128            return guid_list_parser(result)
    129        else:
    130            return []

6、返回任务已分配的单元 :return: list, 单元guid list

def unassign_unit(self, unit_id): View Source

    132    def unassign_unit(self, unit_id):
    133        """
    134        7、任务取消某单元的任务分配
    135        :param unit_id: str, 实体单元的guid
    136        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    137        """
    138        return self._game_server.api_unassign_unit(self, unit_id)

7、任务取消某单元的任务分配 :param unit_id: str, 实体单元的guid :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_mission_course(self, take_course, station_course, return_course): View Source

    140    def set_mission_course(self, take_course, station_course, return_course):
    141        """
    142        8、任务设置出航航线或者阵位航线，或者设置返航航线
    143        :param take_course: list, 出航航线   exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    144        :param station_course: list, 阵位航线     exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    145        :param return_course: list, 返航航线      exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]]
    146        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    147        """
    148        all_course_str = ""
    149        if take_course:
    150            course_str = ""
    151            for course in take_course:
    152                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    153                course_str += course_point
    154            course_str = course_str[:-1]
    155            all_course_str = "courseTake={%s}" % course_str
    156
    157        if station_course:
    158            course_str = ""
    159            for course in station_course:
    160                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    161                course_str += course_point
    162            course_str = course_str[:-1]
    163            if all_course_str:
    164                all_course_str += ",courseCircle={%s}" % course_str
    165            else:
    166                all_course_str = "courseCircle={%s}" % course_str
    167
    168        if return_course:
    169            course_str = ""
    170            for course in return_course:
    171                course_point = "{name='%s', latitude=%.5lf, longitude=%.5lf}," % (course[0], course[1], course[2])
    172                course_str += course_point
    173            course_str = course_str[:-1]
    174            if all_course_str:
    175                all_course_str += ",courseCourse={%s}" % course_str
    176            else:
    177                all_course_str = "courseCourse={%s}" % course_str
    178        all_course_str = "{%s}" % all_course_str
    179        return self._set(all_course_str)

8、任务设置出航航线或者阵位航线，或者设置返航航线 :param take_course: list, 出航航线 exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]] :param station_course: list, 阵位航线 exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]] :param return_course: list, 返航航线 exp: [["rp1", 23.2, 112.2], ["rp2", 24.2, 113.45]] :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_mission_newname(self, new_name): View Source

    181    def set_mission_newname(self, new_name):
    182        """
    183        9、修改任务名
    184        :param new_name: str, 新任务名
    185        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    186        """
    187        str_set = "newname='%s'" % new_name
    188        return self._set(str_set)

9、修改任务名 :param new_name: str, 新任务名 :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

def set_groupName(self, groupName): View Source

    190    def set_groupName(self, groupName):
    191        """
    192        10、设置任务编队名
    193        :param groupName: str, 设置执行任务的飞机编队名，任务多个编队时，以","间隔设置，例："G1,G2,G3,G4"
    194        :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似
    195        """
    196        str_set = "groupName='%s'" % groupName
    197        return self._set(str_set)

10、设置任务编队名 :param groupName: str, 设置执行任务的飞机编队名，任务多个编队时，以","间隔设置，例："G1,G2,G3,G4" :return: 指令执行结果, Reply对象, 和global_util.py中Reply类定义类似

##### Inherited Members

engine.LingYi.entitys.operatorbase.DoctrineOperator
  Doctrine
  category
  category_str
  doctrine_switch_radar
  doctrine_switch_oecm
  doctrine_switch_sonar
  doctrine_SetEMCON_Inherit
  use_nuclear_weapons
  doctrine_weapon_control_status_air
  doctrine_weapon_control_status_surface
  doctrine_weapon_control_status_subsurface
  doctrine_weapon_control_status_land
  doctrine_ignore_plotted_course
  doctrine_engaging_ambiguous_targets
  doctrine_engage_opportunity_targets
  doctrine_ignore_emcon_under_attack
  torpedoes_kinematic_range
  doctrine_automatic_evasion
  doctrine_refuel
  doctrine_refuel_select
  doctrine_refuel_allied
  doctrine_air_operations_tempo
  doctrine_quick_turnaround
  doctrine_fuel_state_planned
  doctrine_fuel_state_rtb
  doctrine_weapon_state_planned
  doctrine_weapon_state_rtb
  doctrine_gun_strafing
  doctrine_jettison_ordnance
  doctrine_bvr_logic
  use_sams_in_anti_surface_mode
  doctrine_maintain_standoff
  doctrine_navigation_surface_mode
  avoid_contact
  dive_on_threat
  recharge_on_patrol
  recharge_on_attack
  use_aip
  dipping_sonar
  navigation_sub
  navigation_land
  set_weapon_release_authority
  wra_qty_salvo
  wra_shooter_salvo
  wra_firing_range
  wra_self_defence_distance
  withdraw_on_damage
  withdraw_on_fuel
  withdraw_on_attack
  withdraw_on_defence
  deploy_on_damage
  deploy_on_fuel
  deploy_on_attack
  deploy_on_defence
  get_doctrineWRA
engine.LingYi.entitys.element.Element
  ID
  Name
  Side
  ElementType
  delete_sub_object