예제 #1
0
        /// <summary>
        /// Creates a new editor presenter
        /// </summary>
        /// <param name="engine">The engine to use for rendering</param>
        /// <param name="universe">The universe to display</param>
        /// <param name="lighting">Shall lighting be used for rendering?</param>
        public EditorPresenter(Engine engine, Universe universe, bool lighting) : base(engine, universe)
        {
            #region Sanity checks
            if (engine == null)
            {
                throw new ArgumentNullException(nameof(engine));
            }
            if (universe == null)
            {
                throw new ArgumentNullException(nameof(universe));
            }
            #endregion

            Lighting = lighting;

            // Restore previous camera position (or default to center of terrain)
            var mainCamera = CreateCamera(universe.CurrentCamera);

            View = new View(Scene, mainCamera)
            {
                Name = "Editor", BackgroundColor = universe.FogColor
            };

            // Floating axis-arrows for easier orientation
            var axisArrows = new FloatingModel(XMesh.Get(engine, "Engine/AxisArrows.x"))
            {
                Name     = "AxisArrows",
                Alpha    = 160,
                Position = new DoubleVector3(-16, -12, 40),
                Rotation = Quaternion.RotationYawPitchRoll(0, 0, 0)
            };
            axisArrows.SetScale(0.03f);
            View.FloatingModels.Add(axisArrows);
        }
예제 #2
0
        public ActionResult FloatingEdit(FloatingModel model)
        {
            var floating = dbContextService.Single <FloatingModel>(model.Id);

            floating.JsonResult = model.JsonResult;

            floating.Version        = floating.JsonResult == model.JsonResult ? floating.Version : floating.Version + 1;
            floating.Status         = model.Status;
            floating.CreateDateTime = DateTime.Now;

            dbContextService.Update <FloatingModel>(floating);
            return(RedirectToAction("FloatingList"));
        }
예제 #3
0
        public ActionResult FloatingAdd(FloatingModel model)
        {
            var ret = dbContextService.Add <FloatingModel>(model);

            return(RedirectToAction("FloatingList"));
        }