rogiel/ star-replay
PHP版的星际争霸II回放解析器
0.1.5
2016-08-19 16:36 UTC
Requires
- php: >=5.5
- ocramius/generated-hydrator: ^1.2
- rogiel/mpq: ^0.2.1
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-20 22:14:44 UTC
README
这个库允许您使用PHP读取星际争霸II回放文件。
提供了一个面向对象的API来浏览回放上所有可用的元数据和事件。
特性
- 读取所有公共游戏版本的.SC2Replay文件(数据来自s2protocol)
- 游戏事件:使用PHP 5生成器流式传输事件
- 懒解析:只解析您需要的结构
安装
推荐使用Composer安装此库。
composer require "rogiel/star-replay"
此库使用php-mpq来解析和提取回放中的压缩信息。
示例
use Rogiel\StarReplay\Replay; use Rogiel\StarReplay\Event\Game\CameraSaveEvent; $replay = new Replay('test.SC2Replay'); echo "Version: " . $replay->getHeader()->getVersion() . "\n"; echo "Map: " . $replay->getMatchInformation()->getTitle() . "\n"; echo "Players:\n"; foreach($replay->getPlayers() as $id => $player) { echo "\tPlayer ".$id.": ".$player->getName()."\n"; } echo "Camera hotkeys:\n"; foreach($replay->getGameEvents() as $timestamp => $event) { if($event instanceof CameraSaveEvent) { $player = $replay->getPlayers()->getPlayer($event->getHeader()->getUserID()); echo "\tPlayer ". $player->getName() ." saved a new camera #". $event->getWhich() ." at point ". $event->getTarget() ."\n"; } // since we are using generators, the events will stream linearly from begining to end }