[TOC]
# 引導步驟`step`中的`type`配置整理
注: `position` 和 `time` 的相關配置信息看最后的注釋
------
#### load_mission
>加載副本界面素材,加載完成后步驟完成
```xml
<step type="load_mission">
<arena_type></arena_type>
<mission_type></mission_type>
<cards>
<card card="" table="" level=""/>
<card card="" table="" level=""/>
<card card="" table="" level=""/>
<card card="" table="" level=""/>
<card card="" table="" level=""/>
<card card="" table="" level=""/>
</cards>
<technologys>
<technology technology="" level=""/>
</technologys>
</step>
```
* arena_type : 參考 client_arena.xml
* mission_type: 參考 client_mission.xml
* cards : 手上的兵 card :cardtype ; level:套裝索引
* technologys : 科技列表
------
#### load_map
>加載地圖界面素材,加載完成后步驟完成
```xml
<step type="load_map">
<campaign_type></campaign_type>
</step>
```
* campaign_type: 參考 client_campaign.xml 中的type
------
#### load_city
>加載城市界面素材,加載完成后步驟完成
```xml
<step type="load_city">
```
------
#### load_resources
>加載指定的素材,加載完成后步驟完成
```xml
<step type="load_resources">
<resources>
<resource type="" path=""/>
...
</resources>
</step>
```
------
#### camera_tween
> 鏡頭緩動
```xml
<step type="camera_tween">
<logic_tick> </logic_tick>
<position horizontal=" " vertical=" ">
</position>
<time> </time>
<skip> </skip>
</step>
```
* time:鏡頭緩動的時間
------
#### fade_in_black
> 畫面逐漸變黑
```xml
<step type="fade_in_black">
<time></time>
</step>
```
* time:緩動的時間
------
#### fade_out_black
> 畫面由黑變亮
```xml
<step type="fade_out_black">
<time></time>
</step>
```
* time:緩動的時間
------
#### show_gui
> 顯示GUI
```xml
<step type="show_gui">
<element>
</element>
</step>
```
* element:GUI的elementName。如:`card_widget`
ps : 客戶端需對應配置相應的 GUI 的 elementName
------
#### hide_gui
> 隱藏GUI
```xml
<step type="hide_gui">
<element>
</element>
</step>
```
* element:GUI 的 elementName
------
#### pause
> 副本暫停
```xml
<step type="pause">
<logic_tick>
</logic_tick>
</step>
```
------
#### resume
> 取消副本暫停
```xml
<step type="resume"/>
```
------
#### sleep
> 給引導設定一個延遲時間,達到設定時間后繼續下一步引導
```xml
<step type="sleep">
<ticks></ticks>
</step>
```
------
#### show_help
> 顯示引導
```xml
<step type="show_help">
<name></name>
<icon></icon>
<text></text>
<icon_offset_x></icon_offset_x>
<icon_align></icon_align>
<position horizontal="" vertical="">
</position>
<time></time>
</step>
```
* name: 引導名。例:`<name>natasha_help_05</name>`
* icon: 文本框上顯示的人物 Icon。 例:`<icon>tutorial/natasha</icon>` (娜塔莎)
* text: 引導文本文字。
* icon_offset_x: 人物 Icon偏移量。
* icon_align: 人物對齊方式。 (`left`或者 `right`)
* time:緩動時間
* position
------
#### hide_help
> 隱藏引導
```xml
<step type="hide_help">
<name></name>
<skip></skip>
<time></time>
</step>
```
* name: 引導名。
* skip: `true` 或者 `false`
* time: 緩動時間
------
#### show_overlay
> 顯示遮罩,同時挖空一個圓形或者矩形用于點擊
```xml
<step type="show_overlay">
<position horizontal="" vertical="">
</position>
<appearance>
<width></width>
<height></height>
<radius></radius>
</appearance>
<time></time>
</step>
```
* width: 矩形寬度
* height:矩形高度
* radius: 圓形半徑
ps : 顯示圓形不需要設置width和height;顯示矩形不需要設置radius*
------
#### hide_overlay
> 隱藏遮罩
```xml
<step type="hide_overlay"/>
```
------
#### lock_viewport
> 當前界面(游戲主界面,地圖,副本)禁止拖拽
```xml
<step type="lock_viewport"/>
```
------
#### unlock_viewport
> 當前界面(游戲主界面,地圖,副本)可以拖拽
```xml
<step type="unlock_viewport"/>
```
------
#### lock_keyboard
> 禁止鍵盤操作
```xml
<step type="lock_keyboard"/>
```
------
#### unlock_keyboard
> 開放鍵盤操作
```xml
<step type="unlock_keyboard"/>
```
------
#### show_text
> 顯示文本
```xml
<step type="show_text">
<time></time>
<text></text>
<char></char>
<skip></skip>
<position horizontal=" " vertical=" ">
</position>
</step>
```
* time:類似打字效果的緩動時間
* text:文本文字
* char:打字效果最后一位閃爍的字符
* skip:
* position

