-
Notifications
You must be signed in to change notification settings - Fork 1
Maincharactercontroller.cs
NDark edited this page Feb 15, 2013
·
1 revision
{{}}
- MainCharacterController
- 檢查加減速,左右轉,武器發射
- 檢查滾輪切換,滑鼠自動移動
- 使用逼逼聲 Common/Audio/WeaponFailBeep ,作為武器發射失敗的警告。
- 控制控制面板
m_ControlPanelsUnActive
m_ControlPanelsActive - SetClickOnNoMoveFuncThisFrame()
set m_ClickOnNoMoveFuncThisFrame, 設定為true時,有一段時間不會接受其他點選訊號 - 支援系統紀錄
m_LastUpDown
m_LastLeftRight
- 檢查是否是自動播放
- 讀取 武器發射失敗音訊
- 初始化控制面板的物件
- 呼叫 CheckControlPanelsUnActive() 檢查控制面板是否要啟動
- 檢查單位是否存活
- 呼叫 CheckSpeed() 檢查加減速
- 呼叫 CheckTurn() 檢查左右轉
- CheckWeapon1() 檢查武器1
- CheckWeapon2() 檢查武器2
- CheckTrackorBeam3() 檢查功能3
- CheckMouseScrollWheel() 檢查滾輪切換
- CheckClickToMove() 檢查滑鼠自動移動
- 使用上下控制,檢查加減速按鈕 CheckSpeed()
- 函式 ConfirmTutorialSpeed() 中,呼叫教學事件 TutorialEvent 來關閉加減速教學
- 取得 船隻資訊 脈衝速度比例 的標準資料
- 依照FPS計算 目前的脈衝速度比例
- 取得控制左右轉的按鈕 檢查轉向 CheckTurn()
- 在函式 ConfirmTutorialTurn() 中,呼叫教學事件 TutorialEvent 來關閉轉向教學
- 如果有啟動自動駕駛(滑鼠點選移動),則不因為沒按鈕而停止轉向,如有按鈕則停止自動駕駛
- 取得 船隻資訊 轉向速度比例
- 依照FPS計算 轉向速度比例的調整值
- 檢查武器1的按鈕 CheckWeapon1()
- 在函式 ConfirmTutorialPhaser() 中,呼叫教學事件 TutorialEvent 來關閉武器1教學
- 單擊 發射武器 FireWeapon1()
- 呼叫 FireWeaponByKeyword() 傳入關鍵字 “Weapon_Phaser”
- 在函式 RetrieveSelectionInfo() 中,取得瞄準系統 UnitSelectionSystem 取得瞄準目標船艦名稱
- 取得武器系統 UnitWeaponSystem
- 在函式 TryFireWeapon() 中,呼叫武器系統 依照關鍵字 取得 可以發射的武器部件
- 在函式 TryFireWeapon() 中,呼叫武器系統 傳入 武器部件名稱 目標船艦名稱 發射武器
- 失敗時發出警告聲
- 失敗時顯示武器範圍
- 如果目前沒有點選物卻按下執行發射武器1,則 呼叫 TrySelectClosestUnit() 自動選擇最近的單位
同 發射武器1,差別在於關鍵字 Weapon_PhotonTorpedo
同 發射武器1,差別在於關鍵字 TrackorBeam
- 檢查牽引光束是否正開啟,將其關閉
- 啟動牽引光束
- 如果沒有目標,傳入是否要自動選擇
- 依據配對好結果依序發射
- 挑選敵人及武器進行配對
向感測系統 UnitSensorSystem 取得最近的單位
通知瞄準系統 UnitSelectionSystem 點選
Check click left mouse button to move
- 必須在 m_ClickOnNoMoveFuncThisFrame 未啟動的情形下(目前沒有其他物件的點選正在觸發) 才會正確觸發
- 呼叫 UnitGoToPoint 來設定目標
- m_ClickOnNoMoveFuncThisFrame 會在 計時器 m_MouseMoveIsClick 結束時清除
滑鼠點選的阻斷器
set m_ClickOnNoMoveFuncThisFrame, 設定為true時,有一段時間不會接受其他點選訊號
Click on unit , call by other unit’s click plane.
- Use UnitSelectionSystem to select target.
- Fire weapon on select target.
- 不能瞄準到自己
- 如果功能面板的功能有啟動,則直接發射武器/功能
public enum SelectFunctionMode { None = 0 , // 無功能 WeaponPhaser , // 光炮 WeaponTorpedo , // 光雷 FunctionTrakorBeam , // 牽引光束 } ... public SelectFunctionMode m_SelectModeNow = SelectFunctionMode.None ;
public enum SpecialModePanel { None = 0 , MultiAttack, }
set m_SelectModeNow to SelectFunctionMode.None
- Switch control mode to _Mode
- 在函式 ConfirmTutorialActiveControlPanel() 中 檢查教學
- 顯示功能的武器距離
- 呼叫 SwitchControlModeByOneStep()
- 會檢查是否有此部件
- 會循環
通知 ClickOnThisCollider 顯示控制面版
- weaponSys.ActiveWeaponRangeObject() 呼叫武器系統顯示武器攻擊範圍