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); } } }
public void Rocket_Dead(Rocket sender) { var ui = RocketList.Find(x => x.LogicObj.Equals(sender)); if (ui != null) { Thread.Sleep(200); RocketList.Remove(ui); } }
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); }