public static IEnumerator DoSteamEffect(IPortraitable portrait, Color color) { ExplosionView ev = ObjectPoolManager.Instance.Get(EffectsManager.Instance.SteamBurst); ev.Play(); portrait.ParentToEffects(ev.gameObject); yield return(new WaitUntil(() => ev.IsDone)); ObjectPoolManager.Instance.Return(ev); }
public static IEnumerator DoSteamEffect(IPortraitable portrait, Color color) { ExplosionView ev = ObjectPoolManager.Instance.Get(EffectsManager.Instance.SteamBurst); ev.Play(); ev.Color = color; portrait.ParentToEffects(ev.gameObject); yield return(new WaitUntil(() => portrait.RectTransform != null)); Main.Instance.StartCoroutine(Shake(portrait.RectTransform, 100, 0.5f)); yield return(new WaitUntil(() => ev.IsDone)); ObjectPoolManager.Instance.Return(ev); }
/// <summary> /// Death effect for a portrait. /// </summary> /// <param name="portrait">The portrait.</param> /// <param name="effectHolder">The effect holder.</param> /// <param name="fadeDuration">Duration of the fade.</param> /// <returns></returns> public static IEnumerator DoDeathEffect(IPortraitable portrait, float fadeDuration) { Rect rect = portrait.RectTransform.rect; Vector2 dimensions = new Vector2(rect.width, rect.height); ExplosionView ev = ObjectPoolManager.Instance.Get(EffectsManager.Instance.Explosion); ev.Dimensions = dimensions; portrait.ParentToEffects(ev.gameObject); ev.Play(); yield return(DoHitSplat(portrait, "DEFEAT", Color.red, Util.GetSprite("skull-crossed-bones"))); yield return(new WaitUntil(() => ev)); ObjectPoolManager.Instance.Return(ev); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); explosions = ExplosionView.Attach(this); SetContentView(Resource.Layout.Main); views.Add(FindViewById(Resource.Id.image1)); views.Add(FindViewById(Resource.Id.image2)); views.Add(FindViewById(Resource.Id.image3)); views.Add(FindViewById(Resource.Id.image4)); views.Add(FindViewById(Resource.Id.image5)); views.Add(FindViewById(Resource.Id.image6)); views.Add(FindViewById(Resource.Id.clickToDestroy)); foreach (var view in views) { view.Click += OnViewClick; } }
private JsonResult GetUpDT(DataSourceRequest request, bool errorFlag, ExplosionView eV) { using (AdmShipDataContext dc = new AdmShipDataContext()) { if (eV != null) { var ls = dc.GetExplosionById(eV.Id).ToList(); if (ls.Any()) { var b = ls.First(); eV.Id = b.RoomId; eV.Fss = b.CategoryFSS; eV.Fz = b.CategoryFZ; eV.Pue = b.CategoryPUE; eV.BuildInvNumber = b.BuildInvNumber; eV.RoomName = b.RoomName; } } return(Json(new[] { eV }.ToDataSourceResult(request, ModelState))); } }
public ActionResult Grid_Update([DataSourceRequest] DataSourceRequest request, ExplosionView eV) { bool errorFlag = false; if (ModelState.IsValid) { using (AdmShipDataContext dc = new AdmShipDataContext()) { if (eV == null) { ModelState.AddModelError("EmptyField", "Не введены данные для сохранения"); errorFlag = true; return(GetUpDT(request, errorFlag, eV)); } var tmp = dc.FireExplosions.Where(w => w.Name_Room == eV.Name).ToList(); if (tmp.Count > 0) { ModelState.AddModelError("AlreadyExist", "Такая связь уже существует!"); errorFlag = true; return(GetUpDT(request, errorFlag, eV)); } dc.ExplosionInsertUpdateDelete(eV.Id, eV.Fss, eV.Fz, eV.Pue, eV.Name, "Update"); } } return(GetUpDT(request, errorFlag, eV)); }
public ActionResult Grid_Destroy([DataSourceRequest] DataSourceRequest request, ExplosionView eV) { bool errorFlag = false; if (ModelState.IsValid) { using (AdmShipDataContext dc = new AdmShipDataContext()) { dc.ExplosionInsertUpdateDelete(eV.Id, eV.Fss, eV.Fz, eV.Pue, eV.Name, "Delete"); } } return(GetUpDT(request, errorFlag, eV)); }
public ActionResult Grid_Create([DataSourceRequest] DataSourceRequest request, ExplosionView eV) { bool errorFlag = false; if (ModelState.IsValid) { try { using (AdmShipDataContext dc = new AdmShipDataContext()) { if (eV == null) { ModelState.AddModelError("EmptyField", "Не введены данные для сохранения!"); errorFlag = true; return(GetUpDT(request, errorFlag, eV)); } var tmp = dc.FireExplosions.Where(w => w.OID == eV.Id).ToList(); if (tmp.Count > 0) { ModelState.AddModelError("AlreadyExist", "Такая связь уже существует!"); errorFlag = true; return(GetUpDT(request, errorFlag, eV)); } eV.Id = dc.ExplosionInsertUpdateDelete(eV.Id, eV.Fss, eV.Fz, eV.Pue, eV.Name, "Insert"); } } catch (Exception ex) { errorFlag = true; ModelState.AddModelError("SqlError", "Невозможно добавить такую запись. Возможные причины: \n 1. Такая запись уже существует в базе данных.\n 2. Предложенная запись не соответствует требованиям базы данных."); return(GetUpDT(request, errorFlag, eV)); } } return(GetUpDT(request, errorFlag, eV)); }