private void Start() { _sceneObjects = GetComponentsInChildren <Transform>(); string filePath = "Assets/XmlScenes/" + _fileName + ".xml"; XmlSerializer serializer = new XmlSerializer(typeof(SceneObjectContainer)); FileStream stream = new FileStream(filePath, FileMode.Create); //Setting up the container SceneObjectContainer sceneObjectContainer = new SceneObjectContainer(); //starting at i = 1, so that we don't parse the level exporter itself for (int i = 1; i < _sceneObjects.Length; i++) { //adding objects to the container Transform currentTransform = _sceneObjects[i]; SceneObject sceneObject = CreateSceneObject(currentTransform); //Adding the newly created object to the list sceneObjectContainer.AddSceneObject(sceneObject); } //Creating the file serializer.Serialize(stream, sceneObjectContainer); stream.Close(); Debug.Log("Scenefile '" + _fileName + ".xml' created in Assets/XmlScenes"); }
private void OnTriggerEnter(Collider collider) { if (collider.tag == "Player") { SceneObjectContainer.OnSceneReload(); SceneManager.LoadScene(0); } }
protected override void Awake() { base.Awake(); thisRigidbody = GetComponent <Rigidbody2D>(); SceneObjectContainer.AddProjectileContainer(gameObject.tag); axis = axisAngle(angle); move = axis * moveSpeed; }
protected override void Awake() { base.Awake(); thisRigidbody = GetComponent <Rigidbody2D>(); playerAudio = GetComponent <AudioSource>(); playerGun_1 = thisTransform.GetChild(0).gameObject.GetComponent <Gun>(); playerGun_2 = thisTransform.GetChild(1).gameObject.GetComponent <Gun>(); thisTransform.parent = SceneObjectContainer.Player.transform; SceneObjectContainer.AddProjectileContainer(gameObject.tag); }
private void waitAllKilled() { if (currentWave.waitAllKilled) { activeEnemiesCount = SceneObjectContainer.EnemiesContainer_ActiveChildCount(); if (activeEnemiesCount == 0) { waveStage++; } } else { waveStage++; } }
public void AddObject(SceneObject sceneObject) { sceneObject.CurrentScene = this; var container = new SceneObjectContainer(sceneObject); _sceneObjects.Add(container); var graphics = sceneObject.GetGraphics(); if (graphics != null) { container.IsGraphicsExist = true; _rootContainerVisual.Children.InsertAtTop(graphics); } }
public void SelectPrefab(PrefabContainer container) { string sceneName = EditorSceneManager.GetActiveScene().name; if (sceneName.Equals("Level Editor") || sceneName.Equals("Region Editor")) { if (selectObject == null) { selectObject = new SceneObjectContainer(); } selectObject.SetObjectInfo(container); usingWalls = false; rotationSide = 0; } else { Debug.Log("You can only edit level in at the level editor scenes"); } }
void Awake() { SceneObjectContainer.CreateItemsContainer(); SceneObjectContainer.CreateProjectileMainContainer(); SceneObjectContainer.CreateDieEffectsContainer(); if (Player != null) { SceneObjectContainer.CreatePlayerContainer(); GameObject playertemp = Instantiate(Player); if (immortalPlayer) { playertemp.GetComponent <Destroyable>().immortal = true; } } if (Enemies != null) { SceneObjectContainer.CreateEnemiesContainer(); Instantiate(Enemies); } }
void OnAdd(bool instancing = false) { Event e = Event.current; Vector3 off = allowOffset ? offset : Vector3.zero; Vector2 guiPosition = Event.current.mousePosition; Ray ray = HandleUtility.GUIPointToWorldRay(guiPosition); if (selectObject == null) { selectObject = new SceneObjectContainer(); } if (selectObject.HasObject) { if (Physics.Raycast(ray, out hit, float.PositiveInfinity, LayerMask.GetMask("Grid", "LevelTerrain"))) { if (EditorSceneManager.GetActiveScene().name == "Level Editor") { AddIntoLevel(e, offset, instancing, ray); } else { if (hit.transform.GetComponent <RegionTerrain>()) { if (!usingWalls) { AddingObject(e, off, instancing); } else { AddingWall(e, off, instancing); } } } } } }
private void Awake() { selectObject = new SceneObjectContainer(); }
private void CacheProjectiles() { SceneObjectContainer.AddGunContainer(gameObject.name); int projectileArraySize = ProjectileLevels.Count; for (int i = 0; i < projectileArraySize; i++) { int projectileCount; Projectile tempPj = ProjectileLevels[i].Projectile.GetComponent <Projectile>(); GameObject pjCollector = new GameObject(); GameObject pjCollector_companion = new GameObject(); GameObject efCollector = new GameObject(); GameObject efCollector_companion = new GameObject(); pjCollector.name = ProjectileLevels[i].Projectile.name + "_collection"; pjCollector_companion.name = ProjectileLevels[i].Projectile.name + "_collection_companion"; efCollector.name = ProjectileLevels[i].Projectile.name + "_ef_collection"; efCollector_companion.name = ProjectileLevels[i].Projectile.name + "_ef_collection_companion"; pjCollector.transform.parent = SceneObjectContainer.Projectiles_gun_current.transform; pjCollector_companion.transform.parent = SceneObjectContainer.Projectiles_gun_current.transform; efCollector.transform.parent = SceneObjectContainer.Projectiles_gun_current.transform; efCollector_companion.transform.parent = SceneObjectContainer.Projectiles_gun_current.transform; //projectileCount calculate if (PauseLength == 0) { projectileCount = (int)(tempPj.Range / (tempPj.Speed * firerateCap) + 0.9f); } else { float pauseRange = tempPj.Speed * PauseLength; float rangeWoPause = tempPj.Range - pauseRange * (int)(tempPj.Range / ((shotsBetweenPause) * firerateCap + pauseRange)); projectileCount = (int)(rangeWoPause / (tempPj.Speed * firerateCap) + 0.9f); } ProjectileLevels[i].projectilesCached = new GameObject[projectileCount]; ProjectileLevels[i].projectilesCachedComponent = new Projectile[projectileCount]; if (Companion != null) { ProjectileLevels[i].projectilesCached_companion = new GameObject[projectileCount]; ProjectileLevels[i].projectilesCachedComponent_companion = new Projectile[projectileCount]; } else { Destroy(pjCollector_companion); Destroy(efCollector_companion); } ProjectileLevels[i].projectileCount = projectileCount; //Instantiate projectiles for (int j = 0; j < projectileCount; j++) { //player GameObject temp; temp = Instantiate(ProjectileLevels[i].Projectile, pjCollector.transform); temp.SetActive(false); ProjectileLevels[i].projectilesCached[j] = temp; ProjectileLevels[i].projectilesCachedComponent[j] = temp.GetComponent <Projectile>(); GameObject ef_pierce = ProjectileLevels[i].projectilesCachedComponent[j].PierceEffect_cached; if (ef_pierce != null) { ef_pierce.transform.SetParent(efCollector.transform); } GameObject ef_die = ProjectileLevels[i].projectilesCachedComponent[j].DieEffect_cached; if (ef_die != null) { ef_die.transform.SetParent(efCollector.transform); } //companion if (Companion != null) { temp = Instantiate(ProjectileLevels[i].Projectile, pjCollector_companion.transform); temp.SetActive(false); ProjectileLevels[i].projectilesCached_companion[j] = temp; ProjectileLevels[i].projectilesCachedComponent_companion[j] = temp.GetComponent <Projectile>(); GameObject ef_pierce_companion = ProjectileLevels[i].projectilesCachedComponent_companion[j].PierceEffect_cached; if (ef_pierce_companion != null) { ef_pierce_companion.transform.SetParent(efCollector_companion.transform); } GameObject ef_die_companion = ProjectileLevels[i].projectilesCachedComponent_companion[j].DieEffect_cached; if (ef_die_companion != null) { ef_die_companion.transform.SetParent(efCollector_companion.transform); } } } //Destroy empty effect collections if (efCollector.transform.childCount == 0) { Destroy(efCollector); } if (efCollector_companion.transform.childCount == 0) { Destroy(efCollector_companion); } } }