Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zeroing-engine
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
劳工
zeroing-engine
Commits
af6a8e74
Commit
af6a8e74
authored
Jan 08, 2020
by
rockyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交
parent
8f20e2d8
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
134 additions
and
50 deletions
+134
-50
engine.js
debug/engine.js
+66
-24
engine.js.map
debug/engine.js.map
+1
-1
FloatDisplay.ts
src/2d/display/FloatDisplay.ts
+8
-1
TextField.ts
src/2d/text/TextField.ts
+6
-1
Process.ts
src/zeroing/behavior-runtime/Process.ts
+13
-4
GameStage.ts
src/zeroing/game-warpper/GameStage.ts
+2
-3
custom-module.ts
src/zeroing/game-warpper/custom-module.ts
+10
-1
HtmlView.ts
src/zeroing/game-warpper/nodes/HtmlView.ts
+9
-0
Label.ts
src/zeroing/game-warpper/nodes/Label.ts
+7
-5
index.ts
src/zeroing/game-warpper/nodes/index.ts
+1
-0
view-interpreter.ts
src/zeroing/game-warpper/view-interpreter.ts
+11
-10
No files found.
debug/engine.js
View file @
af6a8e74
This diff is collapsed.
Click to expand it.
debug/engine.js.map
View file @
af6a8e74
This diff is collapsed.
Click to expand it.
src/2d/display/FloatDisplay.ts
View file @
af6a8e74
...
@@ -3,6 +3,7 @@ import {DisplayObject} from "./DisplayObject";
...
@@ -3,6 +3,7 @@ import {DisplayObject} from "./DisplayObject";
import
{
devicePixelRatio
}
from
"../const"
;
import
{
devicePixelRatio
}
from
"../const"
;
let
container
;
let
container
;
let
el
;
/**
/**
* 此类对于需要在canvas上放置html其他类型元素的时候非常有用<br/>
* 此类对于需要在canvas上放置html其他类型元素的时候非常有用<br/>
...
@@ -87,6 +88,8 @@ export class FloatDisplay extends DisplayObject {
...
@@ -87,6 +88,8 @@ export class FloatDisplay extends DisplayObject {
container
.
style
.
position
=
"absolute"
;
container
.
style
.
position
=
"absolute"
;
container
.
style
.
left
=
"0"
;
container
.
style
.
left
=
"0"
;
container
.
style
.
top
=
"0"
;
container
.
style
.
top
=
"0"
;
container
.
style
.
fontSize
=
'30px'
;
container
.
style
.
lineHeight
=
'normal'
;
s
.
stage
.
rootDiv
.
appendChild
(
container
);
//, s.stage.rootDiv.childNodes[0]
s
.
stage
.
rootDiv
.
appendChild
(
container
);
//, s.stage.rootDiv.childNodes[0]
}
}
if
(
s
.
_htmlElement
)
{
if
(
s
.
_htmlElement
)
{
...
@@ -126,7 +129,11 @@ export class FloatDisplay extends DisplayObject {
...
@@ -126,7 +129,11 @@ export class FloatDisplay extends DisplayObject {
let
s
=
this
;
let
s
=
this
;
let
she
:
any
;
let
she
:
any
;
if
(
typeof
(
htmlElement
)
==
"string"
)
{
if
(
typeof
(
htmlElement
)
==
"string"
)
{
she
=
document
.
getElementById
(
htmlElement
);
if
(
!
el
)
{
el
=
document
.
createElement
(
'div'
);
}
el
.
innerHTML
=
htmlElement
;
she
=
el
.
children
[
0
];
}
else
if
(
htmlElement
.
_instanceType
==
"Video"
)
{
}
else
if
(
htmlElement
.
_instanceType
==
"Video"
)
{
she
=
htmlElement
.
media
;
she
=
htmlElement
.
media
;
}
else
{
}
else
{
...
...
src/2d/text/TextField.ts
View file @
af6a8e74
...
@@ -676,7 +676,12 @@ export class TextField extends Sprite {
...
@@ -676,7 +676,12 @@ export class TextField extends Sprite {
}
}
ctx
.
fillText
(
line
,
0
,
y
,
maxW
);
ctx
.
fillText
(
line
,
0
,
y
,
maxW
);
}
else
{
}
else
{
let
x
=
0
;
let
lineWidth
=
0
;
for
(
let
char
of
line
)
{
let
charWidth
=
measureChar
(
char
);
lineWidth
+=
charWidth
;
}
let
x
=
-
lineWidth
/
2
;
for
(
let
j
=
0
,
lj
=
line
.
length
;
j
<
lj
;
j
++
)
{
for
(
let
j
=
0
,
lj
=
line
.
length
;
j
<
lj
;
j
++
)
{
const
char
=
line
[
j
];
const
char
=
line
[
j
];
let
style
=
s
.
getStyle
(
index
);
let
style
=
s
.
getStyle
(
index
);
...
...
src/zeroing/behavior-runtime/Process.ts
View file @
af6a8e74
...
@@ -20,9 +20,11 @@ export class Process {
...
@@ -20,9 +20,11 @@ export class Process {
private
_meta
;
private
_meta
;
private
_target
;
private
_target
;
private
_originProps
;
private
_originProps
;
private
_scope
:
any
;
constructor
(
id
)
{
constructor
(
id
)
{
this
.
id
=
id
;
this
.
id
=
id
;
this
.
_scope
=
{};
}
}
get
processConfig
()
{
get
processConfig
()
{
...
@@ -37,6 +39,10 @@ export class Process {
...
@@ -37,6 +39,10 @@ export class Process {
return
this
.
_sequence
;
return
this
.
_sequence
;
}
}
get
scope
()
{
return
this
.
_scope
;
}
init
(
context
)
{
init
(
context
)
{
const
{
vm
,
parent
,
sequence
,
id
,
target
}
=
context
;
const
{
vm
,
parent
,
sequence
,
id
,
target
}
=
context
;
this
.
_vm
=
vm
;
this
.
_vm
=
vm
;
...
@@ -104,19 +110,19 @@ export class Process {
...
@@ -104,19 +110,19 @@ export class Process {
if
(
metaConfig
.
script
.
indexOf
(
linkScheme
)
===
0
)
{
if
(
metaConfig
.
script
.
indexOf
(
linkScheme
)
===
0
)
{
func
=
this
.
_vm
.
getScript
(
metaConfig
.
script
.
replace
(
linkScheme
,
''
));
func
=
this
.
_vm
.
getScript
(
metaConfig
.
script
.
replace
(
linkScheme
,
''
));
}
else
{
}
else
{
func
=
new
Function
(
'args'
,
'props'
,
'target'
,
'global'
,
'vm'
,
warpAsyncScript
(
metaConfig
.
script
));
func
=
new
Function
(
'args'
,
'props'
,
'target'
,
'global'
,
'vm'
,
'scope'
,
warpAsyncScript
(
metaConfig
.
script
));
}
}
if
(
func
)
{
if
(
func
)
{
let
globalContext
=
this
.
_vm
.
globalContext
;
let
globalContext
=
this
.
_vm
.
globalContext
;
globalContext
.
gameStage
=
engine
.
gameStage
;
globalContext
.
gameStage
=
engine
.
gameStage
;
globalContext
.
dataCenter
=
engine
.
gameStage
.
dataCenter
;
globalContext
.
dataCenter
=
engine
.
gameStage
.
dataCenter
;
globalContext
.
env
=
engine
.
env
;
globalContext
.
env
=
engine
.
env
;
result
=
await
func
(
payload
,
this
.
_config
.
props
,
this
.
_target
,
globalContext
,
this
.
_vm
);
result
=
await
func
(
payload
,
this
.
_config
.
props
,
this
.
_target
,
globalContext
,
this
.
_vm
,
this
.
_parent
.
scope
);
if
(
log
){
if
(
log
)
{
console
.
log
(
`[
${
this
.
_vm
.
id
}
:
${
this
.
id
}
] output: <
${
result
.
type
}
>`
,
result
.
payload
);
console
.
log
(
`[
${
this
.
_vm
.
id
}
:
${
this
.
id
}
] output: <
${
result
.
type
}
>`
,
result
.
payload
);
}
}
}
else
{
}
else
{
if
(
log
){
if
(
log
)
{
console
.
log
(
'script lose'
);
console
.
log
(
'script lose'
);
}
}
}
}
...
@@ -214,6 +220,9 @@ export class Process {
...
@@ -214,6 +220,9 @@ export class Process {
case
'static'
:
case
'static'
:
props
[
key
]
=
name
;
props
[
key
]
=
name
;
break
;
break
;
case
'scope'
:
props
[
key
]
=
getDataByPath
(
this
.
_parent
.
scope
,
name
);
break
;
case
'arguments'
:
case
'arguments'
:
props
[
key
]
=
args
?
getDataByPath
(
args
,
name
)
:
undefined
;
props
[
key
]
=
args
?
getDataByPath
(
args
,
name
)
:
undefined
;
break
;
break
;
...
...
src/zeroing/game-warpper/GameStage.ts
View file @
af6a8e74
...
@@ -13,8 +13,7 @@ import {Rect} from "./nodes";
...
@@ -13,8 +13,7 @@ import {Rect} from "./nodes";
import
{
injectEnv
}
from
"./enviroment"
;
import
{
injectEnv
}
from
"./enviroment"
;
import
{
Toast
}
from
"./Toast"
;
import
{
Toast
}
from
"./Toast"
;
import
{
arrayFind
}
from
"../utils"
;
import
{
arrayFind
}
from
"../utils"
;
import
{
registerCustomModuleAssets
,
registerScripts
}
from
".."
;
import
{
registerCustomModules
,
registerScripts
}
from
".."
;
import
{
registerCustomModuleFromConfig
}
from
"./custom-module"
;
/**
/**
* 游戏舞台
* 游戏舞台
...
@@ -150,7 +149,7 @@ export class GameStage extends Container {
...
@@ -150,7 +149,7 @@ export class GameStage extends Container {
//registerScripts(scripts);
//registerScripts(scripts);
//registerCustomModuleFromConfig(customs);
//registerCustomModuleFromConfig(customs);
registerCustomModule
Asset
s
(
customs
);
registerCustomModules
(
customs
);
if
(
dataMapping
){
if
(
dataMapping
){
this
.
dataCenter
.
registerDataMapping
(
dataMapping
);
this
.
dataCenter
.
registerDataMapping
(
dataMapping
);
...
...
src/zeroing/game-warpper/custom-module.ts
View file @
af6a8e74
...
@@ -11,9 +11,10 @@ const customMap = {};
...
@@ -11,9 +11,10 @@ const customMap = {};
* 注册自定义模块素材映射
* 注册自定义模块素材映射
* @param customs
* @param customs
*/
*/
export
function
registerCustomModule
Asset
s
(
customs
)
{
export
function
registerCustomModules
(
customs
)
{
for
(
let
custom
of
customs
)
{
for
(
let
custom
of
customs
)
{
customMap
[
custom
.
id
].
assets
=
custom
.
assets
;
customMap
[
custom
.
id
].
assets
=
custom
.
assets
;
customMap
[
custom
.
id
].
props
=
custom
.
props
;
}
}
}
}
...
@@ -87,3 +88,11 @@ export function resolveCustomAsset(id, uuid) {
...
@@ -87,3 +88,11 @@ export function resolveCustomAsset(id, uuid) {
return
config
;
return
config
;
}
}
}
}
/**
* 获取配置参数
* @param id
*/
export
function
getProps
(
id
)
{
return
customMap
[
id
].
props
;
}
src/zeroing/game-warpper/nodes/HtmlView.ts
0 → 100644
View file @
af6a8e74
/**
* Created by rockyl on 2020-01-07.
*/
import
{
FloatDisplay
}
from
"../../../2d/display"
;
export
class
HtmlView
extends
FloatDisplay
{
}
src/zeroing/game-warpper/nodes/Label.ts
View file @
af6a8e74
...
@@ -61,12 +61,14 @@ export class Label extends TextField {
...
@@ -61,12 +61,14 @@ export class Label extends TextField {
if
(
this
.
_htmlText
!=
value
)
{
if
(
this
.
_htmlText
!=
value
)
{
this
.
_htmlText
=
value
;
this
.
_htmlText
=
value
;
let
matchResult
=
value
.
match
(
ESCAPE_REG_EXP
);
if
(
this
.
_htmlText
){
let
matchResult
=
value
.
match
(
ESCAPE_REG_EXP
);
if
(
matchResult
)
{
if
(
matchResult
)
{
this
.
dealEscape
(
value
,
matchResult
,
this
.
onHtmlMutated
);
this
.
dealEscape
(
value
,
matchResult
,
this
.
onHtmlMutated
);
}
else
{
}
else
{
this
.
text
=
htmlToPureText
(
value
);
this
.
text
=
htmlToPureText
(
value
);
}
}
}
}
}
}
}
...
...
src/zeroing/game-warpper/nodes/index.ts
View file @
af6a8e74
...
@@ -9,3 +9,4 @@ export * from './TextInput'
...
@@ -9,3 +9,4 @@ export * from './TextInput'
export
*
from
'./ScrollView'
export
*
from
'./ScrollView'
export
*
from
'./ScrollList'
export
*
from
'./ScrollList'
export
*
from
'./BitmapText'
export
*
from
'./BitmapText'
export
*
from
'./HtmlView'
src/zeroing/game-warpper/view-interpreter.ts
View file @
af6a8e74
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
*/
*/
import
{
Container
}
from
"../../2d/display"
;
import
{
Container
}
from
"../../2d/display"
;
import
{
Rect
,
Image
,
Label
,
Circle
,
ScrollView
,
TextInput
,
ScrollList
,
BitmapText
}
from
"./nodes"
;
import
{
Rect
,
Image
,
Label
,
Circle
,
ScrollView
,
TextInput
,
ScrollList
,
BitmapText
,
HtmlView
}
from
"./nodes"
;
import
{
injectProperties
,
instantiateScript
,}
from
"../utils"
;
import
{
injectProperties
,
instantiateScript
,}
from
"../utils"
;
const
nodeTypeMapping
=
{
const
nodeTypeMapping
=
{
...
@@ -16,6 +16,7 @@ const nodeTypeMapping = {
...
@@ -16,6 +16,7 @@ const nodeTypeMapping = {
scrollView
:
ScrollView
,
scrollView
:
ScrollView
,
scrollList
:
ScrollList
,
scrollList
:
ScrollList
,
bitmapText
:
BitmapText
,
bitmapText
:
BitmapText
,
htmlView
:
HtmlView
,
};
};
export
function
registerNodeType
(
name
,
def
)
{
export
function
registerNodeType
(
name
,
def
)
{
...
@@ -42,15 +43,6 @@ function instantiateView(config) {
...
@@ -42,15 +43,6 @@ function instantiateView(config) {
node
.
__originConfig
=
config
;
node
.
__originConfig
=
config
;
injectProperties
(
node
,
properties
);
injectProperties
(
node
,
properties
);
if
(
scripts
&&
scripts
.
length
>
0
)
{
for
(
let
scriptConfig
of
scripts
)
{
instantiateScript
(
node
,
scriptConfig
);
}
}
if
(
events
)
{
node
.
eventsProxy
.
start
(
events
);
}
if
(
children
&&
children
.
length
>
0
)
{
if
(
children
&&
children
.
length
>
0
)
{
for
(
let
childConfig
of
children
)
{
for
(
let
childConfig
of
children
)
{
const
childNode
=
instantiateView
(
childConfig
);
const
childNode
=
instantiateView
(
childConfig
);
...
@@ -60,5 +52,14 @@ function instantiateView(config) {
...
@@ -60,5 +52,14 @@ function instantiateView(config) {
}
}
}
}
if
(
scripts
&&
scripts
.
length
>
0
)
{
for
(
let
scriptConfig
of
scripts
)
{
instantiateScript
(
node
,
scriptConfig
);
}
}
if
(
events
&&
node
.
eventsProxy
)
{
node
.
eventsProxy
.
start
(
events
);
}
return
node
;
return
node
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment