# Game

# 说明

Game命名空间提供了访问游戏状态、信息和环境变量的功能。通过该命名空间,您可以获取游戏时间、地图信息、鼠标光标位置等重要数据。

# 如何使用

#include "Noble.h"

void OnGameUpdate()
{
    // 获取游戏时间
    float currentTime = Game::Time();
    
    // 获取鼠标光标位置
    Vector cursorPos = Game::CursorPos();
    
    // 检查聊天框是否打开
    bool isChatOpen = Game::IsChatOpen();
    
    Console::Add("游戏时间: %.2f, 鼠标位置: (%.0f, %.0f)", 
                 currentTime, cursorPos.X, cursorPos.Z);
}

# CameraLock

void Game::CameraLock(bool v)

设置摄像机锁定状态。

参数名字 参数类型 描述
v bool 是否锁定摄像机
// 锁定摄像机
Game::CameraLock(true);

// 解锁摄像机
Game::CameraLock(false);

# CursorPos

Vector const& Game::CursorPos()

获取鼠标光标在游戏世界中的位置。

Vector cursorPos = Game::CursorPos();
Console::Add("鼠标位置: X=%.1f, Y=%.1f, Z=%.1f", cursorPos.X, cursorPos.Y, cursorPos.Z);

# GameID

std::uint64_t Game::GameID()

获取当前游戏的唯一标识符。

std::uint64_t gameId = Game::GameID();
Console::Add("游戏ID: %llu", gameId);

# GameTimeTickCount

int Game::GameTimeTickCount()

获取游戏时间的tick计数。

int ticks = Game::GameTimeTickCount();
Console::Add("游戏时间tick计数: %d", ticks);

# IsCameraLock

bool Game::IsCameraLock()

检查摄像机是否被锁定。

bool isLocked = Game::IsCameraLock();
Console::Add("摄像机锁定状态: %s", isLocked ? "已锁定" : "未锁定");

# IsChatOpen

bool Game::IsChatOpen()

检查游戏聊天框是否打开。

bool chatOpen = Game::IsChatOpen();
Console::Add("聊天框状态: %s", chatOpen ? "已打开" : "已关闭");

# MapID

eGameMapID Game::MapID()

获取当前游戏地图的ID。

eGameMapID mapId = Game::MapID();
const char* mapName = "未知";

switch (mapId)
{
case eGameMapID::SummonersRift:
    mapName = "召唤师峡谷";
    break;
case eGameMapID::HowlingAbyss:
    mapName = "嚎哭深渊";
    break;
case eGameMapID::TFT:
    mapName = "云顶之弈";
    break;
default:
    break;
}

Console::Add("当前地图: %s", mapName);

# MissionMode

const char* Game::MissionMode()

获取当前游戏的任务模式。

const char* missionMode = Game::MissionMode();
Console::Add("游戏任务模式: %s", missionMode);

# ModeName

const char* Game::ModeName()

获取当前游戏模式的名称。

const char* modeName = Game::ModeName();
Console::Add("游戏模式: %s", modeName);

# Ping

int Game::Ping()

获取当前游戏的网络延迟(以毫秒为单位)。

int ping = Game::Ping();
Console::Add("当前网络延迟: %d ms", ping);

# Region

const char* Game::Region()

获取当前游戏服务器的地区。

const char* region = Game::Region();
Console::Add("游戏服务器地区: %s", region);

# RoomName

const char* Game::RoomName()

获取当前游戏房间的名称。

const char* roomName = Game::RoomName();
Console::Add("游戏房间名称: %s", roomName);

# Set_CursorPos

void Game::Set_CursorPos(Vector const& ScreenPos)

设置鼠标光标在屏幕上的位置。

参数名字 参数类型 描述
ScreenPos Vector const& 屏幕坐标位置
// 将鼠标移动到屏幕中心
int width = Drawing::Width();
int height = Drawing::Height();
Vector screenCenter(width / 2.0f, height / 2.0f, 0);
Game::Set_CursorPos(screenCenter);

# Time

float Game::Time()

获取当前游戏时间(以秒为单位)。

float gameTime = Game::Time();
Console::Add("当前游戏时间: %.2f 秒", gameTime);

# ZoomHack

void Game::ZoomHack(float Height)

设置游戏摄像机的缩放高度。

参数名字 参数类型 描述
Height float 摄像机高度
// 增加摄像机高度以获得更广的视野
Game::ZoomHack(2000.0f);

# ZoomHeight

float Game::ZoomHeight()

获取当前摄像机的缩放高度。

float height = Game::ZoomHeight();
Console::Add("当前摄像机高度: %.1f", height);