------
#### hide_text
> 隱藏文本
```xml
<step type="hide_text">
<time></time>
</step>
```
* time: 漸隱時間
------
#### click_target
> 設置鼠標點擊目標,點擊其他地方無效
```xml
<step type="click_target">
<name> 鼠標點擊target的name 客戶端需配置相應的name</name>
注:name 中填寫 overlay 時,鼠標點擊 只要不是點擊在show_overlay的遮罩上,都能通過。可配合show_overlay 使用.
<prevent_default> true or false 是否阻止事件冒泡</prevent_default>
</step>
```
* name: 鼠標點擊的目標的name 客戶端需要配置對應的name
* prevent_default: 不知道什么用 `true` 或者 `false`
> ps : name中配置為`overlay`時,鼠標點擊位置只要不是點擊*在show_overlay顯示的遮罩上,都能通過點擊判斷。 配合 `<step type="show_overlay">` 使用
------
#### show_pointer
> 顯示引導箭頭
```xml
<step type="show_pointer">
<position horizontal=" " vertical=" ">
</position>
<pointer_align>指針方向:top 朝下;left :朝右;right:朝左;bottom:朝上</pointer_align>
</step>
```
* position
* pointer_align:配置箭頭顯示方向。
ps : `top`:箭頭向下、`bottom`:向上、`left`:向右、`right`:向左
------
#### hide_pointer
> 隱藏引導箭頭
```xml
<step type="hide_pointer"/>
```
------
#### camera_follow
> 鏡頭跟隨
```xml
<step type="camera_follow">
<name></name>
</step>
```
* name: 跟隨目標的name
------
#### camera_unfollow
> 解除鏡頭跟隨
```xml
<step type="camera_unfollow"/>
```
------
#### close_all_windows
> 關閉所有窗口
```xml
<step type="close_all_windows"/>
```
------
#### open_mission_win_window
> 打開副本勝利窗口
```xml
<step type="open_mission_win_window"/>
```
------
#### open_army_choose_panel
> 打開部隊選擇界面
```xml
<step type="open_army_choose_panel">
<arena_type> </arena_type>
<mission_type> </mission_type>
<cards>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card="" table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
<card card=" " table=" "/>
</cards>
<skip></skip>
</step>
```
* arena_type: 參考client_arean.xml 中
* mission_type: 參考client_arean.xml 和 client_mission.xml
* card : (暫) 選擇出戰的card
對應界面示例截圖:

------
#### execute_script
> 執行腳本通信
```xml
<step type="execute_script">
<name></name>
</step>
```
* name: 腳本name
例: ```<name> cutscene_artillery_slot_complete_script</name>```
------
#### enable_tooltip
> (暫)將tooltip設為可用
```xml
<step type="enable_tooltip"/>
```
------
#### disable_tooltip
> (暫)將tooltip設為不可用
```xml
<step type="disable_tooltip"/>
```
------
#### hide
> 隱藏新手引導圖層
```xml
<step type="hide"/>
```
------
#### lock_mouse_click
> 禁止鼠標點擊操作
```xml
<step type="lock_mouse_click"/>
```
------
#### unlock_mouse_click
> 開放鼠標點擊操作
```xml
<step type="unlock_mouse_click"/>
```
------
#### lock_mission_win_request
> 不清楚用處
```xml
<step type="lock_mission_win_request"/>
```
------
#### wait_mission_status
> 當 副本狀態變為指定name的狀態時,完成
```xml
<step type="wait_mission_status">
<name></name>
</step>
```
* name: 指定的狀態name
* * name有:
|name|描述|
|||
|initialized|初始化|
|ready_to_start|準備開始|
|started|開始|
|finished|結束|
|empty|?|
|win|勝利|
|lost|失敗|
------
#### cancel_use_card
> 取消玩家當前的派兵操作
```xml
<step type="cancel_use_card"/>
```
> 示意圖:

