コード例 #1
0
ファイル: EmBase.cs プロジェクト: cuongdv/stg
        public void Update()
        {
            if (CommandQueue.Count == 0)
            {
                return;
            }

            if (CurCommand != null)
            {
                return;
            }

            CurCommand = CommandQueue.Dequeue();

            CoroutineExecuter.StartCoroutine(CurCommand.Execute(CoroutineExecuter));
        }
コード例 #2
0
    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}");
        }
    }
コード例 #3
0
ファイル: LocalizationService.cs プロジェクト: afrokick/UniMU
    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);
                }
            }
        }));
    }
コード例 #4
0
 public override void Execute()
 {
     Retain();
     CoroutineExecuter.Execute(CoroutineCreatePartsWhileNeed());
 }
コード例 #5
0
 public override void Execute()
 {
     Retain();
     CoroutineExecuter.Execute(CoroutineInvulnerabitiy());
 }
コード例 #6
0
 public override void Execute()
 {
     Retain();
     CoroutineExecuter.Execute(CoroutineWaitForRemove());
 }