def get_action_sync_user_attr_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} lstP = actContent.split(","); strUID = lstP[0] lstAttr = lstP[1:] userId = parse_value(strUID, dicVar, 0, dicParam ) memo = u"%s-[%s]"%(actId, actContent) srcDeclareAttr = u"" srcAttrResult = u"[" for attr in lstAttr: attrKey = parse_word(attr, dicVar, 0, dicParam ) srcDeclareAttr = srcDeclareAttr + "\n" + attrKey[0] srcAttrResult = srcAttrResult + "%s,"%attrKey[1] srcAttrResult = srcAttrResult + u"]" srcTmp = u''' %s mapping mpUser = GetTargetObj(mpAI, %s, SCENE_OBJ_TYPE_USER); if (IsNull(mpUser)) return 0; mpTarget[SCENE_OBJECT_FILE]->RsyncAttr( mpOwner, target, mpUser, %s); '''%(userId[0] + srcDeclareAttr, userId[1], srcAttrResult) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )
def get_action_sync_scene_attr_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} lstP = actContent.split(","); memo = u"%s-[%s]"%(actId, actContent) srcDeclareAttr = u"" srcAttrResult = u"[" for attr in lstP: attrKey = parse_word(attr, dicVar, 0, dicParam ) srcDeclareAttr = srcDeclareAttr + "\n" + attrKey[0] srcAttrResult = srcAttrResult + "%s,"%attrKey[1] srcAttrResult = srcAttrResult + u"]" srcTmp = u''' %s mapping scene = GetSceneInfo( mpAction ); string sceneFile = scene[SCENE_PATH]; sceneFile->SyncSceneAttr( scene, %s ); '''%(srcDeclareAttr,srcAttrResult) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )
def get_action_sync_object_attr_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} lstP = actContent.split(","); strObjectId = lstP[0] lstAttr = lstP[1:] objectId = parse_value(strObjectId, dicVar, 0, dicParam ) memo = u"%s-[%s]"%(actId, actContent) srcDeclareAttr = u"" srcAttrResult = u"[" for attr in lstAttr: attrKey = parse_word(attr, dicVar, 0, dicParam ) srcDeclareAttr = srcDeclareAttr + "\n" + attrKey[0] srcAttrResult = srcAttrResult + "%s,"%attrKey[1] srcAttrResult = srcAttrResult + u"]" srcTmp = u''' %s mapping scene = GetSceneInfo( mpAction ); string sceneFile = scene[SCENE_PATH]; mapping mpObjInfo = sceneFile->GetObjInfo( scene, %s ); int* allUids = sceneFile->GetAllUser(scene); mpTarget[SCENE_OBJECT_FILE]->RsyncAttr( scene, allUids, mpObjInfo, %s); '''%(objectId[0] + srcDeclareAttr, objectId[1], srcAttrResult ) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )
def get_action_print_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} exp = parse_word(actContent, dicVar, 0, dicParam) memo = "%s-[%s]"%(actId, actContent) srcTmp = u''' %s debug_message(%s) '''%(exp[0], exp[1]) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )
def get_action_play_action_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} lstP = actContent.split(","); type = lstP[0] expType = parse_word(type, dicVar, 0, dicParam ) amount = int(lstP[1]) memo = "%s-[%s]"%(actId, actContent) srcTmp = u''' %s "wanfa/scene/scene_util"->play_action(target, %s, %s); '''%(expType[0], expType[1], amount) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )
def get_action_get_reward_function( actionFuncName, actId, actContent, tbActionFuncs, params ): dicParam = {} lstP = actContent.split(","); id = lstP[0] rewardTb = lstP[1] need_broadcast = lstP[2] eventId = lstP[3] expId = parse_value(id, dicVar, 0, dicParam ) expRewardTb = parse_word(rewardTb, dicVar, 0, dicParam ) memo = "%s-[%s]"%(actId, actContent) srcTmp = u''' %s "wanfa/scene/scene_util"->ActionGetRewardMapReduce(mpOwner, %s, %s, %s, %s); '''%(expId[0] + expRewardTb[0], expId[1], expRewardTb[1], need_broadcast, eventId) srcFunc = srcActionSetFunction%(memo, actionFuncName, srcTmp ) tbActionFuncs[actionFuncName] = srcFunc params.append( "@@"+actionFuncName )