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());
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }