PEDN> Main Web>DeveloperSite > OfficialApps>MapAppDev (2008-02-29, LiXizhi) Change language en zh-cn? EditAttach

MapAppDev

description: 提供2D、3D的地图服务:包括地球尺度的虚拟土地的浏览、买卖、交易、基于Map的广告、个人地图、搜索等等

Contents:

Map app for Paraworld

Title Map app for Paraworld
Author(s) ParaEngine Map Team
Date 2008/1/24
File script/kids/3DMapSystemUI/Map/app_main.lua

Description

Get Tile By ID

more info, see code doc.
   Map3DSystem.App.Map.GetTileByID(tileID, callback, param1)

INSERT INTO apps VALUES (NULL, 'Map_GUID', 'Map', '1.0.0', 'http://www.paraengine.com/apps/Map_v1.zip', 'YourCompany', 'enUS', 'script/kids/3DMapSystemUI/Map/IP.xml', '', 'script/kids/3DMapSystemUI/Map/app_main.lua', 'Map3DSystem.App.Map.MSGProc', 1);

TIP Sample Code

NPL.load("(gl)script/kids/3DMapSystemUI/Map/app_main.lua");

Member Functions

Map3DSystem.App.Map.OnConnection

requires

create class commonlib.setfield("Map3DSystem.App.Map", {});


event handlers

OnConnection? method is the obvious point to place your UI (menus, mainbars, tool buttons) through which the user will communicate to the app. This method is also the place to put your validation code if you are licensing the add-in. You would normally do this before putting up the UI. If the user is not a valid user, you would not want to put the UI into the IDE.

  • param app : the object representing the current application in the IDE.
  • param connectMode : type of Map3DSystem? .App.ConnectMode.

syntax

function Map3DSystem.App.Map.OnConnection(app, connectMode)

parameters

app the object representing the current application in the IDE.
connectMode  

Map3DSystem.App.Map.OnDisconnection

Receives notification that the Add-in is being unloaded.

syntax

function Map3DSystem.App.Map.OnDisconnection(app, disconnectMode)

parameters

app  
disconnectMode  

Map3DSystem.App.Map.OnQueryStatus

This is called when the command's availability is updated When the user clicks a command (menu or mainbar button), the QueryStatus? event is fired. The QueryStatus? event returns the current status of the specified named command, whether it is enabled, disabled, or hidden in the CommandStatus? parameter, which is passed to the msg by reference (or returned in the event handler).

  • param commandName : The name of the command to determine state for. Usually in the string format "Category.SubCate.Name".
  • param statusWanted : what status of the command is queried. it is of type Map3DSystem? .App.CommandStatusWanted
  • return __ : returns according to statusWanted. it may return an integer by adding values in Map3DSystem? .App.CommandStatus.

syntax

function Map3DSystem.App.Map.OnQueryStatus(app, commandName, statusWanted)

parameters

app  
commandName The name of the command to determine state for. Usually in the string format "Category.SubCate.Name".
statusWanted  
return returns according to statusWanted. it may return an integer by adding values in Map3DSystem? .App.CommandStatus.

Map3DSystem.App.Map.OnExec

This is called when the command is invoked.The Exec is fired after the QueryStatus? event is fired, assuming that the return to the statusOption parameter of QueryStatus? is supported and enabled. This is the event where you place the actual code for handling the response to the user click on the command.

  • param commandName : The name of the command to determine state for. Usually in the string format "Category.SubCate.Name".

syntax

function Map3DSystem.App.Map.OnExec(app, commandName, params)

parameters

app  
commandName The name of the command to determine state for. Usually in the string format "Category.SubCate.Name".
params  

Map3DSystem.App.Map.OnRenderBox

Change and render the 3D world with mcml data that is usually retrieved from the current user's profile page for this application.

syntax

function Map3DSystem.App.Map.OnRenderBox(mcmlData)

parameters

mcmlData  

Map3DSystem.App.Map.Navigate

called when the user wants to nagivate to the 3D world location relavent to this application

syntax

function Map3DSystem.App.Map.Navigate()

Map3DSystem.App.Map.GotoHomepage

called when user clicks to check out the homepage of this application. Homepage usually includes: developer info, support, developer worlds information, app global news, app updates, all community user rating, active users, trade, currency transfer, etc.

syntax

function Map3DSystem.App.Map.GotoHomepage()

Map3DSystem.App.Map.DoQuickAction

