blob: b8d9b0c80b7c6cc7b9cef0b060bf92bec2397b00 (
plain)
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
|
using UnityEngine;
using System.Collections;
namespace Pathfinding.Examples.RTS {
[HelpURL("https://arongranberg.com/astar/documentation/stable/rtsunitbuilder.html")]
public class RTSUnitBuilder : MonoBehaviour {
[System.Serializable]
public class BuildingItem {
public GameObject prefab;
public int cost;
public RTSUI.MenuItem menuItem;
}
public BuildingItem[] items;
RTSUnit unit;
RTSUI.Menu menu;
void Awake () {
unit = GetComponent<RTSUnit>();
unit.onMakeActiveUnit += (bool active) => {
if (active) {
menu = RTSUI.active.ShowMenu();
for (int i = 0; i < items.Length; i++) {
var item = items[i];
menu.AddItem(item.menuItem, () => {
RTSUI.active.StartBuildingPlacement(item);
});
}
} else if (menu != null) menu.Hide();
};
}
}
}
|