public void ShowProperty(MapEditorSpawnerController spawner) { selectedSpawner = spawner; gameObject.SetActive(true); inputAngle.text = selectedSpawner.GetAngle().ToString(); inputRadius.text = selectedSpawner.GetRadius().ToString(); if (selectedSpawner.spawnMethod == SpawnerMethodEditor.Point) { inputDistance.enabled = false; } else { inputDistance.enabled = true; } inputDistance.text = selectedSpawner.GetDistance().ToString(); inputSpawnInterval.text = selectedSpawner.SpawnInterval.ToString(); inputSpawnRate.text = selectedSpawner.SpawnRate.ToString(); inputMaxSpawn.text = selectedSpawner.MaxSpawn.ToString(); if (selectedSpawner.spawnType == SpawnerTypeEditor.Food) { buffOptionsPanel.SetActive(false); } else { buffOptionsPanel.SetActive(true); SetBuffToggle(selectedSpawner.GetListItem()); } }
private List <EditorSpawnerData> RegenerateSpawnerData() { int count = spawnerParent.childCount; List <EditorSpawnerData> spawnersData = new List <EditorSpawnerData>(); for (int i = 0; i < count; i++) { MapEditorSpawnerController controller = spawnerParent.GetChild(i).gameObject.GetComponent <MapEditorSpawnerController>(); spawnersData.Add(controller.GenerateData()); } return(spawnersData); }
void GenerateSpawner(List <EditorSpawnerData> spawners) { for (int i = 0; i < spawners.Count; i++) { EditorSpawnerData referenceData = spawners[i]; Object prefab = AssetManager.Instance.GetPrefabByKeyword(referenceData.assetCode); GameObject go = Instantiate(prefab) as GameObject; go.transform.SetParent(spawnerParent); MapEditorSpawnerController controller = go.AddComponent <MapEditorSpawnerController>(); controller.Init(referenceData); } }
public void OnPointerClick(PointerEventData eventData) { if (ToolboxManager.Instance.selectedTileType == ToolBoxTileType.Spawner) { Vector3 pressPosition = eventData.pointerPressRaycast.worldPosition; ToolBoxSpawnerTemplate template = (ToolBoxSpawnerTemplate)ToolboxManager.Instance.tileTemplate; Object prefab = AssetManager.Instance.GetPrefabByKeyword(template.assetCode); GameObject go = Instantiate(prefab) as GameObject; go.transform.SetParent(EditorTileManager.Instance.spawnerParent); MapEditorSpawnerController spawnControl = go.AddComponent <MapEditorSpawnerController>(); EditorSpawnerData spawnData = new EditorSpawnerData(); spawnData.assetCode = template.assetCode; spawnData.spawnerMethod = (int)template.spawnMethod; spawnData.spawnerType = (int)template.spawnerType; spawnData.spawnInterval = 1; spawnData.spawnRate = 1; spawnData.maxSpawn = 10; spawnData.radius = 0.5f; if (template.spawnMethod == SpawnerMethodEditor.Point) { spawnData.spawnStartPos = spawnData.spawnEndPos = new Vector2(pressPosition.x, pressPosition.y); } else if (template.spawnMethod == SpawnerMethodEditor.Line) { spawnData.spawnStartPos = new Vector2(pressPosition.x - 0.5f, pressPosition.y); spawnData.spawnEndPos = new Vector2(pressPosition.x + 0.5f, pressPosition.y); } spawnControl.Init(spawnData); Debug.Log("Spawner Spawn " + spawnData.assetCode); } }