called when user clicks the quick action for this application.

syntax

function Map3DSystem.App.Map.DoQuickAction()

Map3DSystem.App.Map.OnActivateDesktop

Add terrain, sky and ocean button to the toolbar.

syntax

function Map3DSystem.App.Map.OnActivateDesktop()

Map3DSystem.App.Map.OnDeactivateDesktop

syntax

function Map3DSystem.App.Map.OnDeactivateDesktop()

Map3DSystem.App.Map.MSGProc


client world database function helpers.


all related messages

APPS can be invoked in many ways: Through app Manager mainbar or menu command or buttons Command Line 3D World installed apps

syntax

function Map3DSystem.App.Map.MSGProc(window, msg)

parameters

window  
msg  

Map3DSystem.App.Map.GetTileByID

this is wrapper function of paraworld.map.GetTileByID

  • param tileID : tile id, or its string.
  • param callback : function of (tileInfo, param1)
  • param param1 : an optional parameter passed to callback. this can be nil.
  • return __ : it will return true it is fetching or already fetched.

syntax

function Map3DSystem.App.Map.GetTileByID(tileID, callback, param1)

parameters

tileID tile id, or its string.
callback  
param1 an optional parameter passed to callback. this can be nil.

Map3DSystem.App.Map.GetTileByIDCallBack

callback

syntax

function Map3DSystem.App.Map.GetTileByIDCallBack(msg,args)

parameters

msg  
args  

Member Functions

BuyRandomTileCmd.OnGetResult

private

syntax

function BuyRandomTileCmd.OnGetResult(self,tileID,isSuccess,errorCode)

parameters

self  
tileID  
isSuccess  
errorCode  

BuyRandomTileCmd:OnCmdDone

private

syntax

function BuyRandomTileCmd:OnCmdDone(tileID,isSuccess)

parameters

tileID  
isSuccess  

some helper function convert DB data type to run time data type

Title some helper function convert DB data type to run time data type
Author(s) Clayman
Date Desc:
File script/kids/3DMapSystemUI/Map/DataPvdHelper.lua

Description

TIP Sample Code

--NPL.load("(gl)script/kids/3DMapSystemUI/Map/DataPvdHelper.lua");

Member Functions

helper.ParseTexture

texture string format is something like: "*/*/../*.*; /*/../.*"

syntax

function helper.ParseTexture(textureString)

parameters

textureString  

helper.ParseTileInfo

convert data base tileInfo type to runtime type

syntax

function helper.ParseTileInfo(msg)

parameters

msg  

helper.ConvertModel2RunType

convert data base modelInfo to runtime type

syntax

function helper.ConvertModel2RunType(dbModelData)

parameters

dbModelData  

Member Functions

landCell:SetTileInfo

private

syntax

function landCell:SetTileInfo(tileInfo)

parameters

tileInfo  

landCell:UpdateTerrainPos

private,update terrain position

syntax

function landCell:UpdateTerrainPos()

landCell:UpdateModelPos

private,update model position

syntax

function landCell:UpdateModelPos()

landCell:UpdateMarkPos

private,update mark position

syntax

function landCell:UpdateMarkPos()

landCell:RefreshModels

private,create new models

syntax

function landCell:RefreshModels()

landCell:Clear

clear all models,marks,reset terrain to default state

syntax

function landCell:Clear()

landCell:ResetTerrain

private,reset terrain to default state

syntax

function landCell:ResetTerrain()

landCell:RemoveModels

private,clear all building models

syntax

function landCell:RemoveModels()

landCell:RemoveMarks

private,clear all marks on this tile

syntax

function landCell:RemoveMarks(bShow)

parameters

bShow  

landCell.OnReceiveTileInfo

data privder GetTileInfo? () callback function

syntax

function landCell.OnReceiveTileInfo(receiver,tileInfo)

parameters

receiver  
tileInfo  

land generator

Title land generator
Author(s) SunLingFeng?
Date 2008/1/25
File script/kids/3DMapSystemUI/Map/landGenerator.lua

Description

Member Functions

landGen.QueryTileType

private

syntax

function landGen.QueryTileType(norPosX,norPosY)

parameters

norPosX  
norPosY  

Member Functions

Map3DSystem.Map.map2DLayer.Initialization

