private void InitBoard(GameObject obj) { BoardDock board = obj.GetComponent <BoardDock>(); board.Length = GameSetting.Asset.BoardLength; board.GetModule <BoardSizeModule>().Resize(); PositionFixer pf = board.GetComponent <PositionFixer>(); pf.Position = GetNextBoardPos(); pf.FixPos(); }
private void OnRoleJumpOff(object[] param) { BoardDock board = param.GetValue(0) as BoardDock; if (board) { m_pool.Despawn(board); } SpawnNextBoard(); }
private void OnCollisionEnter(Collision2D collision) { if (!GameController.Instance.IsGaming) { return; } if (GameSetting.Asset.BoardLayer == 1 << collision.collider.gameObject.layer) { m_holdBoard = collision.collider.GetComponent <BoardDock>(); SetStatus(RoleStatus.Hold); } }
public void Jump() { if (m_dock.Status != RoleStatus.Aim) { return; } m_dock.Dir = m_dock.Dir == FaceDir.Left ? FaceDir.Right : FaceDir.Left; Vector2 moveDir = m_dock.ArrowCenter.transform.position - transform.position; moveDir.Normalize(); m_velocity = moveDir * m_speed; SetStatus(RoleStatus.Jump); EventManager.Instance.Broadcast(GameEvent.OnJumpOff, m_holdBoard); m_holdBoard = null; }