public void Update() { if (CommandQueue.Count == 0) { return; } if (CurCommand != null) { return; } CurCommand = CommandQueue.Dequeue(); CoroutineExecuter.StartCoroutine(CurCommand.Execute(CoroutineExecuter)); }
public void HandlePacket(object sender, Packet packet) { var packetType = packet.Code; if (Handlers.TryGetValue(packetType, out IPacketHandler packetHandler)) { CoroutineExecuter.ExecuteOnUpdate(() => { log.Debug($"handle packet with {packetHandler.GetType().Name}"); packetHandler?.HandlePacket(sender, packet); }); } else { log.Error($"Can't find packet handler for packet:{packet}"); } }
public void UpdateFromServer(Action <bool> callback) { CoroutineExecuter.Execute(LoadJSON(URL, (json, raw) => { if (json == null) { UpdateLocal(callback); return; } var status = json["status"].AsInt; if (status != 200) { UpdateLocal(callback); return; } try { FillLanguages(json); DiskStorage.WriteText(LOCAL_LANG_FILE, raw); if (callback != null) { callback(false); } } catch { if (callback != null) { callback(true); } } })); }
public override void Execute() { Retain(); CoroutineExecuter.Execute(CoroutineCreatePartsWhileNeed()); }
public override void Execute() { Retain(); CoroutineExecuter.Execute(CoroutineInvulnerabitiy()); }
public override void Execute() { Retain(); CoroutineExecuter.Execute(CoroutineWaitForRemove()); }