------
#### shake_camera
> 鏡頭抖動
```xml
<step type="shake_camera">
<logic_tick></logic_tick>
<ticks></ticks>
</step>
```
* logic_tick:
* ticks:
------
#### <span id="#jump">wait_quest_complete</span>
> 當指定的任務完成,這個step完成
```xml
<step type="wait_quest_complete">
<name><name>
</step>
```
* name: 參考 client_quest.xml
------
#### set_sound_volume
> 設置音量
```xml
<step type="set_sound_volume">
<time></time>
<percent_volume></percent_volume>
<skip></skip>
</step>
```
* time: 音量逐漸增大或者降低的時間
* percent_volume:音量。0~100
* skip:
------
#### check_registration
> 判斷是否注冊(可能是原來游戲的方法,沒用)
```xml
<step type="check_registration"/>
```
------
#### open_card_catalog_upgrade_window
> 打開指揮中心
```xml
<step type="open_card_catalog_upgrade_window">
<name></name>
</step>
```
* name: 兵種name 對應client_card.xml
------
#### check_requirement_or_reset
> 檢測是否達到要求,如果沒有達到重置引導回第一步
```xml
<step type="check_requirement_or_reset">
<name></name>
</step>
```
* name : 參考 cient_requirement.xml 的type
------
#### check_complete_tutorial
> 檢測是否達到要求,如果達到要求直接完成引導
```xml
<step type="check_complete_tutorial">
<name></name>
</step>
```
* name : 參考 client_requirement.xml 的type (一般是填該引導的complete_requirement)
------
#### wait_module
> 等待模塊變化,如果當前模塊是指定模塊直接完成,否則等待下次模塊發生變化的時候進入下一步引導
```xml
<step type="wait_module">
<name></name>
</step>
```
* name:
| name | 描述 |
| -- | -- |
| city | 游戲主界面城市模塊 |
| map | 地圖模塊 |
| mission | 副本戰斗模塊 |
---
#### wait_module_equal
> 等待模塊變化。如果當前模塊是指定模塊直接完成,否則等待模塊變成指定模塊的時候進入下一步引導
```xml
<step type="wait_module_equal">
<name></name>
</step>
```
* name:
| name | 描述 |
| -- | -- |
| city | 游戲主界面城市模塊 |
| map | 地圖模塊 |
| mission | 副本戰斗模塊 |
---
#### open_building_construct_window
> 打開建筑窗口,并顯示指定建筑
```xml
<step type="open_building_construct_Window">
<name></name>
</step>
```
* name : 對應建筑的type。參考`client_building.xml`
---
#### wait_requirement_complete
> 等待達到指定要求后,進入下一步引導
```xml
<step type="wait_requirement_complete">
<name></name>
</step>
```
* name : 對應requirement的type。參考`client_requirement.xml`
#### lock_map_marker
> 鎖定只顯示指定的地圖圖標
如圖:
```xml
<step type="lock_map_marker">
<name></name>
</step>
```
* name : 對應client_campaign.xml , client_event.xml , client_tournament.xml , client_tournament_clan.xml , 等文檔的type
#### unlock_map_marker
> 解鎖地圖圖標
```xml
<step type="unlock_map_marker"/>
```
#### play_movie_clip
> 播放影片剪輯,播放結束后此引導完成
```xml
<step type="play_movie_clip">
<name></name>
<position horizontal=" " vertical=" ">
</position>
</step>
```
* name : 播放的影片剪輯url
---
#### wait_window_open
> 等待窗口打開
```xml
<step type="wait_window_open">
<name></name>
</step>
```
* name : 對應windowType
---
#### wait_window_close
> 等待窗口關閉
```xml
<step type="wait_window_close">
<name></name>
</step>
```
* name : 對應windowType
---
#### open_unlock_soldier_window
> 打開兵種解鎖窗口
```xml
<step type="open_unlock_soldier_window">
<name></name>
</step>
```
* name : 對應`client_unlock_soldier.xml`的type
---
#### open_army_window
> 打開軍隊窗口
```xml
<step type="open_army_window">
<name></name>
</step>
```
* name : 對應分頁
|name|分頁|
|---|---|
|army_window_infantry|步兵|
|army_window_armor|車輛|
|army_window_support|支援|
|army_window_mercenary|精英兵|
----
#### lock_window_open
> 鎖定窗口打開, 只能打開指定的窗口 (只能鎖定city模塊下的window)
```xml
<step type="lock_window_open">
<name></name>
</step>
```
* name : 指定的windowType 。除了指定的windowType 其他window不能打開
---
#### unlock_window_open
> 解鎖窗口打開
```xml
<step type = "unlock_window_open"/>
```
---
#### execute_helpers
> 執行helper列表.可添加多個helper。具體helper功能參考新版Helper文檔
```xml
<step type="execute_helpers">
<helpers>
...
...
</helpers>
</step>
```
* 在helpers內填寫要做跳轉用的helper。比如:
```xml
跳轉到副本第一張第二關窗口
<step type="execute_helpers">
<helpers>
<next_open_campaign campaign="episode_01" arena="episode_01_scene_02_arena"/>
</helpers>
</step>
```
---
#### show_help_with_button
> 類似 `show_help` 。在框內增加一個`下一步按鈕`。點擊按鈕后該步驟結束
```xml
<step type="show_help_with_button">
除了type其他內容和 show_help 一樣 。 沒有skip功能
</step>
```
---
#### next_show_overlay
> 顯示一個帶有聚攏效果的overlay遮罩
```xml
<step type="next_show_overlay">
<position horizontal="" vertical="">
...
</position>
<appearance>
...
</appearance>
<time></time>
<testNode>顯示遮罩</testNode>
</step>
```
---
### next_hide_overlay
> 隱藏帶有聚攏效果的overlay遮罩
```xml
<step type="next_hide_overlay">
<time></time>
</step>
```
---
### next_click_target
> 指定點擊目標 。一開始和點擊錯誤的時候會有一個聚攏效果遮罩提示
> 注意: 不要在`next_show_overlay` 和 `next_hide_overlay` 中間 使用 `next_click_target`
```xml
<step type="next_click_target">
<name></name>
<position horizontal="" vertical="">
...
</position>
<appearance>
...
</appearance>
<time></time>
</step>
```
---
### close_window
> 關閉指定窗口
```xml
<step type="close_window">
<name></name>
</step>
```
---
### next_play_animation
> 播放動畫(不是swf動畫)
```xml
<step type="next_play_animation">
<name></name>
</step>
```
|name|動畫效果|
|---|---|
|first_recharge_gift|首沖動畫 |
-----
------
## position 標簽說明:
position用于配置引導相關功能顯示的位置
position有兩個屬性:
* `horizontal`
水平對齊
* `vertical`
垂直對齊
對齊的方式有三種,對應對齊屬性設置內容如下:
1.`strict `
以游戲舞臺左上角為準配置坐標
以水平對齊的部分為例:
```xml
<position horizontal="strict">
<x></x>
</position>
```
水平對齊使用`strict`需使用`<x>`標簽配置 **x** 坐標
垂直對齊使用`<y>`標簽配置 **y** 坐標
2.`relative `
以舞臺右下角為準配置坐標
例:
```xml
<position horizontal="relative">
<right></right>
</position>
```
水平對齊使用`<right>`標簽配置,表示舞臺右側向左偏移的量(向左偏移為正數)。
垂直對齊使用'<bottom>'標簽配置,表示舞臺底部向上偏移的量(向上偏移為正數)。
3.`center `
以舞臺中心為準配置坐標
例:
```xml
<position horizontal="center">
<h_center></h_center>
</position>
```
水平對齊使用`<h_center>`標簽配置,表示舞臺中心向右偏移的量。
垂直對齊使用'<v_center>'標簽配置,表示舞臺中心向下偏移的量。
## logic_tick 標簽說明
具體不確定,可能是副本內使用的計時器,當達到計時器表明的時間點時,觸發引導步驟內容