Пример #1
0
        public async Task <IActionResult> Screate(StaticSlider sl)
        {
            if (sl.IPhoto == null)
            {
                ModelState.AddModelError("IPhoto", "Image should be selected");
                return(View(sl));
            }
            if (!sl.IPhoto.ContentType.Contains("image/"))
            {
                ModelState.AddModelError("IPhoto", "file is not Image ");
                return(View(sl));
            }
            if (sl.IPhoto.Length / 1024 / 1024 > 2)
            {
                ModelState.AddModelError("IPhoto", "Photo size is biggest");
                return(View(sl));
            }
            //save
            //Yaratdi 0b

            string path       = @"C:\Users\Ulvi\source\repos\Eatery\Eatery\wwwroot\img";
            string filename   = (Guid.NewGuid().ToString() + sl.IPhoto.FileName);
            string resultPath = Path.Combine(path, filename);

            using (FileStream fileStream = new FileStream(resultPath, FileMode.Create))
            {
                await sl.IPhoto.CopyToAsync(fileStream);
            }
            sl.Image = filename;

            db.StaticSliders.Add(sl);
            await db.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
Пример #2
0
        public override void Bind(Entity entity, Main main, bool creating = false)
        {
            entity.CannotSuspendByDistance = true;
            Transform transform    = entity.GetOrCreate <Transform>("Transform");
            Transform mapTransform = entity.GetOrCreate <Transform>("MapTransform");

            mapTransform.Selectable.Value = false;
            StaticSlider slider = entity.GetOrCreate <StaticSlider>("StaticSlider");

            Factory.Get <VoxelFactory>().InternalBind(entity, main, creating, mapTransform);
            slider.Add(new TwoWayBinding <Matrix>(slider.Transform, mapTransform.Matrix));
            slider.Add(new Binding <Matrix>(slider.EditorTransform, transform.Matrix));

            Voxel voxel = entity.Get <Voxel>();

            slider.Add(new Binding <Vector3>(voxel.LinearVelocity, slider.LinearVelocity));

            AkGameObjectTracker.Attach(entity, voxel.Transform);
            SoundKiller.Add(entity, AK.EVENTS.STOP_ALL_OBJECT);

            if (main.EditorEnabled)
            {
                entity.Add(new Binding <Matrix>(entity.GetOrCreate <SliderCommon>("SliderCommon").OriginalTransform, voxel.Transform));
            }

            entity.Add("Forward", slider.Forward);
            entity.Add("Backward", slider.Backward);
            entity.Add("OnHitMax", slider.OnHitMax);
            entity.Add("OnHitMin", slider.OnHitMin);

            entity.Add("Direction", slider.Direction);
            entity.Add("Minimum", slider.Minimum);
            entity.Add("Maximum", slider.Maximum);
            entity.Add("Speed", slider.Speed);
            entity.Add("Goal", slider.Goal);
            entity.Add("StartAtMinimum", slider.StartAtMinimum);
            entity.Add("EnablePhysics", voxel.EnablePhysics);
            entity.Add("Position", slider.Position, new PropertyEntry.EditorData {
                Readonly = true
            });
            entity.Add("MovementLoop", slider.MovementLoop, new PropertyEntry.EditorData {
                Options = WwisePicker.Get(main)
            });
            entity.Add("MovementStop", slider.MovementStop, new PropertyEntry.EditorData {
                Options = WwisePicker.Get(main)
            });

            entity.Add("UVRotation", voxel.UVRotation);
            entity.Add("UVOffset", voxel.UVOffset);

            if (main.EditorEnabled)
            {
                this.attachEditorComponents(entity, main);
            }
        }
Пример #3
0
        private void attachEditorComponents(Entity entity, Main main)
        {
            StaticSlider slider = entity.Get <StaticSlider>();

            EntityConnectable.AttachEditorComponents(entity, "Parent", slider.Parent);

            Transform  transform    = entity.Get <Transform>("Transform");
            Transform  mapTransform = entity.Get <Transform>("MapTransform");
            ModelAlpha model        = new ModelAlpha();

            model.Filename.Value = "AlphaModels\\cone";
            model.Serialize      = false;
            model.Add(new Binding <bool>(model.Enabled, Editor.EditorModelsVisible));
            entity.Add("DirectionModel", model);

            model.Add(new Binding <Matrix>(model.Transform, delegate()
            {
                Matrix m      = Matrix.Identity;
                m.Translation = transform.Position;

                if (slider.Direction == Direction.None)
                {
                    m.Forward = m.Right = m.Up = Vector3.Zero;
                }
                else
                {
                    Vector3 normal = Vector3.TransformNormal(slider.Direction.Value.GetVector(), mapTransform.Matrix);

                    m.Forward = -normal;
                    if (normal.Equals(Vector3.Up))
                    {
                        m.Right = Vector3.Left;
                    }
                    else if (normal.Equals(Vector3.Down))
                    {
                        m.Right = Vector3.Right;
                    }
                    else
                    {
                        m.Right = Vector3.Normalize(Vector3.Cross(normal, Vector3.Down));
                    }
                    m.Up = -Vector3.Cross(normal, m.Left);
                }
                return(m);
            }, transform.Position, mapTransform.Matrix, slider.Direction));
        }