Exemple #1
0
        public override string GetCursor(int2 pos)
        {
            if (world == null || !hasRadar)
            {
                return(null);
            }

            var loc = MinimapPixelToCell(pos);

            var mi = new MouseInput
            {
                Location  = loc,
                Button    = MouseButton.Right,
                Modifiers = Game.GetModifierKeys()
            };

            var cursor = world.OrderGenerator.GetCursor(world, loc, mi);

            if (cursor == null)
            {
                return("default");
            }

            return(CursorProvider.HasCursorSequence(cursor + "-minimap") ? cursor + "-minimap" : cursor);
        }
Exemple #2
0
        public void InitializeLoaders()
        {
            // all this manipulation of static crap here is nasty and breaks
            // horribly when you use ModData in unexpected ways.
            ChromeMetrics.Initialize(Manifest.ChromeMetrics);
            ChromeProvider.Initialize(Manifest.Chrome);
            VoxelLoader = new VoxelLoader();

            CursorProvider = new CursorProvider(this);
        }
Exemple #3
0
        public void InitializeLoaders(IReadOnlyFileSystem fileSystem)
        {
            // all this manipulation of static crap here is nasty and breaks
            // horribly when you use ModData in unexpected ways.
            ChromeMetrics.Initialize(this);
            ChromeProvider.Initialize(this);

            Game.Sound.Initialize(SoundLoaders, fileSystem);

            CursorProvider = new CursorProvider(this);
        }
Exemple #4
0
 public void InitializeLoaders()
 {
     // all this manipulation of static crap here is nasty and breaks
     // horribly when you use ModData in unexpected ways.
     ChromeMetrics.Initialize(Manifest.ChromeMetrics);
     ChromeProvider.Initialize(Manifest.Chrome);
     SheetBuilder = new SheetBuilder(SheetType.Indexed);
     SpriteLoader = new SpriteLoader(new string[] { ".shp" }, SheetBuilder);
     VoxelLoader  = new VoxelLoader();
     CursorProvider.Initialize(Manifest.Cursors);
 }
Exemple #5
0
        static void Tick(OrderManager orderManager)
        {
            if (orderManager.Connection.ConnectionState != lastConnectionState)
            {
                lastConnectionState = orderManager.Connection.ConnectionState;
                ConnectionStateChanged(orderManager);
            }

            TickInner(orderManager);
            if (worldRenderer != null && orderManager.world != worldRenderer.world)
            {
                TickInner(worldRenderer.world.orderManager);
            }

            using (new PerfSample("render"))
            {
                ++RenderFrame;

                // worldRenderer is null during the initial install/download screen
                if (worldRenderer != null)
                {
                    Renderer.BeginFrame(worldRenderer.Viewport.TopLeft.ToFloat2(), worldRenderer.Viewport.Zoom);
                    Sound.SetListenerPosition(worldRenderer.Position(worldRenderer.Viewport.CenterLocation));
                    worldRenderer.Draw();
                }
                else
                {
                    Renderer.BeginFrame(float2.Zero, 1f);
                }

                using (new PerfSample("render_widgets"))
                {
                    Ui.Draw();
                    var cursorName = Ui.Root.GetCursorOuter(Viewport.LastMousePos) ?? "default";
                    CursorProvider.DrawCursor(Renderer, cursorName, Viewport.LastMousePos, (int)cursorFrame);
                }

                using (new PerfSample("render_flip"))
                {
                    Renderer.EndFrame(new DefaultInputHandler(orderManager.world));
                }
            }

            PerfHistory.items["render"].Tick();
            PerfHistory.items["batches"].Tick();
            PerfHistory.items["render_widgets"].Tick();
            PerfHistory.items["render_flip"].Tick();

            delayedActions.PerformActions();
        }
Exemple #6
0
    private void LateUpdate()
    {
        Vector3    Position = gaze.Position;
        Vector3    Normal   = gaze.Normal;
        GameObject Object   = gameObject;

        if (gaze.Hit)
        {
            Object = gaze.HitInfo.collider.gameObject;
        }

        CursorProvider Provider = Object.GetComponentInParent <CursorProvider>();

        if (Provider)
        {
            //Provider.ShowCursor(Position, Normal);
        }
    }
Exemple #7
0
        public void LoadInitialAssets()
        {
            // all this manipulation of static crap here is nasty and breaks
            // horribly when you use ModData in unexpected ways.

            FileSystem.UnmountAll();
            foreach (var dir in Manifest.Folders)
            {
                FileSystem.Mount(dir);
            }

            AvailableMaps = FindMaps(Manifest.Mods);

            Palette = new HardwarePalette();
            ChromeMetrics.Initialize(Manifest.ChromeMetrics);
            ChromeProvider.Initialize(Manifest.Chrome);
            SheetBuilder = new SheetBuilder(TextureChannel.Red);
            SpriteLoader = new SpriteLoader(new string[] { ".shp" }, SheetBuilder);
            CursorProvider.Initialize(Manifest.Cursors);
            Palette.Update(new IPaletteModifier[] { });
        }
Exemple #8
0
    private void LateUpdate()
    {
        Vector3    Position = targetProvider.Position;
        Vector3    Normal   = targetProvider.Normal;
        GameObject Object   = gameObject;

        if (targetProvider.Hit)
        {
            Object = targetProvider.HitInfo.collider.gameObject;
        }
        this.transform.position = Position;
        this.transform.up       = Normal;
        CursorProvider Provider = Object.GetComponentInParent <CursorProvider>();

        if (Provider)
        {
            this.transform.localScale             = Provider.transform.lossyScale;
            this.GetComponent <MeshFilter>().mesh = Provider.HoverCursor;
        }
        else
        {
            this.GetComponent <MeshFilter>().mesh = defaultMesh;
        }
    }