from UTIL.config_args import ChainVar, ChainVarSimple

class SubTaskConfig():
    agent_list = [
        { 'team':0,  'tid':0,  'uid':0,  'n_team_agent':3,   'type':'RLA_CAR',  'init_fn_name':'init_ground_attacker',  },
        { 'team':0,  'tid':1,  'uid':1,  'n_team_agent':3,   'type':'RLA_CAR',        'init_fn_name':'init_ground_attacker',  },
        { 'team':0,  'tid':2,  'uid':2,  'n_team_agent':3,   'type':'RLA_UAV_Support',  'init_fn_name':'init_air',  },

        
        { 'team':1,  'tid':0,  'uid':3, 'n_team_agent':2,   'type':'RLA_CAR',  'init_fn_name':'init_ground_defender',  },
        { 'team':1,  'tid':1,  'uid':4, 'n_team_agent':2,   'type':'RLA_CAR',  'init_fn_name':'init_ground_defender',  },

    ]

    obs_vec_length = 23
    ActionFormat = 'Multi-Digit'

    OBS_RANGE_PYTHON_SIDE = 7000
    MAX_NUM_OPP_OBS = 7
    MAX_NUM_ALL_OBS = 7
    MAX_OBJ_NUM_ACCEPT = 1
    
    obs_n_entity = 15
    obs_n_entity_cv = ChainVarSimple('$MAX_NUM_OPP_OBS$ + $MAX_NUM_ALL_OBS$ + $MAX_OBJ_NUM_ACCEPT$')