the current map level, the initial map level is 1 Map3DSystem? .Map.map2DLayer.zoomLvl = 1; how many map levels to allow the users to zoom in. Map3DSystem? .Map.map2DLayer.maxZoomLvl = 5; Map3DSystem? .Map.map2DLayer.maxCamDist = 0; Map3DSystem? .Map.map2DLayer.minCamDist = 15; Map3DSystem? .Map.map2DLayer.elevation = 0; Map3DSystem? .Map.map2DLayer.camPitch = math.pi/2 - 0.001; Map3DSystem? .Map.map2DLayer.zoomSpan = 0.4; Map3DSystem? .Map.map2DLayer.isInited = false; Map3DSystem? .Map.map2DLayer.viewElevation = 1; Map3DSystem? .Map.map2DLayer.OnCamOutOfRange = nil;

syntax

function Map3DSystem.Map.map2DLayer.Initialization()

Map3DSystem.Map.map2DLayer.Reset

reset the map and camera to default state

syntax

function Map3DSystem.Map.map2DLayer.Reset()

Map3DSystem.Map.map2DLayer.Move

move map for a given distance dx,dy is in screen unit

syntax

function Map3DSystem.Map.map2DLayer.Move(dx,dy)

parameters

dx  
dy  

Map3DSystem.Map.map2DLayer.SetViewPosition

view position is the center point of viewRegion in world coordinate[0,1] we'll update tile position base on current view position

syntax

function Map3DSystem.Map.map2DLayer.SetViewPosition(x,y)

parameters

x  
y  

Map3DSystem.Map.map2DLayer.Update

update tile position after zoom or move

syntax

function Map3DSystem.Map.map2DLayer.Update()

Map3DSystem.Map.map2DLayer.CheckBound

check if the view position is valid after zoom or move

syntax

function Map3DSystem.Map.map2DLayer.CheckBound()   

Map3DSystem.Map.map2DLayer.GetMapSize

get the current map size in screen coordinate the size is different for each level

syntax

function Map3DSystem.Map.map2DLayer.GetMapSize()

Map3DSystem.Map.map2DLayer.GetCamera

return the virtCam

syntax

function Map3DSystem.Map.map2DLayer.GetCamera()

Map 2D Layer Display management

Title Map 2D Layer Display management
Author(s) SunLingFeng?
Date 2007/10/10
File script/kids/3DMapSystemUI/Map/Map2DLayer_v2.lua

Description

Member Functions

Map3DSystem.Map.map2DLayer.Initialization

the current map level, the initial map level is 1 Map3DSystem? .Map.map2DLayer.zoomLvl = 1; how many map levels to allow the users to zoom in. Map3DSystem? .Map.map2DLayer.maxZoomLvl = 3; intenal use Map3DSystem? .Map.map2DLayer.maxCamDist = nil; Map3DSystem? .Map.map2DLayer.minCamDist = nil; Map3DSystem? .Map.map2DLayer.elevation = 0; Map3DSystem? .Map.map2DLayer.camPitch = math.pi/2 - 0.001; Map3DSystem? .Map.map2DLayer.zoomSpan = 0.4; Map3DSystem? .Map.map2DLayer.isInited = false; this actually log2(Elev), since the camera zooms in uniformly by log2(e) unit Map3DSystem? .Map.map2DLayer.viewElevation = 0; Map3DSystem? .Map.map2DLayer.OnCamOutOfRange = nil;


public functions

call this function only once to create shared resources in the mini 3D scene, etc

syntax

function Map3DSystem.Map.map2DLayer.Initialization()

Map3DSystem.Map.map2DLayer.Reset

reset the map. the camera is set to look at the center of the map from the largest distance.

syntax

function Map3DSystem.Map.map2DLayer.Reset()

Map3DSystem.Map.map2DLayer.Show

show or hide 2D map layer, Since the same mini 3d scene will be used to display both 3d and 2d map, this function can be used to toggle display

syntax

function Map3DSystem.Map.map2DLayer.Show(bShow)

parameters

bShow  

Map3DSystem.Map.map2DLayer.Move

move map by a delta distance

  • param dx :,dy: this is in pixel.

syntax

function Map3DSystem.Map.map2DLayer.Move(dx,dy)

parameters

dx ,dy: this is in pixel.
dy  

Map3DSystem.Map.map2DLayer.SetViewPosition

Set the look at position of the camera. the map display is automatically updated.

  • param x :,y: should be specified in world unit, which is in range [0,1]

syntax

function Map3DSystem.Map.map2DLayer.SetViewPosition(x,y)

parameters

