예제 #1
0
    public void RpcDie(int killerId)
    {
        var data = new DieData();

        data.Victim   = name;
        data.IsVictim = photonView.IsMine;
        var view = PhotonView.Find(killerId);

        data.Killer   = view.name;
        data.IsKiller = view.Owner == PhotonNetwork.LocalPlayer;
        var msg = new MsgData()
        {
            Type = GameConst.MsgDie, Data = data
        };

        if (data.IsVictim)
        {
            Observable.Timer(System.TimeSpan.FromSeconds(3)).Subscribe(_ => PhotonNetwork.Destroy(gameObject)).AddTo(this);
        }
        else
        {
            _message.Publish(msg);
        }
        MessageBroker.Default.Publish(msg);
    }
예제 #2
0
        public Task <NemocSummary> LoadData()
        {
            Task <NemocSummary> taskSum = covidService.GetCovidSummary();

            taskSum.ContinueWith(result =>
            {
                _summary   = result.Result;
                Recovered  = _summary.recovered;
                Deceased   = _summary.deceased;
                Infected   = _summary.infected;
                TotalTesty = _summary.totalTested;
                Datum      = _summary.lastUpdatedAtSource;
                try
                {
                    DayIncrease = _summary.infectedDaily.Last().value;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });

            Task <DieData> taskDie = covidService.GetDieList();

            taskDie.ContinueWith(result =>
            {
                _dies            = result.Result;
                DieDay today     = _dies.data.Last();
                DieDay yesterday = _dies.data[_dies.data.Count - 2];
                Console.WriteLine($"{today.datum}; {yesterday.datum}");
                DayDeceased = today.kumulativni_pocet_umrti - yesterday.kumulativni_pocet_umrti;
            });

            Task <TestData <HospitalizaceData> > taskHospitalizace = covidService.GetHospitalizaceList();

            taskHospitalizace.ContinueWith(result =>
            {
                TestData <HospitalizaceData> hospitalizace = result.Result;
                if (hospitalizace != null)
                {
                    HospitalizaceData last = hospitalizace.data.Last <HospitalizaceData>();
                    Hospitalizace          = last.pocet_hosp;
                    HospitalizaceHard      = last.stav_tezky;
                }
            });


            Task <TestData <TestDen> > taskTest = covidService.GetTestyList();

            taskTest.ContinueWith(result =>
            {
                _testy       = result.Result;
                TestDen last = _testy.data.Last();
            });

            return(taskSum);
        }
예제 #3
0
    public void Die()
    {
        if (changeWorldRoutine != null)
        {
            StopCoroutine(changeWorldRoutine);
        }
        transform.position = level.respawnPos.position;
        isCanControl       = false;
        rb.gravityScale    = 0.0f;
        rb.velocity        = Vector3.zero;
        Time.timeScale     = timescale.y;
        currWorld          = 0;
        if (level.isActiveAndEnabled)
        {
            mainMenu.ToNormalWorldLens(changeTime, true);
        }
        else
        {
            mainMenu.ToNegativeWorldLens(changeTime, true);
        }
        level.Awake();

        DieData dieData = dieDatas[currDieDialog];

        float allTime = 0.0f;

        for (byte i = 0; i < dieData.time.Length; ++i)
        {
            int curr = i;
            LeanTween.delayedCall(allTime, () => {
                LeanTween.cancel(dieData.dialog.gameObject);
                dieData.texts[curr].gameObject.SetActive(true);
                if (curr != 0)
                {
                    dieData.texts[curr - 1].gameObject.SetActive(false);
                }
                dieData.dialog.localPosition = Vector3.zero;
                LeanTween.moveLocalY(dieData.dialog.gameObject, dieData.time[curr] * dieData.speed[curr], dieData.time[curr]);
            });

            allTime += dieData.time[i];
        }

        LeanTween.delayedCall(allTime, () => {
            dieData.texts[dieData.time.Length - 1].gameObject.SetActive(false);
            rb.gravityScale = 2.0f;
            if (currDieDialog != dieDatas.Length - 1)
            {
                ++currDieDialog;
            }
            else
            {
                dieData.texts[0].text += "?";
            }
        });
    }
예제 #4
0
        public async Task <DieData> GetDieList()
        {
            var result = await client.Get <DieData>(urlDieData, null, async response =>
            {
                var content   = await response.Content.ReadAsStringAsync();
                DieData items = JsonConvert.DeserializeObject <DieData>(content);
                return(items);
            });

            return(result);
        }