EnvAppDev
description: 编辑自然环境的应用程序: 包括天空、海洋、陆地等
Env app for Paraworld
| Title |
Env app for Paraworld |
| Author(s) |
LiXizhi |
| Date |
2008/2/14 |
| File |
script/kids/3DMapSystemUI/Env/app_main.lua |
Description
editing environment of the world, such as sky, ocean, and terrain.
db registration insert script
INSERT INTO apps VALUES (NULL, 'Env_GUID', 'Env', '1.0.0', 'http://www.paraengine.com/apps/Env_v1.zip', 'YourCompany', 'enUS', 'script/kids/3DMapSystemUI/Env/IP.xml', '', 'script/kids/3DMapSystemUI/Env/app_main.lua', 'Map3DSystem.App.Env.MSGProc', 1);
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/Env/app_main.lua");
Member Functions
Map3DSystem.App.Env.OnConnection
requires
create class
commonlib.setfield("Map3DSystem.App.Env", {});
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.Env.OnConnection(app, connectMode)
parameters
| app |
the object representing the current application in the IDE. |
| connectMode |
|
Map3DSystem.App.Env.OnDisconnection
Receives notification that the Add-in is being unloaded.
syntax
function Map3DSystem.App.Env.OnDisconnection(app, disconnectMode)
parameters
Map3DSystem.App.Env.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.Env.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.Env.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.Env.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.Env.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.Env.OnRenderBox(mcmlData)
parameters
Map3DSystem.App.Env.Navigate
called when the user wants to nagivate to the 3D world location relavent to this application
syntax
function Map3DSystem.App.Env.Navigate()
Map3DSystem.App.Env.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.Env.GotoHomepage()
Map3DSystem.App.Env.DoQuickAction
called when user clicks the quick action for this application.
syntax
function Map3DSystem.App.Env.DoQuickAction()
Map3DSystem.App.Env.OnActivateDesktop
Add terrain, sky and ocean button to the toolbar.
syntax
function Map3DSystem.App.Env.OnActivateDesktop()
Map3DSystem.App.Env.OnDeactivateDesktop
syntax
function Map3DSystem.App.Env.OnDeactivateDesktop()
Map3DSystem.App.Env.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.Env.MSGProc(window, msg)
parameters
Environment Ocean page
| Title |
Environment Ocean page |
| Author(s) |
LiXizhi |
| Date |
2008/6/8 |
| File |
script/kids/3DMapSystemUI/Env/OceanPage.lua |
Description
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/Env/OceanPage.lua");
-- call below to load window
Map3DSystem.App.Commands.Call("File.MCMLWindowFrame", {
url="script/kids/3DMapSystemUI/Env/OceanPage.html", name="OceanPage",
app_key=Map3DSystem.App.AppKeys["Env"],
isShowTitleBar = false,
isShowToolboxBar = false,
isShowStatusBar = false,
initialWidth = 200,
alignment = "Left",
});
Member Functions
OceanPage.OnInit
called to init page
syntax
function OceanPage.OnInit()
OceanPage.OnOceanColorChanged
page events
called when the Ocean color changes
syntax
function OceanPage.OnOceanColorChanged(r,g,b)
parameters
OceanPage.WaterLevel
[[ set the current water level by the current player's position plus the offset.
- param fOffset : offset
- param bEnable : true to enable water, false to disable.
]]
syntax
function OceanPage.WaterLevel(fOffset, bEnable)
parameters
OceanPage.OnOceanLevelSlider
called when the Ocean color changes
syntax
function OceanPage.OnOceanLevelSlider(value)
parameters
Sky in main bar for 3D Map system
| Title |
Sky in main bar for 3D Map system |
| Author(s) |
WangTian? , LiXizhi |
| Date |
2007/9/17 |
| File |
script/kids/3DMapSystemUI/Env/Sky.lua |
Description
Show the Sky panel in game UI
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/Env/Sky.lua");
Member Functions
Map3DSystem.UI.Sky.ShowWnd
display the sky panel.
syntax
function Map3DSystem.UI.Sky.ShowWnd(_app)
parameters
Map3DSystem.UI.Sky.Show
- param bShow : boolean to show or hide. if nil, it will toggle current setting.
- param __ :_parent: parent window inside which the content is displayed. it can be nil.
syntax
function Map3DSystem.UI.Sky.Show(bShow, _parent, parentWindow)
parameters
| bShow |
boolean to show or hide. if nil, it will toggle current setting. |
| parent |
|
| parentWindow |
|
Map3DSystem.UI.Sky.Show
show or hide the sky panel, bShow == nil, toggle current setting
syntax
function Map3DSystem.UI.Sky.Show(bShow)
parameters
Map3DSystem.UI.Sky.OnChangeSkybox
functions
called when the sky box need to be changed
syntax
function Map3DSystem.UI.Sky.OnChangeSkybox(nIndex)
parameters
Map3DSystem.UI.Sky.OnFogColorChanged
called when the fog color changes
syntax
function Map3DSystem.UI.Sky.OnFogColorChanged()
Map3DSystem.UI.Sky.OnSkyColorChanged
called when the sky color changes
syntax
function Map3DSystem.UI.Sky.OnSkyColorChanged()
Map3DSystem.UI.Sky.OnTimeSliderChanged
UI handler
syntax
function Map3DSystem.UI.Sky.OnTimeSliderChanged()
Map3DSystem.UI.Sky.UpdateTimeSliderUI
update time slider UI
syntax
function Map3DSystem.UI.Sky.UpdateTimeSliderUI()
Map3DSystem.UI.Sky.UpdateFogColorUI
update fog color UI
syntax
function Map3DSystem.UI.Sky.UpdateFogColorUI()
Map3DSystem.UI.Sky.UpdateSkyColorUI
update sky color UI
syntax
function Map3DSystem.UI.Sky.UpdateSkyColorUI()
Environment sky page
| Title |
Environment sky page |
| Author(s) |
LiXizhi |
| Date |
2008/6/8 |
| File |
script/kids/3DMapSystemUI/Env/SkyPage.lua |
Description
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/Env/SkyPage.lua");
-- call below to load window
Map3DSystem.App.Commands.Call("File.MCMLWindowFrame", {
url="script/kids/3DMapSystemUI/Env/SkyPage.html", name="SkyPage",
app_key=Map3DSystem.App.AppKeys["Env"],
isShowTitleBar = false,
isShowToolboxBar = false,
isShowStatusBar = false,
initialWidth = 200,
alignment = "Left",
});
Member Functions
SkyPage.DS_SkyBox_Func
skybox db table
SkyPage.skyboxes = {
[1] = {name = "skybox1", text="沙丘魔堡", file = "model/Skybox/Skybox1/Skybox1.x", bg = "Texture/kidui/middle/sky/btn_sky1.png"},
[2] = {name = "skybox2", text="晴空万里", file = "model/Skybox/skybox2/skybox2.x", bg = "Texture/kidui/middle/sky/btn_sky2.png"},
[3] = {name = "skybox3", text="冰天雪地", file = "model/Skybox/Skybox3/Skybox3.x", bg = "Texture/kidui/middle/sky/btn_sky3.png"},
[4] = {name = "skybox4", text="外太空星球", file = "model/Skybox/skybox4/skybox4.x", bg = "Texture/kidui/middle/sky/btn_sky4.png"},
[5] = {name = "skybox5", text="夕阳西下", file = "model/Skybox/Skybox5/Skybox5.x", bg = "Texture/kidui/middle/sky/btn_sky5.png"},
[6] = {name = "skybox6", text="夜空繁星", file = "model/Skybox/Skybox6/Skybox6.x", bg = "Texture/kidui/middle/sky/btn_sky5.png"},
};
datasource function for pe:gridview
syntax
function SkyPage.DS_SkyBox_Func(index)
parameters
SkyPage.OnInit
called to init page
syntax
function SkyPage.OnInit()
SkyPage.OnChangeSkybox
page events
called when the sky box need to be changed
syntax
function SkyPage.OnChangeSkybox(nIndex)
parameters
SkyPage.OnTimeSliderChanged
called when time slider changes
syntax
function SkyPage.OnTimeSliderChanged(value)
parameters
SkyPage.OnFogColorChanged
called when the fog color changes
syntax
function SkyPage.OnFogColorChanged(r,g,b)
parameters
SkyPage.OnSkyColorChanged
called when the sky color changes
syntax
function SkyPage.OnSkyColorChanged(r,g,b)
parameters
Terrain in main bar for 3D Map system
| Title |
Terrain in main bar for 3D Map system |
| Author(s) |
WangTian? , LiXizhi |
| Date |
2007/9/17 |
| File |
script/kids/3DMapSystemUI/Env/Terrain.lua |
Description
Show the Terrain panel in game UI
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/InGame/Terrain.lua");
Member Functions
Map3DSystem.UI.Terrain.MSGProc
this override default terrain texture list
Map3DSystem.UI.Terrain.terrainTexList = {
[1]={filename = "Texture/tileset/generic/StoneRoad.dds"},
[2]={filename = "Texture/tileset/generic/sandRock.dds"},
[3]={filename = "Texture/tileset/generic/sandSmallRock.dds"},
[4]={filename = "Texture/tileset/generic/greengrass.dds"},
[5]={filename = "Texture/tileset/generic/stonegrass.dds"},
[6]={filename = "Texture/tileset/generic/GridMarker.dds"},
};
syntax
function Map3DSystem.UI.Terrain.MSGProc(window, msg)
parameters
Map3DSystem.UI.Terrain.Show
show or hide the water panel, bShow == nil, toggle current setting
syntax
function Map3DSystem.UI.Terrain.Show(bShow)
parameters
Map3DSystem.UI.Terrain.OnSetCustomTextureBrushSize
functions
user specified brush size?
syntax
function Map3DSystem.UI.Terrain.OnSetCustomTextureBrushSize()
Map3DSystem.UI.Terrain.OnSetTextureBrushSize
set the current terrain texture brush size and update the UI
- param nSize : if this is nil, the current brush size is used, if not the current brush size will be set accordingly
syntax
function Map3DSystem.UI.Terrain.OnSetTextureBrushSize(nSize)
parameters
| nSize |
if this is nil, the current brush size is used, if not the current brush size will be set accordingly |
Map3DSystem.UI.Terrain.OnTerrainTexturePaint
called to paint textures on to the terrain surface?
syntax
function Map3DSystem.UI.Terrain.OnTerrainTexturePaint(nIndex)
parameters
Map3DSystem.UI.Terrain.OnSetCustomTerrainBrushSize
user specified brush size?
syntax
function Map3DSystem.UI.Terrain.OnSetCustomTerrainBrushSize()
Map3DSystem.UI.Terrain.OnSetTerrainBrushSize
set the current terrain brush size and update the UI
- param nSize : if this is nil, the current brush size is used, if not the current brush size will be set accordingly
syntax
function Map3DSystem.UI.Terrain.OnSetTerrainBrushSize(nSize)
parameters
| nSize |
if this is nil, the current brush size is used, if not the current brush size will be set accordingly |
Environment Terrain page
| Title |
Environment Terrain page |
| Author(s) |
LiXizhi |
| Date |
2008/6/8 |
| File |
script/kids/3DMapSystemUI/Env/TerrainPage.lua |
Description
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/Env/TerrainPage.lua");
-- call below to load window
Map3DSystem.App.Commands.Call("File.MCMLWindowFrame", {
url="script/kids/3DMapSystemUI/Env/TerrainPage.html", name="TerrainPage",
app_key=Map3DSystem.App.AppKeys["Env"],
isShowTitleBar = false,
isShowToolboxBar = false,
isShowStatusBar = false,
initialWidth = 200,
alignment = "Left",
});
Member Functions
TerrainPage.DS_TerrainTex_Func
Terrain texture db table
TerrainPage.terrainTexList = {
{filename = "Texture/tileset/generic/StoneRoad.dds"},
{filename = "Texture/tileset/generic/sandRock.dds"},
{filename = "Texture/tileset/generic/sandSmallRock.dds"},
{filename = "Texture/tileset/generic/greengrass.dds"},
{filename = "Texture/tileset/generic/stonegrass.dds"},
{filename = "Texture/tileset/generic/GridMarker.dds"},
};
datasource function for pe:gridview
syntax
function TerrainPage.DS_TerrainTex_Func(index)
parameters
TerrainPage.OnInit
called to init page
syntax
function TerrainPage.OnInit()
TerrainPage.GaussianHill
page events
syntax
function TerrainPage.GaussianHill(height)
parameters
TerrainPage.Flatten
syntax
function TerrainPage.Flatten()
TerrainPage.Roughen_Smooth
syntax
function TerrainPage.Roughen_Smooth(bRoughen)
parameters
TerrainPage.OnTerrainTexturePaint
called to paint textures on to the terrain surface using the current brushes.
syntax
function TerrainPage.OnTerrainTexturePaint(FileNameOrIndex)
parameters
TerrainPage.OnSetTerrainBrushSize
set the current terrain brush size
- param nSize : if this is nil, the current brush size is used, if not the current brush size will be set accordingly
syntax
function TerrainPage.OnSetTerrainBrushSize(nSize, bSilent)
parameters
| nSize |
if this is nil, the current brush size is used, if not the current brush size will be set accordingly |
| bSilent |
|
TerrainPage.OnSetTextureBrushSize
set the current terrain texture brush size
- param nSize : if this is nil, the current brush size is used, if not the current brush size will be set accordingly
syntax
function TerrainPage.OnSetTextureBrushSize(nSize, bSilent)
parameters
| nSize |
if this is nil, the current brush size is used, if not the current brush size will be set accordingly |
| bSilent |
|
TerrainPage.Reset_TerrainMod
reset brush settings.
syntax
function TerrainPage.Reset_TerrainMod()
Water in main bar for 3D Map system
| Title |
Water in main bar for 3D Map system |
| Author(s) |
WangTian? , LiXizhi |
| Date |
2007/9/17 |
| File |
script/kids/3DMapSystemUI/Env/Water.lua |
Description
Show the Water panel in game UI
Sample Code
NPL.load("(gl)script/kids/3DMapSystemUI/InGame/Water.lua");
Member Functions
Map3DSystem.UI.Water.Show
show or hide the water panel, bShow == nil, toggle current setting
syntax
function Map3DSystem.UI.Water.Show(bShow)
parameters
Map3DSystem.UI.Water.OnOceanColorChanged
functions
called when the ocean color changes
syntax
function Map3DSystem.UI.Water.OnOceanColorChanged()
Map3DSystem.UI.Water.WaterLevel
[[ set the current water level by the current player's position plus the offset.
- param fOffset : offset
- param bEnable : true to enable water, false to disable.
]]
syntax
function Map3DSystem.UI.Water.WaterLevel(fOffset, bEnable)
parameters