x ,y: should be specified in world unit, which is in range [0,1]
y  

Map3DSystem.Map.map2DLayer.SetCamElevation

Set the distance from the camera eye position to the look at position. It will automatically set the proper map level and update the map display.

  • param elevation : in screen unit.

syntax

function Map3DSystem.Map.map2DLayer.SetCamElevation(elevation)

parameters

elevation in screen unit.

Map3DSystem.Map.map2DLayer.Update


private functions
private: update tile position according to current virtual camera position and map level. one needs to call this to update map tile position and textures, such as after mouse zoom or move operation.

syntax

function Map3DSystem.Map.map2DLayer.Update()

Map3DSystem.Map.map2DLayer.CheckBound

private: check if the self.virtCam's view position is valid after zoom or move

syntax

function Map3DSystem.Map.map2DLayer.CheckBound()

Map3DSystem.Map.map2DLayer.GetMapSize

get the current map size in screen unit. map_size = screen_tile_size * how_many_tiles_per_line_in_the_level the size is different for different level

syntax

function Map3DSystem.Map.map2DLayer.GetMapSize()

Map3DSystem.Map.map2DLayer.GetCamera

return the virtual Camera

syntax

function Map3DSystem.Map.map2DLayer.GetCamera()

the map app entry point

Title the map app entry point
Author(s) SunLingFeng?
Date 2008/1/10
File script/kids/3DMapSystemUI/Map/Map3DApp.lua

Description

Member Functions

MainWnd:new

======display model enum======= MainWnd? .DisplayMode = {}; MainWnd? .DisplayMode.normal = 0; MainWnd? .DisplayMode.edit = 1;

======public===================

syntax

function MainWnd:new(o)

parameters

o  

MainWnd:CreateUI

==========private==============

syntax

function MainWnd:CreateUI()

Member Functions

mark3DInfo:new

