File: mouse_cursor.ss

package info (click to toggle)
opensurge 0.6.1.3%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 47,404 kB
  • sloc: ansic: 62,066; sh: 739; makefile: 193; java: 110; xml: 66; javascript: 53
file content (65 lines) | stat: -rw-r--r-- 1,639 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// -----------------------------------------------------------------------------
// File: mouse_cursor.ss
// Description: mouse cursor plugin (Debug Mode)
// Author: Alexandre Martins <http://opensurge2d.org>
// License: MIT
// -----------------------------------------------------------------------------

/*

This plugin displays a mouse cursor on Desktop computers.

*/

using SurgeEngine;
using SurgeEngine.Actor;
using SurgeEngine.Camera;
using SurgeEngine.Vector2;
using SurgeEngine.Transform;
using SurgeEngine.Input.Mouse;
using SurgeEngine.UI.Text;

object "Debug Mode - Mouse Cursor" is "debug-mode-plugin", "detached", "private", "entity"
{
    actor = Actor("Debug Mode - Mouse Cursor");
    text = Text("GoodNeighbors");
    transform = Transform();

    state "main"
    {
        if(!actor.visible)
            return;

        // this entity is in screen space, not in world space
        transform.position = Mouse.position;
        text.text = cursorText();
    }

    fun onLoad(debugMode)
    {
        uiSettings = debugMode.plugin("Debug Mode - UI Settings");

        actor.zindex = uiSettings.zindex + 5000;
        text.zindex = actor.zindex;
    }

    fun cursorText()
    {
        worldPosition = Camera.screenToWorld(Mouse.position);

        xpos = Math.floor(worldPosition.x);
        ypos = Math.floor(worldPosition.y);

        return xpos + " , " + ypos;
    }

    fun constructor()
    {
        actor.visible = !SurgeEngine.mobile; // hide in mobile mode

        //text.visible = actor.visible;
        text.visible = false;
        text.align = "left";
        text.offset = Vector2(0, -16);
    }
}