แแแแแ แฏแแแ, แแ แแแ แแแแแขแ แแ แแแแแ, แกแแ แแแ แแก แแแแแแแแแ แ Pixonic-แแกแแแ. แแฆแแก แแกแฃแ แก แแแกแแฃแแ แ แแแแแแฃแ แแฃแแขแแแแแแ แจแ แฉแแแแ แฉแแแแก แแแแแแแกแแ แแแแแ.
แแแแ แ แกแขแแขแแ แแแแฌแแ แ แกแแ แแแ แแก แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แจแแกแแฎแแ, แแแ แจแแ แแก แ แฃแกแฃแ แแแแแ. แแก แแแกแแแแแ แ แแ แแ แแก, แ แแแแแ แแก แขแแฅแแแแแแแ 90-แแแแ แฌแแแแแก แแแแแแแ แแฅแขแแฃแ แแ แแแแแแงแแแแแ แแ แแแแแแแแแแแจแแแแ FPS-แแก แจแแกแแฅแแแแแแ. แแแแแแแแแ, แจแแแแซแแแแ แแแฎแกแแแแแ QuakeWorld แแแแ, แ แแแแแแช แแ แ-แแ แแแ แแแ แแแแแ แแแแแแงแแแ แแแ.
แฉแแแ แแกแแแ แแแงแแแแแ แแแก แฉแแแแก แแแแแแฃแ แแ แแแแแแแแแแแจแแแ แแกแ แแแแ Dino Squad-แจแ.
แแ แกแขแแขแแแจแ แฉแแแ แแแแแแ แแ แแ แแก แแแแแแแแ แ แแก, แ แแช แฃแแแ แแแฌแแ แแแแ แแแแกแฏแแ , แแ แแแแ แแแแก แแฅแแ, แแฃ แ แแแแ แแแแแแฎแแ แชแแแแแ แแแแแแแแแแแก แแแแแแแกแแชแแ แฉแแแแก แแแแแจแจแ, แฉแแแแ แขแแฅแแแแแแแฃแ แ แกแขแแแแก แแ แซแแ แแแแแ แแแแแแแแแก แแแฎแแกแแแแแแแแแแก แแแแแแแแกแฌแแแแแแ.
แแ แแแแ แกแแขแงแแ แฉแแแแ แฅแแ แฅแแกแ แแ แขแแฅแแแแแแแแแแก แจแแกแแฎแแ.
Dino Squad แแ แแก แฅแกแแแฃแ แ แแแแแแฃแ แ PvP แแกแ แแแแแ. แแแแแแแจแแแแ แแแแแขแ แแแแแแ แแแแแแแแ แแแก, แ แแแแแแแช แแฆแญแฃแ แแแแแ แกแฎแแแแแกแฎแแ แแแ แแฆแแ แแ แแแ แซแแแแ แแ แแแแแแแก 6v6 แแฃแแแแแจแ.
แแแแแแขแแช แแ แกแแ แแแ แแช แแแคแฃแซแแแแฃแแแ Unity-แแ. แแ แฅแแขแแฅแขแฃแ แ แกแแแแแแ แแแแกแแแฃแ แแ แแกแ แแแแแแแแกแแแแก: แกแแ แแแ แ แแแขแแ แแขแแ แฃแแแ แแ แแแแแแขแแแแก แแ แแแแแแแ แแแ แแฃแจแแแแก แแแแแแขแแแแ. แแแแแจแแก แกแแแฃแแแชแแ แแแฌแแ แแแแ แจแแแ ECS-แแก แแแแแงแแแแแแ แแ แแแแแแงแแแแแ แ แแแแ แช แกแแ แแแ แแ, แแกแแแ แแแแแแขแแ.
แแฃ แแแ แแแแแ แแแกแแแ แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แจแแกแแฎแแ, แแฅ แแ แแก แแแแแ แแฅแกแแฃแ แกแแ แแ แกแแแแแฎแแ.
แแ แแแแแแแแแแแจแแแ FPS แแแแแจแแแจแ แแแขแฉแ แฉแแแฃแแแแ แแ แกแแแฃแแแ แแแฃแแแ แแแกแขแแแชแแฃแ แกแแ แแแ แแ. แแแแแแแจแแแแ แแแแแแแแแ แแแแแแแ แจแแงแแแแแก (แแแคแแ แแแชแแแก แแแญแแ แแแ แแแแแแจแแแแก แจแแกแแฎแแ) แกแแ แแแ แแ แแ แกแแแแกแฃแฎแแ แกแแ แแแ แ แฃแแแแแแแก แแแ แแแแแฎแแแแฃแ แแแแแจแแก แแแแแแแ แแแแแก แแแฆแแแฃแแ แแแแแชแแแแแแก แแแแแแแแกแฌแแแแแแ. แแ แฃแ แแแแ แแฅแแแแแแแก แกแฅแแแแ, แจแแคแแ แฎแแแ แฌแแ แแแแแแจแแก แแแญแแ แแกแ แแ แแแแแแแจแแก แแแ แกแแแแแแก แแแ แแแแ แแแแแแแแแแแแแก แแแแแแขแก แจแแ แแก แงแแแแแแแแก แแฅแแแแ แแแแแแ แแแขแ.
แแแแแแฃแ แฅแกแแแแแจแ แแก แจแแคแแ แฎแแแ (แแแแฃแแแ แฃแแแ แฃแฌแแแแแแ แจแแงแแแแแก แฉแแแแ แฉแแแแก) แจแแแซแแแแ แจแแฃแแฉแแแแแแ แแงแแก, แแแขแแ แแแขแแ แแแแแจแแกแแก แแก แฅแแแแก "แงแแแฃแแแ แกแ แแแแแก" แแแแชแแแก แแแ แกแแแแแแก แแแ แแแแกแแก. แแก แแ แแแแแแ แแ แแแแแ แแฅแขแฃแแแฃแ แแ แแแแแแฃแ แ แฅแกแแแแแแกแแแแก, แกแแแแช แแก แจแแแแฎแแแแ, แ แแแแกแแช แแแแแแแจแแก แแแแแ 200 ms-แแ, แแแแแช แจแแกแแแแจแแแ แแแแจแแ แแ แแแแแแแ. แฎแจแแ แแ แแแแแ แจแแแซแแแแ แแงแแก 350, 500 แแ 1000 ms. แแแจแแ แแแแฅแแแก แจแแฃแซแแแแแแ แฎแแแแ แกแฌแ แแคแ แแกแ แแแแแแก แแแแแจแ แจแแงแแแแแก แฉแแแแ แฉแแแแ.
แแ แแ แแแแแแแก แแแแแฌแงแแแขแ แแ แแก แแแแแแขแแก แแฎแแ แแก แกแแแฃแแแชแแฃแ แ แแ แแแแแแแ แแแ. แแฅ แแแแแแขแ แแแแแ แแงแแแแแก แจแแงแแแแแก แแแแแแแจแแก แแแ แกแแแแแแ, แกแแ แแแ แแก แแแกแฃแฎแแก แแแแแแแแแก แแแ แแจแ. แแ แ แแแแกแแช แแแกแฃแฎแ แแแแฆแแแ, แแก แฃแแ แแแแ แแแแ แแแก แจแแแแแแแก แแ แแแแแแฎแแแแก แแแแแแแขแแแแก แแแแแชแแแแก. แแแแแแจแแก แแแญแแ แแกแ แแ แแแ แแแแ แจแแแแแแก แฉแแแแแแแก แจแแ แแก แจแแคแแ แฎแแแ แแ แจแแแแฎแแแแแจแ แแแแแแแแฃแ แแ.
แแฅ แแแแจแแแแแแแแแแ แแแฃแแแกแแก แแแแแแ: แแแแแแขแ แงแแแแแแแแก แแแแแแแก แแแแก แแแแ แจแแงแแแแแก แแแฎแแแแแ, แฎแแแ แแขแ แแแ - แฅแกแแแแก แแแแแแแแแแแ, แกแแ แแแ แแก แแแแแชแแแแแแแแ แฌแแแ แแแแแแแ แแแแแก แแแฎแแแแแ. แแแฃ แแขแแ แแ แกแ แแแแกแแก แแแแแแแจแ แแแก แฌแแ แกแฃแแจแ แฎแแแแแก แแแแแกแแแ แจแแแแ แแแแ. แแแขแ แแแแแแขแแก แแ แแแแแแแก แจแแกแแฎแแ
แแแ แแแแ, แแแแแแขแแก แฌแแแแกแฌแแ แแแขแงแแแแแแ แฌแงแแแขแก แแ แ แแ แแแแแแแก, แแแแ แแ แฅแแแแก แแแแ แแก: แแฃ แแแแแแแจแ แแกแแ แแก แแ แฌแแ แขแแแจแ, แกแแแแช แแขแแ แ แฌแแ แกแฃแแจแ แแงแ, แกแแ แแแ แแ แแแแแ แฌแแ แขแแแจแ แกแ แแแแกแแก, แแขแแ แ แจแแแซแแแแ แแฆแแ แแงแแก แแ แแแแแแแก. แกแแ แแแ แแก แฉแแแแ แฉแแแแก แแแแแแแกแแชแแ แชแแแแแแก แแ แแ แแแแแแแก แแแแแญแ แแก. แแแ แแฆแแก แแแกแ แแแแกแแก, แกแแ แแแ แ แแฆแแแแแแก แแแแแจแแก แแแแแแแ แแแแแก, แ แแแแแแช แแแแแแแจแแ แแแฎแ แแแแแแฃแ แแ แแแกแ แแแแก แแ แแก แแ แแแแฌแแแแก, แแแ แแแ แจแแแซแแ แแฃ แแ แ แแขแแ แก แแแ แขแงแแ. แแฃ แแแกแฃแฎแ แแ แแก โแแแแฎโ, แแแ แขแงแแ แแแแแแแ, แแแจแแแแช แแ, แแฃ แแขแแ แ แแ แแ แแก แกแแ แแแ แแ แแฆแแ แแ แแก.
แแ แชแแแแแ แจแแแแ แแฆแแแฃแแ, แฉแแแ แแแแแฌแงแแ แกแแ แแแ แแก แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แแแแแ แแแ Dino Squad-แจแ. แฃแแแ แแแแแก แงแแแแแกแ, แฃแแแ แแแแกแแแแแก, แ แแแแ แแฆแแแแแแแแ แกแแ แแแ แแ แแก, แ แแช แแแฎแ แแแแแแขแแ? แแ แแแแแ แแขแฃแแแ แ แแกแ แแฆแแแแแแ แกแแญแแ แ? แฉแแแแก แแแแแจแจแ แแแ แแฆแแแแ แแ แฃแแแ แแแแแแ แแแ แขแงแแแแ แแแแแแแแแแแ แกแฎแแแแแแก แแ แแแแแคแแ แแแก แกแแจแฃแแแแแแ - แแแฃ แแขแ แแก แคแแแแแฃแ แแแแแแแแ แแแแแ แฃแ แแแแ แแฅแแแแแแแก แแแแ. แจแแกแแแแแแกแแ, แแแแแญแแ แแ แแ แแแแแแแแ แแแแก แแแแแชแแแก แ แแแ แแแฃแชแแ แแแ, แ แแแแแแช แแแแแแแจแแ แแแแแแฃแ แแ โแแแฎแโ แกแแ แแแ แแ. แแ แแ แแก แฉแแแ แแแงแแแแแแแ Unity แแแ แกแแ 2018.x. แคแแแแแแก API แแฅ แกแขแแขแแแฃแ แแ, แคแแแแแฃแ แ แกแแแงแแ แ แแ แกแแแแแก แแ แ แแแแแแแแแ แแ. แแแกแ แแแแแแแ แแแแแก แจแแแแฎแแ แแ แจแแแแแ แแแกแ แงแฃแแแแแ แแฆแแแแแ แแ แแ แกแแแแแก. แแกแ แ แแ, แ แ แฃแแแ แแแแแแแแก?
แแแแแกแแแแแ แแแแแแแ แแ แแงแ; แแแกแ แงแแแแ แแแแแแแขแ แฃแแแ แแแแแงแแแแแฃแแ แแงแ แกแฎแแ แแ แแแแแแแแแก แแแแแกแแญแ แแแแ:
- แแแแแแฃแแ แแแแแแขแแกแแแแก, แฉแแแ แฃแแแ แแแชแแแแ, แ แ แแ แแก แฎแแแแแแ แแแแแแแขแแแก แแแแแแจแแแแก แแแญแแ แแกแแก. แฉแแแ แฃแแแ แฉแแแฌแแ แแ แแก แแแคแแ แแแชแแ แจแแงแแแแแก แแแแแขแจแ แแ แแแแแแแงแแแแ แแแแแแขแแก แแ แแแแแแแก แแแกแแ แแแฃแแแ แแแแแ.
- แฉแแแ แฃแแแ แจแแแแแซแแแก แแแแแจแแก แกแแฎแแแแฌแแคแแแแแก แแกแขแแ แแแก แจแแแแฎแแ. แกแฌแแ แแ แแแกแจแ แแแแแแแแแแ แฉแแแแ แแแแแแแขแแแแก (แแ แจแแกแแแแแแกแแ แแแแ แแแแแแแแ แแแแก) แแแแแชแแแแก. แฉแแแ แฃแแแ แแแฅแแแแ แกแแ แแแ แแ แกแแฎแแแแฌแแคแ แแกแขแแ แแ, แแแงแแแแแแแ แแแก แจแแกแแฅแแแแแแ
แแแแขแแแ . แแแชแแแแ แจแแกแแคแแ แแกแ แแ แ, แฉแแแ แแแแแแแ แแแแแแแ แแกแขแแ แแแจแ แกแฌแแ แแแแแแแ แแแแแก. - แแฎแแ, แ แแแแกแแช แฉแแแ แแแแฅแแก แแแแแจแแก แแแแแแแ แแแแ แแกแขแแ แแแแแ, แฉแแแ แฃแแแ แจแแแซแแแ แแแแแแแจแแก แแแแแชแแแแแแก แกแแแฅแ แแแแแแชแแ แคแแแแแฃแ แ แกแแแงแแ แแก แแแแแแแ แแแแแกแแแ. แแ แกแแแฃแแ แแแแแแแแ แแแ - แแแแแแแแแแแแ, แแแแแ แแฃแแ - แจแแฅแแแ, แแ แแกแแญแแ แ - แแแแแแแฃแ แแแ. แแก แแแแแแ แแกแแแ แฃแแแ แแแฌแแ แแแ แแงแ แแ แจแแแแแแแแ แ แแแแแแแแ ECS แกแแกแขแแแแกแแแ. แฉแแแ แแแแแแแงแแแแ แ แแแแแแแแ แกแแแแแแจแ แแแแฎแแก แแแกแแแแ แแแ แแ แแ Unity แแ แแชแแกแจแ. แแ แ แแแแแ แคแแแแแฃแ แ แกแแแงแแ แ แแ แแ แแ แแชแแกแแ, แแก แฎแแแแฎแแ แฃแแแ แแฅแแแก แแแแแงแแแแแฃแแ แแแแฎแแแก แจแแ แแก. แกแแแฃแแแชแแแก แงแแแแแ แแแจแแแก แฌแแ, แฉแแแ โแแแแแแแงแแแแแโ แคแแแแแฃแ แ แกแแแงแแ แแก แแแแแแแ แแแแแก แแ แฎแแแแฎแแ แแแงแแแแแ แแแก แแแแแแแแ แ แแแแฎแแก แแแแแชแแแแแแ, แแชแแแแแแ แแแฅแกแแแแแฃแ แแ แแแแแแแงแแแแ Unity แแแแแจแแก แแแแแฅแขแแแ แญแแแแแแฃแ แ แแแแ แแแแแแแแก แกแแกแขแแแแก แแแจแแแแแแ. แแแ แฉแ แแฎแแแแ แแแแแ แแแแแแแก แแแแแซแแฎแแแ แแแแแจแแก แแแแแแแ แแแแแกแแแแก แฌแแ แกแฃแแแแแ.
แงแแแแ แแ แแแแแแแขแแก แแ แแแ แจแแแ แแแแ แแแแแฆแแ โแแ แแแก แแแแฅแแแโ, แ แแแแแกแแช แจแแแซแแ แคแแแแแฃแ แ แกแแแงแแ แแก แแแแแแแ แแแแ แจแแกแแคแแ แแก แแแแแแขแจแ แแแแแ แฃแแแก. แแแแ แแแ แขแแแ แแฆแแแฉแแแ:
public class TimeMachine : ITimeMachine
{
//ะััะพัะธั ะธะณัะพะฒัั
ัะพััะพัะฝะธะน
private readonly IGameStateHistory _history;
//ะขะตะบััะตะต ะธะณัะพะฒะพะต ัะพััะพัะฝะธะต ะฝะฐ ัะตัะฒะตัะต
private readonly ExecutableSystem[] _systems;
//ะะฐะฑะพั ัะธััะตะผ, ัะฐัััะฐะฒะปัััะธั
ะบะพะปะปะฐะนะดะตัั ะฒ ัะธะทะธัะตัะบะพะผ ะผะธัะต
//ะฟะพ ะดะฐะฝะฝัะผ ะธะท ะธะณัะพะฒะพะณะพ ัะพััะพัะฝะธั
private readonly GameState _presentState;
public TimeMachine(IGameStateHistory history, GameState presentState, ExecutableSystem[] timeInitSystems)
{
_history = history;
_presentState = presentState;
_systems = timeInitSystems;
}
public GameState TravelToTime(int tick)
{
var pastState = tick == _presentState.Time ? _presentState : _history.Get(tick);
foreach (var system in _systems)
{
system.Execute(pastState);
}
return pastState;
}
}
แแแ แฉแ แแฎแแแแ แแแแก แแแ แแแแแ, แแฃ แ แแแแ แแแแแแงแแแแแแแ แแก แแแแฅแแแ แแแ แขแงแแแแแกแ แแ แจแแกแแซแแแแแแแแแแก แแแ แขแแแแ แแแแแแแกแแชแแแกแแแแก.
แฃแแแ แขแแแแก แจแแแแฎแแแแแจแ, แ แแแแกแแช แแแฅแแแแแ แแแคแฃแซแแแแฃแแแ แแ แ แแแ แขแงแแแแ, แ แแแแ แช แฉแแแก, แงแแแแแคแแ แ แแแแแแแ: แกแแแแ แแแแแแแจแ แแกแแ แแก, แแแ แฃแแแ แแแแแ แฃแแแก แคแแแแแฃแ แ แกแแแงแแ แ แกแแกแฃแ แแแ แแแแแแแ แแแแแจแ, แแแแแแแแก raycast, แแแแแแแแก แแแ แขแงแแ แแ แแแจแแแแ แแ แแแฃแแ แฃแแ แกแแแงแแ แ แกแแฌแงแแก แแแแแแแ แแแแแก.
แแแแ แแ แแกแแแ แแแฅแแแแแ แซแแแแแ แชแแขแแ Dino Squad-แจแ! แแแแแจแจแ แแแ แแฆแแก แฃแแแขแแกแแแ แฅแแแแก แญแฃแ แแแแก - แฎแแแแ แซแแแ แขแงแแแแแก, แ แแแแแแแช แแแคแ แแแแแแ แ แแแแแแแแ แกแแแฃแแแชแแฃแ แ แขแแแแแกแแแแก (แแแแแแ แ แจแแแแฎแแแแแจแ, แแแแแแ แขแแแแแ). แ แ แแฃแงแแ แแแ, แ แแแแ แกแแแแแ แฃแแแ แแคแ แแแแ?
ะ
แฉแแแ แแ แแแฅแแแแ แแก แแแ แแแแขแ: แญแฃแ แแแแแ แแแคแฃแซแแแแฃแแ แแแ แแฆแ แแงแ แแแแแจแแก แแแแแแแแก แแแแแแ แ แแแฎแแกแแแแแแแแ. แแแแขแแ แ แแฆแแชแแก แแแคแแฅแ แแแ แแแแแแฌแแ. แแชแแ แ แขแแแแแก แจแขแแ แแแก แจแแแแแ, แฉแแแ แฉแแแแแแงแแแแแแ แแ แ แแแ แแแแขแ, แ แแแแแแช, แ แแแแ แช แฉแแแก, แแฃแจแแแแแ:
1. แญแฃแ แแก แแแแแแ แแแ แแ แแแแแแแจแแก แแ แแก, แ แแแแแแแช แจแแฅแแแ แแแ. แกแแ แแแ แแก แกแแแฃแแแชแแแก แงแแแแแ แแแจแแแ, แงแแแแ แแแแแแแจแแก แงแแแแแ แขแงแแแแกแแแแก, แฉแแแ แแแแ แฃแแแแ แคแแแแแฃแ แกแแแงแแ แแก แแแแแแขแแก แแแแแแแ แแแแแแแ แแ แแแกแ แฃแแแแ แกแแญแแ แ แแแแแแแแแแก. แแ แแแแแแแแ แจแแกแแซแแแแแแ แแแฎแแแ แกแแ แแแ แแ แแแแแฌแแแแแฃแแ แแแขแแแ แแแ แแ แญแฃแ แแแแแก แแ แแแแแแแ แแแแแ แคแ แแแแก แแ แ. แฉแแแแแแแก แแแแกแแแฃแแ แแแแ แแแแจแแแแแแแแแ แแงแ แแ แแแแแแแ แแแแแแแ, แ แแแแแ แฉแแแ แแแแฅแแก แงแแแแ แญแฃแ แแ, แแแ แจแแ แแก แแขแ แแก แญแฃแ แแแแ, แแแฌแแแแกแฌแแ แแแขแงแแแแแแ แแแแแแขแแ.
แกแฃแ แแแแ แแแแแแแจแ แขแแ 30-แแ แแกแแ แแก แ แแแแขแแก แแแแแแแแจแ: แแก แฎแแแแแก แ แแแแแ แแแแแ แแฃแแแแแ แแแ แแแก แแขแแ แ แแ แแชแแก แ แแแแขแแก แกแแแแ แแฃแแ แกแแฉแฅแแ แ. แแแแแแแแ แแแแ แฎแแแแแก, แ แแ แแแแแแก 33-แ แขแแแแแ แแแฎแแแ. แแแแแแแแแแแก แแแแแแแกแแชแแแก แฌแงแแแแแแ, แแก แแกแแแ แแแแแฉแแแแแ แกแแ แแแ แแ
2. แฉแแแ แงแแแแแคแแ แก แแแแแแแแ แแกแแแ, แ แแแแ แช แแแ แแแ แแแ แแแแขแจแ, แแแแ แแ, แขแงแแแแก แกแแแฃแแแชแแแก แแ แแ แแแแแก แแแแแแแก แจแแแแแ, แฉแแแ แแ แแฉแแ แแแแแ, แแ แแแแ แแแแ แซแแแแแ แแแกแ แคแ แแแแก แกแแแฃแแแชแแแก แแแแแ แกแแ แแแ แแก แขแแแแแก แคแแ แแแแแจแ, แงแแแแ แฏแแ แแ แแแแฎแแแแแ แแ แแก แกแแ แแแ แแแ. แกแแแแแแแ แแแแแจแแแ แแ แแแแแแแแ แแก แแแแแชแแแแแก แแแแแฎแแแแ. แฉแแแ แแแแก แแแแแแแแ แแแแแ, แกแแแแ แแ แ แ แแ แแ แแแฎแแแแ:
- แขแงแแแแก แแแแ แแแฃแแแแ. แแก แแแจแแแแก, แ แแ แแแแแแแแ แแแกแ แฃแแแแฃแแแ, แจแแแแแซแแแ แแแแแแแแ แแแแแขแแแแแ แแ แแแ แขแงแแ. แแ แแก แแ แแก แแแแแ แขแแแแจแ, แ แแแแแจแแช แแแกแ แแแ แแแฎแแ! แฉแแแแแแแก แแก แแงแ แแแฃแกแแช แแ แแแแฃแกแแช. แแแแฃแกแ - แ แแแแแ แแกแ แแแแแ แแแแแแแจแแกแแแแก แแแแ แแแแจแแแแแแแแแ แจแแแแชแแ แ แจแแคแแ แฎแแแ แแแ แขแงแแแกแ แแ แแขแ แแก แฏแแแแ แแแแแแแก แแแฅแแแแแแแแก แจแแ แแก. แแแแฃแกแ แแก แแ แแก, แ แแ แแแแแ แแคแแฅแขแ แแแคแแฅแกแแ แแ, แ แแแแกแแช แแแฌแแแแแฆแแแแแแแแแ แแกแ แแแแแ แแแแแแแจแแก: แแขแแ แแ, แ แแแแ แช แฉแแแก, แแฎแแแแ แแแแ แ แแแแขแ แแกแ แแแ แแ แแแ แแแ แฃแแแ แแแแแแแแ แแงแ.
- แขแงแแแแ แกแแ แแแ แแก แแ แ แแแแฆแฌแแ. แแ แจแแแแฎแแแแแจแ, แแแกแ แกแแแฃแแแชแแ แแแแ แซแแแแแแ แกแแ แแแ แแก แจแแแแแ แขแแแจแ แงแแแแแแแแ แ แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แแแ แแจแ. แแแแ แญแฃแ แแแแแก แจแแแแฎแแแแแจแ, แแแแ แจแแแซแแแแ แแแแ แแฃแแแ แจแแแแชแแ แแก แคแแแแแแก แฃแแแ แแแแ แฃแแแแแก แ แแแแแแแแ แแแ แแแ แแแ แแแแขแแแ แจแแแแ แแแแ. แแแแแแ แแฃแแแ, แกแแแฃแแแชแแแก แแ แแแแแแแแ แ แแแขแแแ แแแ แแแแแแ แแ: แกแแ แแแ แ แแ แฃแแแฅแแแแ แแงแ, แแ แกแแ แแแ แแก แแ แ แขแแแแจแ แแแแแแแ แแแแฃแ แกแแแฃแแแชแแฃแ แ แขแแแแก แ แแแแแแแแ แขแงแแแแกแแแแก.
แแแแแ แกแชแแแแ แ, แ แแแแ แช แฌแแแ แกแฃแ แแแแ, แแแแ แแ แแแแแแแแแแแ แแแแ แ แกแฅแแแแก แแแฎแแแแแ. แ แแแแขแ "แแแแฌแแ" แกแแ แแแ แแก แแ แแก แแแแแ แขแแแแแ, แ แแแแแแแช แแแฎแแ แแแกแ แแแ แแ แแแ แขแงแแ แจแแแซแแแแ แแแแแแแแแก แฃแแแ แแแแแแแแ แขแแแแแ. 31-แ แแแจแแแแ, แแ แจแแแแฎแแแแแจแ, แแแแแแแแแแแก แแแแแแแกแแชแแ แแฆแแ แแแแแแงแแแแแ
แฉแแแแ แแแแฎแแ แชแแแแแแแกแแก, แแก แแ แ แแแแแแแ แแแแกแฎแแแแแแแแแ แแแแแก แแฎแแแแ แ แแแแแแแแ แกแขแ แแฅแแแจแ, แแแแขแแ แฉแแแ แจแแแฅแแแแแ แแ แแแ แแ แแแแ แฎแแแก แแแแแแแแแแแจแ แแกแแแ แแ แกแแแแแแแแ แแแ แแแแแฃแ แแ. แแแ แแฆแแก แแแฅแแแแแแแแ แแ แขแงแแแแก แกแแฉแฅแแ แแแแ แแแแแแแแแแ แ, แแแแแแฃแแ แแแแแแแแ แแกแแแแก แแแ แแฃ แแ แแแ แแแแขแก แแแ แฉแแแแแ. แแฅ แแแแแแฌแงแแแขแ แแแแแแขแ แแงแ แแแฅแแแแแแก แแแแแจแจแ แแแแแฉแแแ, แ แแแแ แแชแแ "แแฃ แแขแแ แก แแแแแแฏแแ แแแแ แขแงแแ แแแ แแฃ แแ แแ แแก, แแแแฆแ แแก แแ แแกแแแ แแแแฃแกแ". แแแแแกแแแแ แแ แแแฅแแแแแแกแแ, แกแแแแช แแแแแแแจแแ แแขแแ แก แแแแ แขแงแ แแแแจแแแแแแแแแ แ แแแ, แฃแแ แ แแฅแแ แแแแ แ แแแแแแแแแ แแฃแจแแแแแแ. แแกแ แ แแ, แฉแแแ แแแแแฆแแ แแแ แแแแ แแแ แแแแขแ แแ แแก แแฎแแ แแ แชแแแแแแ แงแแแแ แแแ แแฆแแ แแ แแแแแจแจแ แแ แกแแแฃแ แงแแแแ แแฅแขแแฃแ แจแแกแแซแแแแแแแแแแ.
แชแแแแ, แฆแแ แก แจแแกแ แฃแแแแแก แกแแแแแฎแแก แแแงแแแแแ. แแฃ แแแแแแแ, แ แแ แแก แงแแแแแคแแ แ แจแแแแแแแแแ แกแแฅแแแก, แแ แแแแกแฃแฎแแ: แแกแแ. แแ แแแแแแแ แกแแแแแแ แแแแแ แแแแแแแแ แแแแก แแแแแแแแแแแแแจแ แแ แแแ แฉแแ แแแ-แแแแแ แแแแจแ. Dino Squad-แจแ, "แฃแแ แแก แจแแแแฎแแแแแจแ" แกแชแแแแ แจแ, แจแแแซแแแแ แแงแแก แ แแแแแแแแ แแกแแฃแแ แญแฃแ แแ แแ แแแ แแฃแแแ แแ แซแแแแจแ. แแแแแแแแ แแแแก แแแแแแแแแแแแ แแแแแแฃแแ แญแฃแ แแแก แชแแแแ แแแกแแแแแแแแ แแแฃแฌแแแแแแแ แคแฃแคแฃแแแแแ. แแฅแแแแ แแแแแแแแแแ แ, แฉแแแแแแแก แแแกแแแฃแขแฃแ แแ แแฃแชแแแแแแแ แแงแ แแแแแแฃแแแแแ แแแแงแแแแแแแงแแแแ แคแแแแแแก โแแแแ แฃแแแแแแแกโ แ แแแแแแแแ. แแแแกแแแแก ECS-แจแ แจแแแฅแแแแแ แชแแแแ แแแแแแแแแขแ, แ แแแแแจแแช แฉแแแฌแแ แ แแแแแแแจแแก แแ แแก. แฉแแแ แแแแแแแขแแ แแก แงแแแแ แแ แแแฃแแก, แ แแแแแแช แแแแแฎแแแก แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก (แญแฃแ แแแแ, แจแแกแแซแแแแแแแแแ แแ แ.แจ.). แกแแแแ แฉแแแ แแแแแฌแงแแแ แแกแแแ แแ แแแฃแแแแแก แแแแฃแจแแแแแแก, แแ แแ แแแกแแแแก แแแแ แแแแแ แแแ แแ แแแแฃแจแแแแแ แแแ แแ แแแ, แแแแ แแแแกแขแแ แแ แแ แแฎแแ แแแแ แฃแแแแ แคแแแแแฃแ แกแแแงแแ แแก.
แแ แแขแแแแ แฉแแแ แแแแฅแแก แแแแแแแ แแแฅแแแแ แกแแกแขแแแ. แแแกแ แแแแ แแแ แแแแฃแแฌแแแแ แแแแแ แขแแแแแฃแแ แคแแ แแแ:
public sealed class LagCompensationSystemGroup : ExecutableSystem
{
//ะะฐัะธะฝะฐ ะฒัะตะผะตะฝะธ
private readonly ITimeMachine _timeMachine;
//ะะฐะฑะพั ัะธััะตะผ ะปะฐะณะบะพะผะฟะตะฝัะฐัะธะธ
private readonly LagCompensationSystem[] _systems;
//ะะฐัะฐ ัะตะฐะปะธะทะฐัะธั ะบะปะฐััะตัะธะทะฐัะพัะฐ
private readonly TimeTravelMap _travelMap = new TimeTravelMap();
public LagCompensationSystemGroup(ITimeMachine timeMachine,
LagCompensationSystem[] lagCompensationSystems)
{
_timeMachine = timeMachine;
_systems = lagCompensationSystems;
}
public override void Execute(GameState gs)
{
//ะะฐ ะฒั
ะพะด ะบะปะฐััะตัะธะทะฐัะพั ะฟัะธะฝะธะผะฐะตั ัะตะบััะตะต ะธะณัะพะฒะพะต ัะพััะพัะฝะธะต,
//ะฐ ะฝะฐ ะฒัั
ะพะด ะฒัะดะฐะตั ะฝะฐะฑะพั ยซะบะพัะทะธะฝยป. ะ ะบะฐะถะดะพะน ะบะพัะทะธะฝะต ะปะตะถะฐั ัะฝัะธัะธ,
//ะบะพัะพััะผ ะดะปั ะปะฐะณะบะพะผะฟะตะฝัะฐัะธะธ ะฝัะถะฝะพ ะพะดะฝะพ ะธ ัะพ ะถะต ะฒัะตะผั ะธะท ะธััะพัะธะธ.
var buckets = _travelMap.RefillBuckets(gs);
for (int bucketIndex = 0; bucketIndex < buckets.Count; bucketIndex++)
{
ProcessBucket(gs, buckets[bucketIndex]);
}
//ะ ะบะพะฝัะต ะปะฐะณะบะพะผะฟะตะฝัะฐัะธะธ ะผั ะฒะพัััะฐะฝะฐะฒะปะธะฒะฐะตะผ ัะธะทะธัะตัะบะธะน ะผะธั
//ะฒ ะธัั
ะพะดะฝะพะต ัะพััะพัะฝะธะต
_timeMachine.TravelToTime(gs.Time);
}
private void ProcessBucket(GameState presentState, TimeTravelMap.Bucket bucket)
{
//ะัะบะฐััะฒะฐะตะผ ะฒัะตะผั ะพะดะธะฝ ัะฐะท ะดะปั ะบะฐะถะดะพะน ะบะพัะทะธะฝั
var pastState = _timeMachine.TravelToTime(bucket.Time);
foreach (var system in _systems)
{
system.PastState = pastState;
system.PresentState = presentState;
foreach (var entity in bucket)
{
system.Execute(entity);
}
}
}
}
แแแ แฉแแแแแ แแงแ แแฎแแแแ แแแขแแแแแแก แแแแคแแแฃแ แแชแแ:
1. แแแแแแ แ แแแแแแแ แจแแแฆแฃแแแ แแแซแ แแแแแก แแแฅแกแแแแแฃแ แ แแแแซแแแ แแ แแจแ.
แฉแแแแแแแก แแแแจแแแแแแแแแ แแงแ แแแแแจแ แ แแช แจแแแซแแแแ แฎแแแแแกแแฌแแแแแ แแแแฎแแแแ แชแฃแแ แแแแแแฃแ แ แฅแกแแแแแแก แแแ แแแแแจแ, แแแแขแแ แกแแฃแแแขแ แจแแแแแแคแแ แแแแ 30 แขแแแแ (20 แฐแช แกแแฎแจแแ แแ). แแก แกแแจแฃแแแแแแก แแซแแแแก แแแแแแแจแแแแก แแแแ แขแงแแ แแแแแแแขแแแก แซแแแแแ แแแฆแแ แแแแแแแแแช แแ.
2. แแแแแแแแแ แ แแแแแ แกแแแแแแแก แแแแแขแแแ แจแแแซแแแแ แแ แแจแ แแ แ แแแแแ แแ แ.
แฉแแแ, แ แ แแฅแแ แฃแแแ, แแแแแแแขแแแก แแแชแแแแแแแแ. แแแแ แแ แแแงแแแแแแแ แแแแ แแแขแแแฃแแ แคแแ แแแ, แแแแแแแแแ, แแ แแ แแก. แแแแแแฌแงแแแขแแ, แ แแ แกแฏแแแแ แฃแแแ แแขแแกแแแ แแแแแแญแแแแแ แแแแแแชแแแ แฃแแแ แก, แ แแแแ แช แแแแก แฎแจแแ แแ แแแแแแแแ แแแแแแ แแกแ แแแแแแแจแ. แแฃ แแแแแแแจแแ แฃแแแ แแแแแแแกแ แคแแ แ แแฌแแงแแจแ, แแแกแจแ แแ แฃแแแ แแแคแ แแแแแก แฌแแ แกแฃแแแแแ แฉแแแแกแฃแแ แขแงแแแแแ.
3. แแแแแฌแงแแแขแแ แกแแญแแ แแ แแฃ แแ แ แแแแแแแแ แแแแก แจแแกแแซแแแแแแแแแแก แแแแแแแกแแ แแแ: แแแแแแแ, แแฃแแแก แแแ แขแงแแ แแ แ.แจ. แแแแแแฌแงแแแขแแ แ แ แแงแ แกแแญแแ แ แแ แแแแแแฃแจแแแแ แแแแแ แฌแแกแแแแ, แ แแแแ แช แขแงแแแแแ.
4. แแแแกแแแฆแแ แแ แ แ แฃแแแ แแแแแแแแ แแ แแแแแแแจแแก แแแแแแแแ แแแแแ, แแแกแแแแกแแช แขแแ แแแแ แฉแแแแ แฉแแแแก แแแแแแแกแแชแแ. แแแ แแ แแแแแกแแแ แแกแแ, แแแแ แแแแแชแแ แแ แฃแแแ แแแแแแแแชแแแแก แฌแแ แกแฃแแจแ: แแแแแแแจแแ แฃแแแ แแแแแแฎแแก แกแแแฃแแแ แ แแแแ แแแแแ แแ แแก, แ แแแแกแแช แแก แแฎแแ แกแแ แแแ แแแ. แแฃแแชแ, แฉแแแ แแกแแแ แแแแ แฃแแแแ แแกแ แแแแแแก แแแแแแแแ แแแก แแ แแแแก แ แแแแแแแแ แแแแแแ แแฅแแก.
แแแ แแแแ, แแก แแฃแแฏแแแแกแแแก แแแแกแขแแ แแ แแแแก: แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแ แแ แแ แแแแแ แคแแแแแฃแ แ แแแแแแแ แแแแ แงแแแแ แแแแแแแจแแกแแแแก แแญแแแ แ แแแแแแแแ.
แแแแ แแช, แงแแแแ แกแฎแแแฃแ แ แแแแแชแแแแกแ แแ แแแแแฎแฃแ แแแกแแก แฉแแแ แงแแแแแแแแก แแแแแแ แแชแฎแแแ แแแแแแแจแแก แแแแแแแแ แแแก, แ แแแแแแแช แคแแแแแ แจแแกแแซแแแแแแแแแก แแ แญแฃแ แแแแก. Dino Squad-แจแ แแแแแแแจแแแแ แแแแแขแ แแแแแแ แแแแแแแแ แแแก, แ แแแแแแกแแช แแฅแแ แกแแแแแแ แแ แแกแขแแแแแ แขแฃแแ แแแแแแขแ แแ แแกแ แแแแแแก แกแขแแแแแ แขแแแแ. แแแจแแแแช แแ, แแฃ แแแแแแแจแ แแกแแ แแก แฃแฉแแแฃแแ แแฃแแฎแแ แแ แขแงแแแแก แขแ แแแฅแขแแ แแ แแแแแแแก แแแแแแแจแแก แแแแแแแแ แแก แแแแแแแแ แก, แขแงแแแ แฃแแฃแแแแแแงแแคแก แแแก.
แแแกแแแ, แฉแแแ แแแแแแแ แแจแแแ แแแแแแแแ แแก แแแ แแฆแแก แแแแแชแแแแก แแ แจแแกแแซแแแแแแแแก แแแแแงแแแแแแก แฌแแ แขแแแก ECS-แแแ แแแแแชแแแแแแก แแแแแงแแแแแแ, แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แแแฌแงแแแแแแแช แแ.
แจแแแแแแ, แแแแแแแแแแแ แแแแแแแกแแ แแแฃแแ แแแแแแแจแแก แแแแแแแแ แแแแก แ แแแแฃแ แ แแแแแชแแ แฉแแแแแแแก แฃแแแแจแแแแแแ, แแแแขแแ แฃแคแ แ แแ แแแฃแฅแขแแฃแแ แแ แแแแแแ แแฃแแแ แแแ แขแแแ แแแ แแแแฆแแ.
แฅแกแแแแก แจแแงแแแแแแ แฃแแ แแแแ แแ แจแแแซแแแแ แแแแฎแกแแแก, แแแกแ แแฎแแแแ แแแฆแแแแแ แจแแกแแซแแแแแแ. แจแแแแฆแแแแก แแแแแกแแแแ แ แกแฎแแ แแแแแแแก แแกแแแแกแแ, แกแแ แแแ แแก แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแก แแฅแแก แแแแแกแ แแแแแแแกแแชแแ. แแก แแฃแแฏแแแแกแแแก แแ แแแแแแแจแแก แกแแแแแแจแ แแแแแชแแแแแแแก, แ แแแแแแช แแกแแ แแก แแ แแแแแแแจแแก แฎแแ แฏแแ, แ แแแแแกแแช แแกแ แแแแก. แแฃแแชแ, Dino Squad-แแกแแแแก แแ แฉแแแแแ แแฅ แแจแแแ แ แแงแ.
แ แ แแฅแแ แฃแแแ, แแ แงแแแแแคแ แแก แแแแแฎแแ แแกแแแ แฃแแแ แแแแแแฎแแแ แกแแ แแแ แแก แแแแแก แแแแแแแแแแจแ แแแแ แแแแแ แกแแ แแฃแแแ - แ แแแแ แช แแ แแแ แแแแกแขแแแก, แแกแแแ แแแแแจแแก แแแแแแแแ แแแก. แแฃ แแแ แ แกแแแฃแแแชแแ แแงแ แกแแกแขแแแแแแก แแแ แขแแแ แแแแแแแแแแ แฃแแ แแแแแซแแฎแแแ, แแแจแแ แแแกแจแ แฉแแแแ แฉแแแแก แแแแแแแกแแชแแแกแแแ แแ แแแ แฉแแแแแแแ แฌแงแแแแแ แแแ แงแฃแแแแ แแ แขแแขแแแ. แฉแแแ แแกแแแ แแแแ แซแแแแกแฎแแแแ แแแแฎแแ แฏแแ, แ แแ แแแกแแฎแแ แฎแแแแแ แงแแคแแแแงแ แแแกแแแ แแฃแจแแแแ.
2019 แฌแแแก แแแ แกแแแจแ (แแ แจแแกแแซแแแ แชแแขแ แแแ แ), Unity-แ แแแแแแขแ แกแ แฃแแ แแฎแแ แแแญแแ แ แแแแแฃแแแแแแแแ แคแแแแแฃแ แ แกแชแแแแแแกแแแแก. แฉแแแ แแแแแแฎแแ แชแแแแแ แแกแแแ แกแแ แแแ แแ แแแแแฎแแแแแก แจแแแแแ แแแแฅแแแก แแแจแแแแ, แ แแแแแ แแแแแแแแ แกแฌแ แแคแแ แแแแแจแแ แแ แคแแแแแฃแ แ แกแแแงแแ แ, แ แแแแแแช แกแแแ แแแ แงแแแแ แแแแฎแแกแแแแก.
แฉแแแ แแแแแแฃแ แกแแแแแแจแ แแแแฎแก แแแแแชแแ แกแแแฃแแแ แ แคแแแแแฃแ แ แกแชแแแ แแ แแแแ แแแแแแ แแชแฎแแ แกแชแแแแก โแแแกแฃแคแแแแแแแกโ แกแแญแแ แแแแ แแแแแแแแ แแแแฎแแก แแแแแชแแแแแแแแ แกแแแฃแแแชแแแก แแแแแแแแแแแ. แแแ แแแ แ แแแจแ, แแแ แแแแจแแแแแแแแแ แแแแแ แแ แแ แแแฃแฅแขแแฃแแแแ. แแแแ แแช, แจแแกแแซแแแแแแ แแแฎแแ แแแแแ แแแแกแแก แจแแชแแแแแแแก แแแแแแแ แแชแแแแแ, แ แแแแแแแช แฌแแ แแแแจแแ แแ แจแแแแฎแแแแแจแ, แแฃ แแ แแแ แแแแกแขแ แแแฃแจแแ แจแแชแแแแ แกแชแแแแก แแแกแฃแคแแแแแแแก แแแแจแ แแแแแจแแก แแฎแแแ แแแแแแแขแแแแก แแแแแขแแแแกแแก. แแกแแแ แจแแชแแแแแแแก แแแแแ แแแ แซแแแแ แแงแ แแ แแกแแแ แฎแจแแ แแ แแฌแแแแแแแ แคแแแแแฃแ แแแแแฅแขแแแก แแ แแ แแแแฎแแก แกแชแแแแแ แแแแ แ แแแแฎแจแ โแจแแแแแแแแแแโ.
แแแ แแ แแแแกแ, แฉแแแ แฉแแแแขแแ แแ แแแแแแ แแแแก แจแแกแแฎแแ, แจแแแซแแแแแแ แแฃ แแ แ แคแแแแแฃแ แ แกแชแแแแแแก แแแแแงแแแแแ แคแแแแแฃแ แ แกแแแงแแ แแก แแกแขแแ แแแก แจแแกแแแแฎแแ. แแแฃ แแแ แแแแแแ แแแแแงแแแแ แแ แ แแ แแ แกแชแแแ แแแแแแฃแ แแแแฎแจแ, แแ แแแแ 30 แกแชแแแ แแ แแแแแแแแ แแแแแแ แชแแแแฃแ แ แแฃแคแแ แ, แ แแแแแจแแช แจแแแแแฎแแแ แแแแแแ. แแแแแแแ, แแแ แแแแขแ แแฃแจแแแแแ, แแแแ แแ แฉแแแ แแ แแแแแแฎแแ แชแแแแแ แแแ: แแแ แแ แแฉแแแแ แแ แแแฃแฅแขแแฃแแแแแก แแแแฃแ แ แแ แแ, แแแแ แแ แแแแแฎแแแแ แกแแแแแแ แกแแ แแกแแ แชแแแแแแแแแก. แซแแแแ แแงแ แแแแก แแ แแแแแแแ แแแ, แแฃ แ แแแแ แแแแฅแชแแแแ แกแแ แแแ แ แแแแแแ แกแชแแแแ แแแแ แฎแแแก แแแแแแแแแแแจแ แแฃแจแแแแแกแแก. แแแแขแแ, แฉแแแ แแแแแชแแแ แฌแแกแ: โแแฃ แแก แแ แแ แแก แแแขแแฎแแแ, แแฃ แแแแคแแฅแกแแ แ".
แฌแงแแ แ: www.habr.com