protected void SetIndexPath(int index_x, int index_z) { if (index_x < 0 || index_x > 8 || index_z < 0 || index_z > 9) { return; } ChessEntity entity = ChessManager.Instance.FindChessByIndex(index_x, index_z); if (entity == this) { return; } if (entity != null) { if (entity.chessObj.chess_owner_player != chessObj.chess_owner_player) { entity.SetCanAttackClick(); } } else { ChessPathManager.SetPathIndex(index_x, index_z); } }
public virtual void UnSelect() { transform.localScale = Vector3.one * 2; ChessPathManager.HideAllPath(); RevertMaterialsColor(); }
public virtual void BeSelect() { transform.localScale = Vector3.one * 4; ChessPathManager.HideAllPath(); ShowChessPath(); MaterialsColor(Color.green); }
void Start() { GameEventManager.CreateInstance(); LayerManager.CreateInstance(); TimerManager.CreateInstance(); GUIManager.CreateInstance(); GameStateManager.CreateInstance(); EmitNumberManager.CreateInstance(); InputManager.CreateInstance(); ChessManager.CreateInstance(); ChessPathManager.CreateInstance(); GameObject reporter = transform.Find("Reporter").gameObject; reporter.SetActive(HasReporter); }
public void Enter() { KBEngine.Event.registerOut("OnStartRound", this, "OnStartRound"); KBEngine.Event.registerOut("AttackChess", this, "OnAttackChess"); KBEngine.Event.registerOut("OnExitFb", this, "OnExitFb"); GameEventManager.RegisterEvent(GameEventTypes.KillChess, OnKillChessEvent); fightMainUIPanel = GUIManager.Open <FightMainUIPanel>("Fight", "FightMainUIPanel"); fightMainUIPanel.SetStateInfoString("正在摆盘,请稍候..."); GUIManager.Open <ChessInfoUIPanel>("ChessInfo", "ChessInfoUIPanel"); ChessPathManager.CreatePathPoint(); ChessPathManager.ShowChessBoard(); Account account = KBEngine.KBEngineApp.app.player() as Account; account.baseCall("ClientReady"); }
void Update() { #if UNITY_EDITOR if (Input.GetKeyDown(KeyCode.B)) { Account account = KBEngine.KBEngineApp.app.player() as Account; if (account == null) { return; } account.baseCall("TestChessEntity", 1); } #endif if (Input.GetMouseButtonDown(0)) { if (!CanMove) { return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { Account account = KBEngine.KBEngineApp.app.player() as Account; if (account == null) { return; } int campType = account.CampType; GameObject hitGameObject = hit.collider.gameObject; ChessEntity entity = ChessManager.Instance.FindChessByAvatarModel(hitGameObject); if (entity != null) { if (SelectChess != null && (int)entity.chessObj.chess_owner_player != campType && entity.CanAttackClick) { // 攻击当前选中的棋子 account.baseCall("AttackChess", SelectChess.chessObj.id, entity.chessObj.id, entity.chessObj.chess_index_x, entity.chessObj.chess_index_z); } else if ((int)entity.chessObj.chess_owner_player == campType) { // 显示当前棋子可行走路线 ClearSelectChess(); SelectChess = entity; SelectChess.BeSelect(); } else { ClearSelectChess(); } } else if (SelectChess != null) { if (hitGameObject.name.Equals("ChessPath")) { int index_x, index_z = 0; if (ChessPathManager.GetChessPathIndex(hitGameObject, out index_x, out index_z)) { // 走到这个格子去 account.baseCall("ChessMove", SelectChess.chessObj.id, index_x, index_z); } } else { ClearSelectChess(); } } else { ClearSelectChess(); } } } }