Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TileSelectorElona.cs
Go to the documentation of this file.
1using System;
2using CreativeSpore.SuperTilemapEditor;
3using UnityEngine;
4
6{
8
9 public SpriteRenderer srHighlight;
10
11 public SpriteRenderer srHighlight2;
12
13 public SpriteRenderer srEmbarkPoint;
14
15 public Vector3 fixHighlight;
16
17 [NonSerialized]
18 public int gx;
19
20 [NonSerialized]
21 public int gy;
22
23 [NonSerialized]
24 public bool hasTargetChanged;
25
26 [NonSerialized]
27 public string textMouseOver;
28
30
31 public STETilemap fogmap => elomap.fogmap;
32
33 public override void OnRenderTile(Point point, HitResult result, bool shouldHide)
34 {
35 srHighlight.SetActive(!shouldHide);
36 if (result != HitResult.NoTarget && point.IsValid)
37 {
38 Vector3 vector = point.PositionTopdown();
39 srHighlight.transform.position = vector + fixHighlight;
40 int mouseGridX = TilemapUtils.GetMouseGridX(fogmap, EMono.scene.cam);
41 int mouseGridY = TilemapUtils.GetMouseGridY(fogmap, EMono.scene.cam);
42 if (EMono.debug.enable && Input.GetMouseButtonDown(2))
43 {
44 elomap.GetTileInfo(mouseGridX, mouseGridY);
45 }
46 }
47 }
48
49 public void OnUpdateInput()
50 {
51 int mouseGridX = TilemapUtils.GetMouseGridX(fogmap, EMono.scene.cam);
52 int mouseGridY = TilemapUtils.GetMouseGridY(fogmap, EMono.scene.cam);
53 if (elomap.GetCell(mouseGridX, mouseGridY) != null && (mouseGridX != gx || mouseGridY != gy))
54 {
55 gx = mouseGridX;
56 gy = mouseGridY;
57 hasTargetChanged = true;
58 textMouseOver = "";
59 Zone zone = elomap.GetZone(gx, gy);
60 if (zone != null)
61 {
62 textMouseOver = textMouseOver + " " + zone.Name;
63 }
64 srHighlight.transform.position = TilemapUtils.GetGridWorldPos(fogmap, gx, gy);
65 }
66 else
67 {
68 hasTargetChanged = false;
69 }
70 if (EMono.debug.enable)
71 {
73 }
74 bool enable = !EMono.ui.isPointerOverUI;
75 srHighlight.SetActive(enable);
76 srHighlight2.SetActive(enable: false);
77 bool isActive = ActionMode.Title.IsActive;
78 srEmbarkPoint.SetActive(isActive);
79 if (isActive)
80 {
81 srEmbarkPoint.transform.position = TilemapUtils.GetGridWorldPos(fogmap, EMono.player.zone.x, EMono.player.zone.y);
82 }
83 }
84}
HitResult
Definition: HitResult.cs:2
static AM_Title Title
Definition: ActionMode.cs:9
bool IsActive
Definition: ActionMode.cs:121
bool enable
Definition: CoreDebug.cs:285
Definition: EMono.cs:4
static Player player
Definition: EMono.cs:11
static Scene scene
Definition: EMono.cs:27
static UI ui
Definition: EMono.cs:15
static CoreDebug debug
Definition: EMono.cs:45
EloMap elomap
Definition: EloMapActor.cs:7
Definition: EloMap.cs:8
Cell GetCell(Point pos)
Definition: EloMap.cs:273
STETilemap fogmap
Definition: EloMap.cs:96
Zone GetZone(Point p)
Definition: EloMap.cs:420
TileInfo GetTileInfo(int gx, int gy)
Definition: EloMap.cs:287
Zone zone
Definition: Player.cs:883
Definition: Point.cs:9
ref Vector3 PositionTopdown()
Definition: Point.cs:545
bool IsValid
Definition: Point.cs:88
Camera cam
Definition: Scene.cs:37
virtual string Name
Definition: Spatial.cs:495
int y
Definition: Spatial.cs:106
int x
Definition: Spatial.cs:94
SpriteRenderer srEmbarkPoint
SpriteRenderer srHighlight2
SpriteRenderer srHighlight
override void OnRenderTile(Point point, HitResult result, bool shouldHide)
Definition: Zone.cs:12