Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
        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)));
            }
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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));
        }