Пример #1
0
        public async void PayFactory(object o)
        {
            while (true)
            {
                if (RocketList.Count == 0)
                {
                    return;
                }

                if (Agents.Count > 0)
                {
                    var r      = o as Rocket;
                    var rocket = RocketList.Find(x => x.LogicObj.Equals(r));

                    var m = await Agents.ReceiveAsync();

                    if (m != null && rocket != null)
                    {
                        Thread.Sleep(1500);
                        if (RocketList.Contains(rocket))
                        {
                            m.DoWork(rocket.LogicObj);
                            Rocket_Dead(r);
                        }
                    }
                    Agents.Post(m);
                    return;
                }
                else
                {
                    Thread.Sleep(1000);
                }
            }
        }
Пример #2
0
        public void Rocket_Dead(Rocket sender)
        {
            var ui = RocketList.Find(x => x.LogicObj.Equals(sender));

            if (ui != null)
            {
                Thread.Sleep(200);
                RocketList.Remove(ui);
            }
        }
Пример #3
0
    public void Init()
    {
        Localization.selectLanguage("RU");
        m_gameSpeed = 1.0f;

        var rocketPrefab = RocketList.GetRocketPrefab(0);
        var enginePrefab = RocketList.GetEnginePrefab(0);

        m_rocketControl = RocketControl.Create(rocketPrefab, enginePrefab, m_playerTransform);
        OnRocketCreated?.Invoke(m_rocketControl);

        soundController.PlayMusic(Resources.Load <AudioClip>(AudioList.getAudioPath(getAudioNames() [0])));

        SetPause(true);
    }