[[
Map3DApp.MarkType = {};
Map3DApp.MarkType.player = 1;
Map3DApp.MarkType.event = 2;
Map3DApp.MarkType.city = 3;   
Map3DApp.MarkType.ad = 4;

local mark3DInfo = {
   markID = -1,
   markType = Map3DApp.MarkType.player,
   markModel = "", --string:mark model file
   markTitle = "",
   startTime = "",
   endTime = "",
   x = 0,
   y = 0,
   z = 0,
   cityName = "",
   rank = 0,
   logo = "",
   signature = "",
   desc = "",
   ageGroup = 0,
   isApproved = false,
   version = "",
   ownerUserID = "",
   clickCnt = 0,
   worldID = -1,
   allowEdit = false,
}
Mark3DInfo? = mark3DInfo;

syntax

function mark3DInfo:new(o)

parameters

o  

SpriteAnimationPlayer?

Title SpriteAnimationPlayer?
Author(s) SunLingfeng? @ paraengine.com
Date 2008/1/29
File script/kids/3DMapSystemUI/Map/Map3DAppAnimationPlayer.lua

Description

SpriteAnimationPlayer? is a sprite sheet player,it receive a paraUIObject as target window, draw animation on it.SpriteAnimationPlayer assume the sprite sheet texture size is power of 2,eg,256*256,512*512. frameSize is the size of each frame in the texture.

TIP Sample Code

NPL.load("(gl)script/kids/3DMapSystemUI/Map/Map3DAppAnimationPlayer.lua");
local cloudPlayer = Map3DApp.SpriteAnimationPlayer:new{
   name = self.cloudLayer,
   targetWndName = self.name,
   totalFrame = 16,
   defaultFrame = 1,
   frameSize = 256,
   spriteSheet = "model/map3D/texture/clouds.dds",
};
cloudLayer:Play(false,false)

Member Functions

SpriteAnimationPlayer:new

=========public===============

syntax

function SpriteAnimationPlayer:new(o)

parameters

o  

SpriteAnimationPlayer:Init

==============private============

syntax

function SpriteAnimationPlayer:Init()

Managing model and texture in map system.

Title Managing model and texture in map system.
Author(s) SunLingfeng? @ paraengine.com
Date 2007/10/18
File script/kids/3DMapSystemUI/Map/Map3DAppAssetManager.lua

Description

TIP Sample Code

NPL.load("(gl)script/kids/3DMapSystemUI/Map/Map3DAppAssetManager.lua");

Member Functions

Map3DApp.Global.AssetManager.Destroy

delete all resources.

syntax

function Map3DApp.Global.AssetManager.Destroy()

Map3DApp.Global.AssetManager.GetModel

return managed ParaAssetObject? by file name

syntax

function Map3DApp.Global.AssetManager.GetModel(modelName)

parameters

modelName  

Map3DApp.Global.AssetManager.GetTexture

return managed ParaAssetObject? by file name

syntax

function Map3DApp.Global.AssetManager.GetTexture(textureName)

parameters

textureName  

Map3DApp.Global.AssetManager.UnloadModel

unload a given asset by file name

syntax

function Map3DApp.Global.AssetManager.UnloadModel(modelName)

parameters

modelName  

Map3DApp.Global.AssetManager.UnloadTexture

unload a given asset by file name

syntax

function Map3DApp.Global.AssetManager.UnloadTexture(textureName)

parameters

textureName  

Map3DApp.Global.AssetManager.GetMapTex


syntax

function Map3DApp.Global.AssetManager.GetMapTex(textureName)

parameters

textureName  

Map3DApp.Global.AssetManager.GetCharacter

syntax

function Map3DApp.Global.AssetManager.GetCharacter(modelName)

parameters

modelName  

Member Functions

MapBBSBar:new

-----MapBBSBar
local MapBBSBar = {
   name = "rollingBar";
   parent = nil;
   
   --layout
   alignment = "_lt";
   left = 5;
   top = 0;
   width = 600;
   height = 24;
   
   --msg list,a circle queue
   maxMsgCount = 30;
   
   rollSpeed = 2;
   
   --private data
   billboards = {};
   billboardCount = 4;
   billboardSpace = 15;
   
   freeBillboards = nil;
   activeBillboards = nil;   
   
   font = nil;
   fontColorCount = 1;
   fontHighLight = "130 30 130";
   
   timerID;
   rollingState = Map3DApp.RollState.stop;
   lastRollingState = Map3DApp.RollState.stop;
   
   selectItem = nil;
   
   --event
   onItemSelect = nil;
   onMsgPop = nil;
   onMsgEmpty = nil;
}
MapBBSBar? = MapBBSBar? ;

public

syntax

function MapBBSBar:new(o)

parameters

o  

MapBBSBar:Destroy

public

syntax

function MapBBSBar:Destroy()

MapBBSBar:Show

public

syntax

function MapBBSBar:Show(bShow)

parameters

bShow  

MapBBSBar:Init

private function, once called once on oject creation

syntax

function MapBBSBar:Init()

MapBBSBar:ResetUI

private function,reset all ui related object call this method after sence reset

syntax

function MapBBSBar:ResetUI()

MapBBSBar.OnMouseEnter

private method,stop rolling when mouse enter a billboard

syntax

function MapBBSBar.OnMouseEnter(ctrName,index)

parameters

ctrName  
index  

MapBBSBar.OnMouseLeave

private,resume rolling state when mouse leave billboard

syntax

function MapBBSBar.OnMouseLeave(ctrName,index)

parameters

ctrName  
index  

MapBBSBar.OnMouseUp

private,fired when click on a billboard

syntax

function MapBBSBar.OnMouseUp(ctrName)

parameters

ctrName  

MapBBSBar:ActiveRolling

private,AddMessage will automatic call this method to roll when new message come

syntax

function MapBBSBar:ActiveRolling()

MapBBSBar:Update

private,update display

syntax

function MapBBSBar:Update()

MapBBSBar:RefreshBillboard

private

syntax

function MapBBSBar:RefreshBillboard()

MapBBSBar:Rolling

private move the position of each billboard

syntax

function MapBBSBar:Rolling()

MapBBSBar:SetParent

public

syntax

function MapBBSBar:SetParent(_parent)

parameters

parent  

MapBBSBar:SetPosition

public

syntax

function MapBBSBar:SetPosition(x,y,width,height)

parameters

x  
y  
width  
height  

MapBBSBar:AddMessage

public

syntax

function MapBBSBar:AddMessage(newMsg)

parameters

newMsg  

MapBBSBar:PopMessage

public

syntax

function MapBBSBar:PopMessage()

MapBBSBar:Pause

public

syntax

function MapBBSBar:Pause()

MapBBSBar:Resume

public

syntax

function MapBBSBar:Resume()

MapBBSBar:IsMsgFull

public

syntax

function MapBBSBar:IsMsgFull()

MapBBSBar:SetFontColor

public

syntax

function MapBBSBar:SetFontColor(color,colorIndex)

parameters

color  
colorIndex  

Member Functions

MapBBSMsgEdit:new

------------------------------------
-----------MapBBSMsgEdit--------
------------------------------------
local MapBBSMsgEdit = {
   name = "bbsMsgBox",
   parent = nil,
   
   alignment = "_lt",
   x = 100,
   y = 100,
   width = 450,
   height = 60,
   textBox = nil;
   onMsgSend = nil;
}
MapBBSMsgEdit? = MapBBSMsgEdit? ;

syntax

function MapBBSMsgEdit:new(o)

parameters

o  

MapBBSMsgViewer:new

-------------------------------------------------
------------MapBBSMsgViewer------------
-------------------------------------------------
local MapBBSMsgViewer = {
   name = nil;
   parent = nil;
   
   alignment = "_lt",
   x = 0,
   y = 0,
   width = 500,
   height = 300,
   
   --event
   onItemSelect = nil;
   onShow = nil;
}
MapBBSMsgViewer? = MapBBSMsgViewer? ;

syntax

function MapBBSMsgViewer:new(o)

parameters

o  

MapBBSMsgViewer.OnItemSelect

private,fire onMsgSelect event

syntax

function MapBBSMsgViewer.OnItemSelect(ctrName)

parameters

ctrName  

Member Functions

Map3DApp.Timer.GetNewTimerID

Default Font DefaultFont? = "System";


timer id creator------------------------------ all timer id used in 3d map was created by this class
Map3DApp? .Timer = {}; Map3DApp? .Timer.minTimerID = 200; Map3DApp? .Timer.maxTimerID = Map3DApp? .Timer.minTimerID - 1;

syntax

function Map3DApp.Timer.GetNewTimerID()

Queue:new

-----------------------------
----------Queue--------------
local Queue = {
   list = {};
   firstElement =1;
   lastElement = 0;
   elementCount = 0;
   maxElementCount = 0;
}

Map3DApp? .Queue = Queue;

syntax

function Queue:new(o)

parameters

o  

Queue:Peek

Returns the object at the beginning of the Queue without removing it

syntax

function Queue:Peek()

CycleQueue:new

-----------------

local CycleQueue = {
   --only set this value at init time
   maxElementCount = 0;
   --thers are all private data
   list = {};
   firstElement=1;
   lastElement=0;
   elementCount = 0;
}
CycleQueue? = CycleQueue? ;

syntax

function CycleQueue:new(o)

parameters

o  

Map data provider

Title Map data provider
Author(s) SunLingFeng?
Date 2008/1/25
File script/kids/3DMapSystemUI/Map/Map3DAppDataPvd.lua

Description

Member Functions

Map3DApp.DataPvd.SetServerURL

set remote server url

syntax

function Map3DApp.DataPvd.SetServerURL(url)

parameters

url  

Map3DApp.DataPvd.GetTotalCellCount

total map cell count DataPvd? .totalCellCount = 32768; DataPvd? .logicCellSize = 1/32768;

syntax

function Map3DApp.DataPvd.GetTotalCellCount()

Map3DApp.DataPvd.GetTileByPos



tile
client call this method to get tile data sender is this client object callback data privde will call this function when data is prepared

syntax

function Map3DApp.DataPvd.GetTileByPos(posX,posY,objSender,callbackFun)

parameters

posX  
posY  
objSender  
callbackFun  

Map3DApp.DataPvd.BuytTile

buy tile with given id or position

  • params tileID :tile id you want to buy,can be nil
  • params x :,y:tile position you want to buy,can be nil
  • params terrainType :, can be nil
  • params __ :terrain texture,can be nil
  • params __ :callback function when remote call return

syntax

function Map3DApp.DataPvd.BuytTile(userSession,tileID,_x,_y,_terrainType,_texture,sender,callback)

parameters

userSession  
tileID tile id you want to buy,can be nil
x  
y  
terrainType , can be nil
texture  
sender  
callback  

Map3DApp.DataPvd.MockGetTilesInRegion

mock RPC for testing

syntax

function Map3DApp.DataPvd.MockGetTilesInRegion(msg,args)

parameters

msg  
args  

Map3DApp.DataPvd.GetRandomTilePosInRegion

get a random tile in reagion

  • params x :center point x in normalized world coordinate
  • params y :center point y in normalized world coordinate
  • params radius :region width,in normalized world coordinate

syntax

function Map3DApp.DataPvd