Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xiaoxiaole
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
wildfirecode13
xiaoxiaole
Commits
a556c3bc
Commit
a556c3bc
authored
Oct 25, 2019
by
wildfirecode
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of gitlab2.dui88.com:wanghongyuan/xiaoxiaole into dev
parents
8fc94add
f83bc4f4
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1047 additions
and
198 deletions
+1047
-198
MainBase.ts
egret/libs/new_wx/MainBase.ts
+2
-0
default.thm.json
egret/resource/default.thm.json
+1
-0
TurntablePanelSkin.exml
egret/resource/skins/TurntablePanelSkin.exml
+56
-0
CutTimer.ts
egret/src/CutTimer.ts
+1
-1
Utils.ts
egret/src/Utils.ts
+70
-0
GameGuide.ts
egret/src/mainScene/GameGuide.ts
+15
-12
MainScene.ts
egret/src/mainScene/MainScene.ts
+135
-123
MapScene.ts
egret/src/mapScene/MapScene.ts
+14
-10
InvitePanel.ts
egret/src/panels/InvitePanel.ts
+8
-0
ScratchPanel.ts
egret/src/panels/ScratchPanel.ts
+9
-4
RotaryData.ts
egret/src/panels/TurntablePanel/RotaryData.ts
+12
-0
TurntablePanel.ts
egret/src/panels/TurntablePanel/TurntablePanel.ts
+189
-0
Chapter1.ts
egret/src/something/chapters/Chapter1.ts
+271
-27
Chapter2.ts
egret/src/something/chapters/Chapter2.ts
+232
-8
getChapter.ts
egret/src/something/chapters/getChapter.ts
+1
-1
ChapterData.ts
egret/src/something/interface/ChapterData.ts
+5
-2
MapData.ts
egret/src/something/interface/MapData.ts
+1
-1
AiControl.ts
egret/src/something/logic/AiControl.ts
+24
-8
getInviteInfo.json
mock/happyclear/getInviteInfo.json
+1
-1
No files found.
egret/libs/new_wx/MainBase.ts
View file @
a556c3bc
...
@@ -54,6 +54,7 @@ import InviteCutTimePanel from "../../src/panels/InviteCutTimePanel";
...
@@ -54,6 +54,7 @@ import InviteCutTimePanel from "../../src/panels/InviteCutTimePanel";
import
RulePanel2
from
"./components/RulePanel2"
;
import
RulePanel2
from
"./components/RulePanel2"
;
import
ScratchPanel
from
"../../src/panels/ScratchPanel"
;
import
ScratchPanel
from
"../../src/panels/ScratchPanel"
;
import
ScratchPrizePanel
from
"../../src/panels/ScratchPrizePanel"
;
import
ScratchPrizePanel
from
"../../src/panels/ScratchPrizePanel"
;
import
TurntablePanel
from
"../../src/panels/TurntablePanel/TurntablePanel"
;
export
default
class
MainBase
extends
eui
.
UILayer
{
export
default
class
MainBase
extends
eui
.
UILayer
{
constructor
()
{
constructor
()
{
...
@@ -98,6 +99,7 @@ export default class MainBase extends eui.UILayer {
...
@@ -98,6 +99,7 @@ export default class MainBase extends eui.UILayer {
[
'inviteRule'
,
{
cls
:
InviteRulePanel
}],
[
'inviteRule'
,
{
cls
:
InviteRulePanel
}],
[
'scratch'
,
{
cls
:
ScratchPanel
}],
[
'scratch'
,
{
cls
:
ScratchPanel
}],
[
'scratchPrize'
,
{
cls
:
ScratchPrizePanel
}],
[
'scratchPrize'
,
{
cls
:
ScratchPrizePanel
}],
[
'turnTable'
,
{
cls
:
TurntablePanel
}],
[
'friend'
,
{
cls
:
FriendPanel
}],
[
'friend'
,
{
cls
:
FriendPanel
}],
[
'ad'
,
{
cls
:
ADPanel
}],
[
'ad'
,
{
cls
:
ADPanel
}],
];
];
...
...
egret/resource/default.thm.json
View file @
a556c3bc
...
@@ -71,6 +71,7 @@
...
@@ -71,6 +71,7 @@
"resource/skins/TaskPrizeSkin.exml"
,
"resource/skins/TaskPrizeSkin.exml"
,
"resource/skins/TaskSkin.exml"
,
"resource/skins/TaskSkin.exml"
,
"resource/skins/ToastSkin.exml"
,
"resource/skins/ToastSkin.exml"
,
"resource/skins/TurntablePanelSkin.exml"
,
"resource/skins/VScrollBarSkin.exml"
"resource/skins/VScrollBarSkin.exml"
],
],
"path"
:
"resource/default.thm.json"
"path"
:
"resource/default.thm.json"
...
...
egret/resource/skins/TurntablePanelSkin.exml
0 → 100644
View file @
a556c3bc
<?xml version="1.0" encoding="utf-8"?>
<e:Skin
class=
"LoadingSceneSkin"
width=
"750"
height=
"1624"
xmlns:e=
"http://ns.egret.com/eui"
xmlns:w=
"http://ns.egret.com/wing"
>
<e:Image
scaleX=
"1"
scaleY=
"1"
y=
"73.35"
horizontalCenter=
"0"
source=
""
/>
<e:Group
horizontalCenter=
"0"
verticalCenter=
"-190"
touchEnabled=
"false"
>
<e:Image
scaleX=
"1"
scaleY=
"1"
horizontalCenter=
"0"
verticalCenter=
"0"
source=
""
/>
<e:Group
id=
"panel"
anchorOffsetX=
"277"
anchorOffsetY=
"276.5"
rotation=
"0"
horizontalCenter=
"0"
verticalCenter=
"0"
>
<e:Image
scaleX=
"1"
scaleY=
"1"
anchorOffsetX=
"277"
anchorOffsetY=
"276.5"
rotation=
"0"
horizontalCenter=
"0"
verticalCenter=
"0"
source=
""
/>
<e:Group
id=
"prize0"
y=
"14.28"
x=
"202"
>
<e:Image
id=
"img0"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab0"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xe33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize1"
y=
"124.33"
rotation=
"-40"
x=
"51"
>
<e:Image
id=
"img1"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab1"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize2"
y=
"305.71"
rotation=
"-80"
x=
"7"
>
<e:Image
id=
"img2"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab2"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize3"
y=
"472.4"
rotation=
"-120"
x=
"88"
>
<e:Image
id=
"img3"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab3"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize4"
y=
"547.74"
rotation=
"-160"
x=
"258"
>
<e:Image
id=
"img4"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab4"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize5"
y=
"496.44"
rotation=
"-200"
x=
"438"
>
<e:Image
id=
"img5"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab5"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize6"
y=
"342.33"
rotation=
"-240"
x=
"540.33"
>
<e:Image
id=
"img6"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab6"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize7"
y=
"157.32"
rotation=
"-280"
x=
"520.6"
>
<e:Image
id=
"img7"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab7"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
<e:Group
id=
"prize8"
y=
"27.91"
rotation=
"-320"
x=
"388.98"
>
<e:Image
id=
"img8"
y=
"50"
width=
"83"
height=
"83"
rotation=
"0"
horizontalCenter=
"0"
/>
<e:Label
id=
"lab8"
text=
"Label"
y=
"0"
size=
"24"
rotation=
"0"
textAlign=
"center"
verticalAlign=
"middle"
anchorOffsetX=
"75"
width=
"150"
anchorOffsetY=
"0"
height=
"50"
skewX=
"0"
textColor=
"0xE33330"
horizontalCenter=
"0"
/>
</e:Group>
</e:Group>
<e:Button
id=
"start_btn"
label=
""
anchorOffsetX=
"93"
anchorOffsetY=
"140"
horizontalCenter=
"0"
verticalCenter=
"-25"
>
</e:Button>
</e:Group>
<e:Button
id=
"closeBtn"
label=
""
y=
"135.31"
x=
"565.89"
>
<e:skinName>
<e:Skin
states=
"up,down,disabled"
>
<e:Image
width=
"100%"
height=
"100%"
source=
"closeCommonBtn_png"
source.down=
"closeCommonBtn_png"
source.disabled=
"closeCommonBtn_png"
/>
<e:Label
id=
"labelDisplay"
horizontalCenter=
"0"
verticalCenter=
"0"
/>
</e:Skin>
</e:skinName>
</e:Button>
</e:Skin>
\ No newline at end of file
egret/src/CutTime.ts
→
egret/src/CutTime
r
.ts
View file @
a556c3bc
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* 简单的倒计时
* 简单的倒计时
* 2019.10.24
* 2019.10.24
*/
*/
export
default
class
CutTime
{
export
default
class
CutTime
r
{
private
_timer
:
egret
.
Timer
=
null
;
private
_timer
:
egret
.
Timer
=
null
;
private
_label
:
eui
.
Label
=
null
;
private
_label
:
eui
.
Label
=
null
;
...
...
egret/src/Utils.ts
View file @
a556c3bc
...
@@ -52,4 +52,74 @@ export default class Utils {
...
@@ -52,4 +52,74 @@ export default class Utils {
public
static
prefixInteger
(
num
,
length
)
{
public
static
prefixInteger
(
num
,
length
)
{
return
(
Array
(
length
).
join
(
'0'
)
+
num
).
slice
(
-
length
);
return
(
Array
(
length
).
join
(
'0'
)
+
num
).
slice
(
-
length
);
}
}
/**
* 对象/数组 深拷贝
* @param {Object} src - 来源对象
* @param {Object} dst - 目标对象
* @returns {Object} obj - 拷贝完成的对象
*/
public
static
deepClone
(
src
,
dst
=
undefined
)
{
let
_obj
=
dst
||
(
src
instanceof
Array
?
[]
:
{});
for
(
let
key
in
src
)
{
let
prop
=
src
[
key
];
if
(
prop
===
_obj
)
{
// 避免相互引用对象导致死循环,如src.a = dst的情况
continue
;
}
_obj
[
key
]
=
((
typeof
prop
===
'object'
)
?
this
.
deepClone
(
prop
)
:
_obj
[
key
]
=
prop
);
// if (typeof prop === 'object') { // 如果这是个对象则递归调用
// _obj[key] = _deepClone(prop);
// } else {
// _obj[key] = prop;
// }
}
return
_obj
;
};
/**
* 产生一个固定范围的随机数(左闭右开)
* @param start
* @param end
*/
public
static
Random
(
start
:
number
,
end
:
number
)
{
return
Math
.
random
()
*
(
end
-
start
)
+
start
;
}
/**
* 产生一个固定范围的随机整数(左闭右开)
* @param start
* @param end
*/
public
static
RandomInt
(
start
:
number
,
end
:
number
)
{
return
Math
.
floor
(
Math
.
random
()
*
(
end
-
start
)
+
start
);
}
/**
* obj是否在array中
* @param obj
* @param array
*/
public
static
isInArray
(
obj
:
any
,
array
:
any
[])
{
for
(
let
i
in
array
)
{
if
(
obj
==
array
[
i
])
{
return
true
;
}
}
return
false
;
}
/**
* 简单的碰撞检测
* @param obj1
* @param obj2
*/
public
static
hitTest
(
obj1
:
any
,
obj2
:
any
):
boolean
{
let
rect1
:
egret
.
Rectangle
=
obj1
.
getBounds
();
let
rect2
:
egret
.
Rectangle
=
obj2
.
getBounds
();
rect1
.
x
=
obj1
.
x
;
rect1
.
y
=
obj1
.
y
;
rect2
.
x
=
obj2
.
x
;
rect2
.
y
=
obj2
.
y
;
return
rect1
.
intersects
(
rect2
);
}
}
}
\ No newline at end of file
egret/src/mainScene/GameGuide.ts
View file @
a556c3bc
...
@@ -53,15 +53,14 @@ export class GameGuide extends egret.DisplayObjectContainer {
...
@@ -53,15 +53,14 @@ export class GameGuide extends egret.DisplayObjectContainer {
show
()
{
show
()
{
var
step
=
this
.
stepAll
-
this
.
stepCount
;
var
step
=
this
.
stepAll
-
this
.
stepCount
;
this
.
drawBg
(
step
);
this
.
drawBg
(
step
);
//修改元素的层级,置顶,否则可能点击其他元素
//修改元素的层级,置顶,否则可能点击其他元素
,handIndexs
var
data
=
chapterFuns
[
this
.
thisObj
.
chapter
];
var
handIndexs
=
chapterFuns
[
this
.
thisObj
.
chapter
].
handIndexs
[
step
];
for
(
var
i
=
0
;
i
<
data
.
showIndexs
[
step
]
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
handIndexs
.
length
;
i
++
)
{
var
index
=
data
.
showIndexs
[
step
]
[
i
];
var
index
=
handIndexs
[
i
];
var
lat
=
this
.
thisObj
.
lattices
[
index
]
var
lat
=
this
.
thisObj
.
lattices
[
index
]
if
(
lat
&&
lat
.
element
)
this
.
thisObj
.
elementContainer
.
addChild
(
lat
.
element
);
if
(
lat
&&
lat
.
element
)
this
.
thisObj
.
elementContainer
.
addChild
(
lat
.
element
);
}
}
var
handIndexs
=
chapterFuns
[
this
.
thisObj
.
chapter
].
handIndexs
[
step
];
this
.
handAni
(
handIndexs
);
this
.
handAni
(
handIndexs
);
this
.
msg
.
text
=
chapterFuns
[
this
.
thisObj
.
chapter
].
msg
[
step
]
||
""
;
this
.
msg
.
text
=
chapterFuns
[
this
.
thisObj
.
chapter
].
msg
[
step
]
||
""
;
this
.
msg
.
x
=
(
750
-
this
.
msg
.
textWidth
)
/
2
;
this
.
msg
.
x
=
(
750
-
this
.
msg
.
textWidth
)
/
2
;
...
@@ -88,7 +87,7 @@ export class GameGuide extends egret.DisplayObjectContainer {
...
@@ -88,7 +87,7 @@ export class GameGuide extends egret.DisplayObjectContainer {
}
}
}
}
private
handAni
(
handIndexs
:
number
)
{
private
handAni
(
handIndexs
:
number
[]
)
{
egret
.
Tween
.
removeTweens
(
this
.
hand
)
egret
.
Tween
.
removeTweens
(
this
.
hand
)
var
p1
=
Tool
.
getPositionByIndex
(
handIndexs
[
0
]);
var
p1
=
Tool
.
getPositionByIndex
(
handIndexs
[
0
]);
var
p2
=
Tool
.
getPositionByIndex
(
handIndexs
[
1
]);
var
p2
=
Tool
.
getPositionByIndex
(
handIndexs
[
1
]);
...
@@ -274,19 +273,23 @@ const chapterFuns = {
...
@@ -274,19 +273,23 @@ const chapterFuns = {
]
]
},
},
//棒棒糖消除
//棒棒糖消除
1
00
:
{
1
7
:
{
stepCount
:
1
,
stepCount
:
2
,
showIndexs
:
[
showIndexs
:
[
[
4
,
5
,
6
,
13
],
[
22
,
31
,
40
,
49
,
39
],
[
68
,
49
,
58
,
67
,
76
],
],
],
hideIndexs
:
[
hideIndexs
:
[
[
5
,
6
],
[
22
,
31
,
49
],
[
49
,
58
,
76
],
],
],
handIndexs
:
[
handIndexs
:
[
[
13
,
4
]
[
39
,
40
],
[
68
,
67
],
],
],
msg
:
[
msg
:
[
"当棒棒糖移至底层时,即可移除棒棒糖"
"当棒棒糖移至底层时,即可移除棒棒糖"
,
"消除棒棒糖下方的动物
\n
就可以收集棒棒糖啦"
]
]
},
},
//笼子消除
//笼子消除
...
...
egret/src/mainScene/MainScene.ts
View file @
a556c3bc
This diff is collapsed.
Click to expand it.
egret/src/mapScene/MapScene.ts
View file @
a556c3bc
...
@@ -65,7 +65,7 @@ export default class MapScene extends Scene {
...
@@ -65,7 +65,7 @@ export default class MapScene extends Scene {
}
}
// 邀请有礼角标倒计时
// 邀请有礼角标倒计时
private
t
imer
:
egret
.
Timer
;
private
inviteT
imer
:
egret
.
Timer
;
private
cutTime
:
number
;
private
cutTime
:
number
;
async
start
(
data
?)
{
async
start
(
data
?)
{
...
@@ -294,6 +294,10 @@ export default class MapScene extends Scene {
...
@@ -294,6 +294,10 @@ export default class MapScene extends Scene {
if
(
this
[
'pic'
])
if
(
this
[
'pic'
])
egret
.
Tween
.
removeTweens
(
this
[
'pic'
]);
egret
.
Tween
.
removeTweens
(
this
[
'pic'
]);
if
(
this
.
inviteTimer
){
this
.
inviteTimer
.
stop
();
this
.
inviteTimer
.
removeEventListener
(
egret
.
TimerEvent
.
TIMER
,
this
.
inviteCutTimer
,
this
);
}
}
}
getScrollV
(
lastOrder
,
stageHeight
)
{
getScrollV
(
lastOrder
,
stageHeight
)
{
...
@@ -542,8 +546,8 @@ export default class MapScene extends Scene {
...
@@ -542,8 +546,8 @@ export default class MapScene extends Scene {
return
;
return
;
}
}
let
flag
=
res
.
data
.
completeFlag
;
let
flag
=
res
.
data
.
completeFlag
;
if
(
this
.
t
imer
)
{
if
(
this
.
inviteT
imer
)
{
this
.
t
imer
.
stop
();
this
.
inviteT
imer
.
stop
();
}
}
switch
(
true
)
{
switch
(
true
)
{
case
(
flag
==
0
):
// 未完成 显示倒计时
case
(
flag
==
0
):
// 未完成 显示倒计时
...
@@ -551,10 +555,10 @@ export default class MapScene extends Scene {
...
@@ -551,10 +555,10 @@ export default class MapScene extends Scene {
this
[
"inviteTipsBg"
].
visible
=
true
;
this
[
"inviteTipsBg"
].
visible
=
true
;
this
[
"inviteTips"
].
visible
=
true
;
this
[
"inviteTips"
].
visible
=
true
;
this
.
cutTime
=
res
.
data
.
endTime
-
res
.
data
.
sysTime
+
5000
;
this
.
cutTime
=
res
.
data
.
endTime
-
res
.
data
.
sysTime
+
5000
;
this
.
t
imer
=
new
egret
.
Timer
(
1000
,
0
);
this
.
inviteT
imer
=
new
egret
.
Timer
(
1000
,
0
);
this
.
timer
.
addEventListener
(
egret
.
TimerEvent
.
TIMER
,
this
.
c
utTimer
,
this
);
this
.
inviteTimer
.
addEventListener
(
egret
.
TimerEvent
.
TIMER
,
this
.
inviteC
utTimer
,
this
);
this
.
t
imer
.
start
();
this
.
inviteT
imer
.
start
();
this
.
c
utTimer
();
this
.
inviteC
utTimer
();
break
;
break
;
case
(
flag
==
1
):
// 完成未开奖 待领奖 显示待领奖
case
(
flag
==
1
):
// 完成未开奖 待领奖 显示待领奖
this
[
"inviteGroup"
].
visible
=
true
;
this
[
"inviteGroup"
].
visible
=
true
;
...
@@ -590,12 +594,12 @@ export default class MapScene extends Scene {
...
@@ -590,12 +594,12 @@ export default class MapScene extends Scene {
// 倒计时
// 倒计时
private
c
utTimer
()
{
private
inviteC
utTimer
()
{
let
timer
=
this
.
convertTime
(
this
.
cutTime
-=
1000
);
let
timer
=
this
.
convertTime
(
this
.
cutTime
-=
1000
);
if
(
timer
.
hour
===
"00"
if
(
timer
.
hour
===
"00"
&&
timer
.
min
===
"00"
&&
timer
.
min
===
"00"
&&
timer
.
sec
===
"00"
)
{
&&
timer
.
sec
===
"00"
)
{
this
.
t
imer
.
stop
();
this
.
inviteT
imer
.
stop
();
GDispatcher
.
dispatchEvent
(
"getInviteInfo"
);
GDispatcher
.
dispatchEvent
(
"getInviteInfo"
);
}
}
this
[
"inviteTips"
].
text
=
`
${
timer
.
hour
}
:
${
timer
.
min
}
:
${
timer
.
sec
}
`
;
this
[
"inviteTips"
].
text
=
`
${
timer
.
hour
}
:
${
timer
.
min
}
:
${
timer
.
sec
}
`
;
...
@@ -642,7 +646,7 @@ export default class MapScene extends Scene {
...
@@ -642,7 +646,7 @@ export default class MapScene extends Scene {
////////////////////////////////////////////////// 大转盘 //////////////////////////////////////////////////
////////////////////////////////////////////////// 大转盘 //////////////////////////////////////////////////
onTap_turnTableBtn
()
{
onTap_turnTableBtn
()
{
PanelCtrl
.
instance
.
show
(
'turnTable'
)
}
}
protected
initEvents
()
{
protected
initEvents
()
{
...
...
egret/src/panels/InvitePanel.ts
View file @
a556c3bc
...
@@ -184,6 +184,14 @@ export default class InvitePanel extends Panel {
...
@@ -184,6 +184,14 @@ export default class InvitePanel extends Panel {
return
'Invite'
return
'Invite'
}
}
destroy
()
{
super
.
destroy
();
if
(
this
.
timer
){
this
.
timer
.
stop
();
this
.
timer
.
removeEventListener
(
egret
.
TimerEvent
.
TIMER
,
this
.
cutTimer
,
this
);
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
...
...
egret/src/panels/ScratchPanel.ts
View file @
a556c3bc
...
@@ -5,11 +5,11 @@ import { NetManager } from "../../libs/tw/manager/NetManager";
...
@@ -5,11 +5,11 @@ import { NetManager } from "../../libs/tw/manager/NetManager";
import
{
iswx
}
from
"../iswx"
;
import
{
iswx
}
from
"../iswx"
;
import
Utils
from
"../Utils"
;
import
Utils
from
"../Utils"
;
import
ScratchRulePanel
from
"./ScratchRulePanel"
;
import
ScratchRulePanel
from
"./ScratchRulePanel"
;
import
CutTime
from
"../CutTime
"
;
import
CutTime
r
from
"../CutTimer
"
;
export
default
class
ScratchPanel
extends
Panel
{
export
default
class
ScratchPanel
extends
Panel
{
private
invite_img
:
egret
.
Texture
;
private
invite_img
:
egret
.
Texture
;
private
cutTimer
:
CutTime
;
private
cutTimer
:
CutTime
r
;
constructor
(
data
)
{
constructor
(
data
)
{
super
();
super
();
...
@@ -122,11 +122,11 @@ export default class ScratchPanel extends Panel {
...
@@ -122,11 +122,11 @@ export default class ScratchPanel extends Panel {
this
[
"list"
].
dataProvider
=
new
eui
.
ArrayCollection
(
this
.
data
.
invitationUser
);
this
[
"list"
].
dataProvider
=
new
eui
.
ArrayCollection
(
this
.
data
.
invitationUser
);
// 倒计时
// 倒计时
this
.
cutTimer
=
new
CutTime
(
this
[
"cutTimeLabel"
],
"将在hh:mm:ss后消失"
,
()
=>
{
this
.
cutTimer
=
new
CutTime
r
(
this
[
"cutTimeLabel"
],
"将在hh:mm:ss后消失"
,
()
=>
{
this
.
hidePanel
();
this
.
hidePanel
();
}
}
);
);
let
cutTime
=
this
.
data
.
endTime
-
this
.
data
.
sysTime
+
5
000
;
let
cutTime
=
this
.
data
.
endTime
-
this
.
data
.
sysTime
+
3
000
;
if
(
!
this
.
cutTimer
.
start
(
cutTime
))
{
if
(
!
this
.
cutTimer
.
start
(
cutTime
))
{
this
.
cutTimer
.
stop
();
this
.
cutTimer
.
stop
();
this
.
cutTimer
.
start
(
cutTime
);
this
.
cutTimer
.
start
(
cutTime
);
...
@@ -167,6 +167,11 @@ export default class ScratchPanel extends Panel {
...
@@ -167,6 +167,11 @@ export default class ScratchPanel extends Panel {
});
});
}
}
destroy
()
{
super
.
destroy
();
this
.
cutTimer
.
stop
();
}
protected
get
closeBtns
():
eui
.
Button
[]
{
protected
get
closeBtns
():
eui
.
Button
[]
{
return
[
this
[
'closeBtn'
]]
return
[
this
[
'closeBtn'
]]
}
}
...
...
egret/src/panels/TurntablePanel/RotaryData.ts
0 → 100644
View file @
a556c3bc
let
RotaryData
=
{
key
:
[
],
data
:
{
}
};
export
default
RotaryData
;
egret/src/panels/TurntablePanel/TurntablePanel.ts
0 → 100644
View file @
a556c3bc
import
{
GDispatcher
}
from
"../../../libs/tc/util/GDispatcher"
;
import
{
DataManager
}
from
"../../../libs/tw/manager/DataManager"
;
import
RotaryData
from
'./RotaryData'
;
import
Panel
from
"../../../libs/new_wx/components/Panel"
;
import
PanelCtrl
from
"../../../libs/new_wx/ctrls/panelCtrl"
;
import
{
ModuleTypes
}
from
"../../../libs/new_wx/types/sceneTypes"
;
import
hdGameDoDojoin
from
"../../../libs/new_tw/ctrls/hdGameDoDojoin"
;
import
submit
from
"../../../libs/new_tw/ctrls/submit"
;
import
Loading
from
"../../../libs/new_wx/components/Loading"
;
import
{
NetManager
}
from
"../../../libs/tw/manager/NetManager"
;
import
Utils
from
"../../Utils"
;
export
default
class
TurntablePanel
extends
Panel
{
public
panel
:
eui
.
Group
;
public
start_btn
:
eui
.
Button
;
public
closeBtn
:
eui
.
Button
;
public
get
skinKey
()
{
return
'TurntablePanel'
}
constructor
(
data
?)
{
super
();
this
.
data
=
data
;
}
start
(
data
?)
{
super
.
start
();
}
initEvents
()
{
super
.
initEvents
();
this
[
"closeBtn"
].
addEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTouchTap_closeBtn
,
this
);
this
.
start_btn
.
addEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTapStart
,
this
);
GDispatcher
.
addEvent
(
'queryPrize'
,
this
.
queryPrize
,
this
);
GDispatcher
.
addEvent
(
'panelEffect'
,
this
.
panelEffect
,
this
);
}
onTouchTap_closeBtn
()
{
console
.
log
(
1111
);
super
.
onTouchTap_closeBtn
();
}
removeEvents
()
{
super
.
removeEvents
();
this
[
"closeBtn"
].
removeEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTouchTap_closeBtn
,
this
);
this
.
start_btn
.
removeEventListener
(
egret
.
TouchEvent
.
TOUCH_TAP
,
this
.
onTapStart
,
this
);
GDispatcher
.
removeEvent
(
'queryPrize'
,
this
.
queryPrize
,
this
);
GDispatcher
.
removeEvent
(
'panelEffect'
,
this
.
panelEffect
,
this
);
}
onTapStart
()
{
this
.
setBtnTouch
(
false
);
// 锁定按钮
Loading
.
instace
.
show
();
GDispatcher
.
dispatchEvent
(
'queryPrize'
);
}
// 设置全部按钮是否可以点击
private
setBtnTouch
(
touchEnabled
:
boolean
)
{
this
.
start_btn
.
touchEnabled
=
touchEnabled
;
}
/**
* 开始抽奖
*/
private
queryPrize
()
{
egret
.
Tween
.
removeTweens
(
this
.
panel
);
this
.
doJoin
();
}
/**
* 开始游戏
*/
private
doJoin
()
{
/////////////////////////////////////////// 开始转盘并查询奖品 ///////////////////////////////////////////
// hdGameDoDojoin((success, res) => {
//
// if(!success) {
// Loading.instace.hide();
// this.setBtnTouch(true);
// return;
// }
// submit((success, res) => {
// Loading.instace.hide();
// if(!success) {
// this.setBtnTouch(true);
// return;
// }
// // if(!res.lottery || res.lottery.type == 'thanks') {
// // PanelCtrl.instance.show(ModuleTypes.GAME_FAIL_NO_PRIZE_PANEL);
// // } else {
// // PanelCtrl.instance.show(ModuleTypes.GAME_FAIL_PRIZE_PANEL, res.lottery);
// // }
// this.rotateByPrize(res.lotteryId, () => {
// if(!res.lottery || res.lottery.type == 'thanks') { // 如果未中奖
// PanelCtrl.instance.show(ModuleTypes.NO_PRIZE_PANEL);
// this.setBtnTouch(true); // 开启按钮
// } else {
// PanelCtrl.instance.show(ModuleTypes.PRIZE_PANEL, res.lottery);
// GDispatcher.dispatchEvent('getCount'); // 更新免费抽奖次数
// this.setBtnTouch(true); // 开启按钮
// }
// });
// }, 2);
// });
}
/**
* 根据奖项转转盘
* @param prizeId
* @param callFun - 缓动回调
*/
private
rotateByPrize
(
prizeId
,
callFun
:
Function
)
{
egret
.
Tween
.
removeTweens
(
this
.
panel
);
// let key = RotaryData.key[prizeId]; // 转盘数据的key
let
index
=
~~
(
Math
.
random
()
*
RotaryData
.
data
[
prizeId
].
length
);
let
rs
=
RotaryData
.
data
[
prizeId
][
index
];
// 奖品在转盘上的范围
let
r
=
Utils
.
Random
(
rs
.
start
,
rs
.
end
)
+
Utils
.
RandomInt
(
9
,
15
)
*
360
;
let
t
=
Utils
.
Random
(
5000
,
8000
);
this
.
rotate
(
r
,
t
,
callFun
);
}
/**
* 开始一次旋转
* @param rotation - 角度
* @param time - 时间
* @param callFun - 缓动回调
*/
private
rotate
(
rotation
:
number
,
time
:
number
,
callFun
:
Function
)
{
let
tw
=
egret
.
Tween
.
get
(
this
.
panel
);
tw
.
to
({
rotation
:
rotation
},
time
,
egret
.
Ease
.
cubicInOut
).
wait
(
500
).
call
(
callFun
);
}
protected
onSkinComplete
():
void
{
super
.
onSkinComplete
();
this
.
onLoad
();
}
protected
onLoad
():
void
{
this
.
initUI
();
}
private
initUI
():
void
{
this
.
getPrizeInfo
();
// 查询奖品
this
.
initEffect
();
}
private
initEffect
()
{
this
.
panelEffect
();
}
private
panelEffect
()
{
egret
.
Tween
.
get
(
this
.
panel
).
to
({
rotation
:
360
},
20000
).
call
(()
=>
{
this
.
panelEffect
();
});
}
protected
async
preLoadRes
()
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
resolve
();
});
}
/**
* 获得所有奖品信息
*/
private
getPrizeInfo
()
{
/////////////////////////////////////////// 查询奖品加入转盘数据 ///////////////////////////////////////////
// let data = DataManager.ins.ajaxElementData.options;
// let options = Utils.deepClone(data);
// for(let i = 0; i < options.length; i++) {
// let v = options[i];
// if(v.scoreArea == "1,1") {
// options.splice(i--, 1);
// }
// }
// for(let i = 0; i < options.length; i++) {
// let v = options[i];
// RotaryData.key.push(v.id);
// RotaryData.data[v.id] = [{start: i * 40 - 15, end: i * 40 + 15}];
// this[`img${i}`].source = v.logo;
// this[`lab${i}`].text = v.name;
// }
console
.
log
(
RotaryData
);
}
}
\ No newline at end of file
egret/src/something/chapters/Chapter1.ts
View file @
a556c3bc
This diff is collapsed.
Click to expand it.
egret/src/something/chapters/Chapter2.ts
View file @
a556c3bc
...
@@ -8,31 +8,255 @@ import { ElementType } from "../enum/ElementType";
...
@@ -8,31 +8,255 @@ import { ElementType } from "../enum/ElementType";
export
const
Chapters2
:
ChapterData
[]
=
[
export
const
Chapters2
:
ChapterData
[]
=
[
//21
//21
{
{
baseElementTypes
:
[
0
,
1
,
2
,
4
],
bubbleProbability
:
0
,
stepCount
:
30
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
ICE
,
count
:
56
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
map
:
{
lattices
:
[
lattices
:
[
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
],
elements
:
[
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
0
,
0
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
0
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
],
generateLats
:
[
{
index
:
1
,
type
:
[
0
],
cus
:
[]
},
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
3
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
5
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
7
,
type
:
[
0
],
cus
:
[]
},
],
},
},
//22
{
baseElementTypes
:
[
0
,
1
,
2
,
3
],
bubbleProbability
:
0
,
stepCount
:
30
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
{
type
:
ElementType
.
ROCK
,
count
:
34
},
{
type
:
ElementType
.
CHICKEN
,
count
:
50
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
],
elements
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
1
,
2
,
2
],
baseElements
:
[
0
,
0
,
31
,
0
,
24
,
0
,
31
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
20
,
31
,
20
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
20
,
0
,
0
,
0
,
0
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
30
,
2
,
2
],
generateLats
:
[
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
36
,
type
:
[
0
],
cus
:
[]
},
{
index
:
37
,
type
:
[
0
],
cus
:
[]
},
{
index
:
38
,
type
:
[
0
],
cus
:
[]
},
{
index
:
39
,
type
:
[
0
],
cus
:
[]
},
{
index
:
41
,
type
:
[
0
],
cus
:
[]
},
{
index
:
42
,
type
:
[
0
],
cus
:
[]
},
{
index
:
43
,
type
:
[
0
],
cus
:
[]
},
{
index
:
44
,
type
:
[
0
],
cus
:
[]
},
],
],
// generateLats: ,
connectedLats
:
[[
2
,
21
],
[
4
,
22
],
[
6
,
23
]]
connectedLats
:
[],
},
},
//23
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
22
,
passTarget
:
{
type
:
PassType
.
ELEMENT_TARGET
,
elements
:
[
elements
:
[
{
type
:
ElementType
.
LOLLIPOP
,
count
:
12
},
]
]
},
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
],
elements
:
[
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
1
,
2
,
1
,
2
,
1
,
2
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
],
baseElements
:
[
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
0
,
3
,
0
,
3
,
0
,
3
,
0
,
0
,
0
,
10
,
2
,
30
,
2
,
20
,
2
,
10
,
0
,
0
,
30
,
2
,
30
,
2
,
20
,
2
,
10
,
0
,
0
,
20
,
2
,
20
,
2
,
10
,
2
,
30
,
0
,
0
,
10
,
2
,
20
,
2
,
10
,
2
,
20
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
40
,
40
,
50
,
40
,
50
,
40
,
50
,
40
,
40
,
0
,
50
,
40
,
50
,
40
,
50
,
40
,
50
,
0
,
],
generateLats
:
[
{
index
:
2
,
type
:
[
0
],
cus
:
[]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
{
index
:
6
,
type
:
[
0
],
cus
:
[]
},
{
index
:
63
,
type
:
[
0
],
cus
:
[]
},
{
index
:
64
,
type
:
[
0
],
cus
:
[]
},
{
index
:
65
,
type
:
[
0
],
cus
:
[]
},
{
index
:
66
,
type
:
[
0
],
cus
:
[]
},
{
index
:
67
,
type
:
[
0
],
cus
:
[]
},
{
index
:
68
,
type
:
[
0
],
cus
:
[]
},
{
index
:
69
,
type
:
[
0
],
cus
:
[]
},
{
index
:
70
,
type
:
[
0
],
cus
:
[]
},
{
index
:
71
,
type
:
[
0
],
cus
:
[]
},
],
recycles
:
[
46
,
47
,
48
,
49
,
50
,
51
,
52
]
},
},
//24
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
effectInitProbability
:
0.1
,
bubbleProbability
:
0
,
stepCount
:
30
,
stepCount
:
27
,
passTarget
:
{
passTarget
:
{
type
:
PassType
.
SCORE_TARGET
,
type
:
PassType
.
ELEMENT_TARGET
,
score
:
6000
,
elements
:
[
{
type
:
ElementType
.
ICE
,
count
:
31
},
]
},
starScores
:
[
4000
,
8000
,
12000
],
map
:
{
lattices
:
[
2
,
0
,
2
,
2
,
1
,
0
,
3
,
3
,
3
,
2
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
0
,
0
,
1
,
1
,
1
,
0
,
3
,
3
,
3
,
],
elements
:
[
1
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
1
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
],
baseElements
:
[
11
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
23
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
0
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
],
generateLats
:
[
{
index
:
0
,
type
:
[
0
],
cus
:
[]
},
{
index
:
2
,
type
:
[
0
],
cus
:
[
33
]
},
{
index
:
3
,
type
:
[
0
],
cus
:
[
21
]
},
{
index
:
4
,
type
:
[
0
],
cus
:
[]
},
],
connectedLats
:
[[
2
,
29
],
[
3
,
30
],
[
4
,
31
],
[
74
,
6
],
[
75
,
7
],
[
76
,
8
]]
},
},
starScores
:
[
2000
,
4000
,
6000
]
},
},
]
]
\ No newline at end of file
egret/src/something/chapters/getChapter.ts
View file @
a556c3bc
...
@@ -5,7 +5,7 @@ import { ChapterData } from "../interface/ChapterData";
...
@@ -5,7 +5,7 @@ import { ChapterData } from "../interface/ChapterData";
//所有的关卡
//所有的关卡
const
chapters
:
ChapterData
[]
=
[].
concat
(
const
chapters
:
ChapterData
[]
=
[].
concat
(
Chapters1
,
Chapters1
,
//
Chapters2,
Chapters2
,
)
)
/**
/**
* 获取关卡数据,返回关卡数据
* 获取关卡数据,返回关卡数据
...
...
egret/src/something/interface/ChapterData.ts
View file @
a556c3bc
...
@@ -4,6 +4,8 @@ import { ElementType } from "../enum/ElementType";
...
@@ -4,6 +4,8 @@ import { ElementType } from "../enum/ElementType";
/**
/**
* 关卡数据接口
* 关卡数据接口
* ,,注意有些带数组的数据,避免被修改,需要用slice克隆操作
* 比如基础元素类型,定制掉落数组
*/
*/
export
interface
ChapterData
{
export
interface
ChapterData
{
/**
/**
...
@@ -12,12 +14,13 @@ export interface ChapterData {
...
@@ -12,12 +14,13 @@ export interface ChapterData {
map
:
MapData
;
map
:
MapData
;
/**
/**
* 基础元素数量3-5,种类是否随机
* 基础元素数量3-5,种类是否随机
* 基础类型和ElementType一致 0到4
*/
*/
baseElementTypes
:
ElementType
[];
baseElementTypes
:
ElementType
[];
/**
/**
*
初始特效生成几率5-20%
*
气泡生成概率0到1
*/
*/
effectInitProbability
:
number
;
bubbleProbability
?
:
number
;
/**
/**
* 总步数
* 总步数
*/
*/
...
...
egret/src/something/interface/MapData.ts
View file @
a556c3bc
...
@@ -56,7 +56,7 @@ export interface MapData {
...
@@ -56,7 +56,7 @@ export interface MapData {
/**
/**
* 棒棒糖回收口
* 棒棒糖回收口
*
*
格子索引
*/
*/
recycles
?:
number
[];
recycles
?:
number
[];
}
}
\ No newline at end of file
egret/src/something/logic/AiControl.ts
View file @
a556c3bc
...
@@ -9,6 +9,7 @@ import { ChickenEgg } from "../class/ChickenEgg";
...
@@ -9,6 +9,7 @@ import { ChickenEgg } from "../class/ChickenEgg";
import
{
HatchAni
}
from
"../anis/HatchAni"
;
import
{
HatchAni
}
from
"../anis/HatchAni"
;
import
{
PieceToEggAni
}
from
"../anis/PieceToEggAni"
;
import
{
PieceToEggAni
}
from
"../anis/PieceToEggAni"
;
import
{
StateType
}
from
"../enum/StateType"
;
import
{
StateType
}
from
"../enum/StateType"
;
import
{
BubbleAni
}
from
"../anis/BubbleAni"
;
//孵鸡的数量
//孵鸡的数量
const
chickenNum
:
number
=
4
const
chickenNum
:
number
=
4
...
@@ -38,7 +39,7 @@ export class AiControl {
...
@@ -38,7 +39,7 @@ export class AiControl {
/**
/**
* 用于判断格子中
* 用于判断格子中
* 是否有果冻,
* 是否有果冻,
* 是否有鸡蛋,
* 是否有鸡蛋,
所有带鸡蛋的格子的索引
* 是否有毛球,
* 是否有毛球,
* 是否有变色气泡,
* 是否有变色气泡,
* 必须在初始化元素后执行,每关进入游戏都会初始化
* 必须在初始化元素后执行,每关进入游戏都会初始化
...
@@ -223,9 +224,12 @@ export class AiControl {
...
@@ -223,9 +224,12 @@ export class AiControl {
indexs
.
push
(
i
);
indexs
.
push
(
i
);
}
}
}
}
//没有气泡,直接回调,
if
(
!
indexs
.
length
)
{
if
(
!
indexs
.
length
)
{
//标记无气泡
this
.
hasBubble
=
false
;
callback
();
return
}
}
let
count
=
0
;
let
count
=
0
;
let
countAll
=
indexs
.
length
;
let
countAll
=
indexs
.
length
;
...
@@ -234,16 +238,26 @@ export class AiControl {
...
@@ -234,16 +238,26 @@ export class AiControl {
let
index
=
indexs
[
a
];
let
index
=
indexs
[
a
];
let
lat
=
thisObj
.
lattices
[
index
];
let
lat
=
thisObj
.
lattices
[
index
];
let
ele
=
lat
.
element
;
let
ele
=
lat
.
element
;
let
fromType
=
ele
.
type
;
//计算type
//计算type
let
type
:
ElementType
=
1
;
let
type
:
ElementType
=
1
;
//直接重置类型,为了后续计算,但是要隐藏,待动画播放完显示
//直接重置类型,为了后续计算,但是要隐藏,待动画播放完显示
ele
.
resetType
(
type
);
ele
.
resetType
(
type
);
ele
.
visible
=
false
;
ele
.
visible
=
false
;
///重写
//变色动画
ele
.
getState
(
StateType
.
BUBBLE
).
play
(
type
,
()
=>
{
let
bubbleAni
:
BubbleAni
=
Pool
.
takeOut
(
RecoverName
.
JELLYSPREAD_ANI
)
if
(
!
bubbleAni
)
{
//播完重置类型
bubbleAni
=
new
BubbleAni
()
ele
.
resetType
(
type
)
}
//位置信息
var
p
=
Tool
.
getPositionByIndex
(
index
);
bubbleAni
.
x
=
p
[
0
];
bubbleAni
.
y
=
p
[
1
];
thisObj
.
addChild
(
bubbleAni
);
//播放动画
bubbleAni
.
play
(
fromType
,
type
,
()
=>
{
//显示
ele
.
visible
=
true
;
count
++
;
count
++
;
if
(
count
==
countAll
)
{
if
(
count
==
countAll
)
{
callback
();
callback
();
...
@@ -339,6 +353,8 @@ function judgeSpread(index: number, lattices: Lattice[]): number {
...
@@ -339,6 +353,8 @@ function judgeSpread(index: number, lattices: Lattice[]): number {
return
null
return
null
}
}
// function getBubble
...
...
mock/happyclear/getInviteInfo.json
View file @
a556c3bc
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
"invitationId"
:
"活动id"
,
"invitationId"
:
"活动id"
,
"invitationCount"
:
5
,
"invitationCount"
:
5
,
"img"
:
"http://yun.duiba.com.cn/db_games/xiaoxiaole.jpg"
,
"img"
:
"http://yun.duiba.com.cn/db_games/xiaoxiaole.jpg"
,
"sysTime"
:
157067380
5
000
,
"sysTime"
:
157067380
8
000
,
"endTime"
:
1570673810000
,
"endTime"
:
1570673810000
,
"invitationUser"
:
[
"invitationUser"
:
[
{
{
...
...
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