protected override void OnEventTrigger() { #if UNITY_EDITOR Debug.Log("Crystal event " + gameObject.GetInstanceID()); #endif PoolsManager.GetGameObjectsPool(EngineSettings.Crystals.CrystalsPoolTagName).Put(gameObject); }
private void Awake() { GemsOnBoard = new Gem[Columns, Rows]; PoolsManager.RegisterPool(_gemPool); _gemPool.Prefab = _gemPrefab.gameObject; _gemPool.Initialize(); }
private IEnumerator DestroyDelayed() { yield return(new WaitForSeconds(delayTime)); particle.Stop(); PoolsManager.GetGameObjectsPool(poolTagName).Put(gameObject); }
protected override IEnumerator Action() { yield return(new WaitForSecondsRealtime( character.CharacterAnimator.GetCurrentAnimatorStateInfo(0).length + delayAfterAnimationIsFinished )); actualBullet = PoolsManager.GetObjectFromPools(bulletPrefab).GetComponent <Bullet>(); actualBullet.gameObject.SetActive(true); if (target != null) { RotateActualBulleTowardsDirection(GetTargetDirection()); } else { RotateActualBulleTowardsDirection(GetTargetDirection(lastTargetPosition)); } actualBullet.Launch(launchForce); actualBullet = null; PlaySfx(); yield break; }
private void Awake() { if (Instance == null) { Instance = this; } }
/// <summary> /// Спауним префаб /// </summary> public void ShowPrefab() { if (prefab == null) { prefab = PoolsManager.Spawn(prefabName, new Vector3(position.x, position.y, 0), Quaternion.identity); prefab.transform.SetParent(GameObject.FindGameObjectWithTag("MapLayer").transform);//инкапсулировать } }
private void CreateCurrentBullet() { if (Time.timeSinceLevelLoad > lastShoot + cooldown && actualBullet == null) { actualBullet = PoolsManager.GetObjectFromPools(bulletPrefab).GetComponent <SpookyBullet>(); actualBullet.transform.position = shootPoint.position; } }
public void DestroyPlatform() { if (crystalRelated != null) { EventMonoBehaviour.TriggerObject(crystalRelated); crystalRelated = null; } PoolsManager.GetGameObjectsPool(EngineSettings.Platforms.PlatformsPoolTagName).Put(gameObject); }
protected virtual void OnCollisionEnter(Collision _collision) { foreach (string tag in damageComponent.DamageTags) { if (_collision.gameObject.CompareTag(tag)) { VisualEffects.CreateVisualEffect(hitVfx, transform); PoolsManager.ReturnObjectToPools(this); } } }
private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } }
public void GenerateCrystal() { var crystalChance = Random.Range(0, 100); if (crystalChance <= EngineSettings.Crystals.SpawnRandomChance) { var crystalGameObject = PoolsManager.GetGameObjectsPool(EngineSettings.Crystals.CrystalsPoolTagName).Take(); crystalGameObject.transform.position = transform.position + centerPosition; crystalGameObject.transform.parent = transform; crystalRelated = crystalGameObject; } }
public void TakeCrystal() { if (crystalRelated != null) { var particle = PoolsManager.GetGameObjectsPool(EngineSettings.Crystals.CrystalParticlesTagName).Take(); particle.transform.position = crystalRelated.transform.position + new Vector3(0f, 0.5f, 0f); particle.GetComponent <Particles.Particle>().PlayParticle(); EventMonoBehaviour.TriggerObject(crystalRelated); crystalRelated = null; EventsManager.CallEvent(Events.AddCrystal); } }
private void Awake() { if (Instance == null) { Instance = this; } else if (Instance != this) { Destroy(gameObject); } // DontDestroyOnLoad(gameObject); InitPools(); }
private void OnGUI() { GUILayout.BeginVertical(GUI.skin.box, GUILayout.Width(200)); foreach (var pool in poolObj.pools) { GUILayout.Label("Spawned: " + pool.spawnedCount + "/" + pool.totalCount); } if (GUILayout.Button("Despawn all")) { PoolsManager.DespawnAll(); } GUILayout.EndVertical(); }
private CargoEntity SpawnCargo() { var cargoObject = PoolsManager.GetGameObjectsPool(cargoList[randomCargoTypes[currentCargoIndex]].PoolName).Take(); var cargoEntity = cargoObject.GetComponent <CargoEntity>(); currentCargoIndex++; if (currentCargoIndex == cargoList.Count) { randomCargoTypes.Shuffle(random); currentCargoIndex = 0; } return(cargoEntity); }
private void Awake() { if (PoolsManager.instance == null) { PoolsManager.instance = this; } else if (PoolsManager.instance != this) { Destroy(PoolsManager.instance.gameObject); PoolsManager.instance = this; } InitPools(); }
protected IEnumerator CorrosiveEffect() { startTime = Time.timeSinceLevelLoad; while (Time.timeSinceLevelLoad < startTime + corrosiveDuration) { foreach (Character enemy in enemiesOnField) { var healthComponent = enemy.GetComponent <Health>(); if (healthComponent) { healthComponent.TakeDamage(corrosiveDamage); } } yield return(timeToDamage); } PoolsManager.ReturnObjectToPools(this); }
protected override IEnumerator Action() { if (character != null) { EventManager.TriggerEvent <CharacterEvent>(new CharacterEvent(CharacterEventType.Release, character)); } // Stop the action executiong because the animation has already end. if (poolableOBJ) { PoolsManager.ReturnObjectToPools(poolableOBJ); } else { character.gameObject.SetActive(false); } yield break; }
public IEnumerator Kill() { PoolableObject poolableCharacter = GetComponent <PoolableObject>(); if (poolableCharacter != null) { yield return(CharacterDeath()); PoolsManager.ReturnObjectToPools(poolableCharacter); } else if (poolableCharacter == null) { yield return(CharacterDeath()); Destroy(gameObject); } VisualEffects.CreateVisualEffect(deathVfx, transform); yield break; }
private void SpawnEnemy(string _enemyID) { Character tempEnemy = null; switch (_enemyID) { case "Stealer": tempEnemy = PoolsManager.GetObjectFromPools(enemiesPrefabs[0]).GetComponent <Character>(); break; case "Attacker": tempEnemy = PoolsManager.GetObjectFromPools(enemiesPrefabs[1]).GetComponent <Character>(); break; default: break; } tempEnemy.transform.position = LevelManager.Instance.GetRandomSpawnPoint().position; return; }
void Start() { Instance = this; pool = PoolManager.Pools.Create("MapPool"); pool.group.localPosition = new Vector3(0, 0, 0); pool.group.localRotation = Quaternion.identity; for (int i = 0; i < prefabs.Length; i++) { PrefabPool prefabPool = new PrefabPool(prefabs[i]); prefabPool.preloadAmount = counts[i]; prefabPool.cullDespawned = true; prefabPool.cullAbove = counts[i]; prefabPool.cullDelay = 2; prefabPool.limitInstances = false; pool.CreatePrefabPool(prefabPool); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); EditorGUILayout.Separator(); PoolsManager poolsManager = target as PoolsManager; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Pools", GUILayout.Width(EditorGUIUtility.currentViewWidth)); EditorGUILayout.EndHorizontal(); if (poolsManager.pools == null) { return; } var keys = poolsManager.pools.Keys; foreach (Type key in keys) { GameObjectPool objectPool; if (poolsManager.pools.TryGetValue(key, out objectPool)) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(key.Name, GUILayout.Width(EditorGUIUtility.currentViewWidth)); EditorGUILayout.EndHorizontal(); foreach (Spawnable spawnable in objectPool.pool) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.ObjectField(spawnable, typeof(Spawnable), false, GUILayout.Width(EditorGUIUtility.currentViewWidth)); EditorGUILayout.EndHorizontal(); } } } }
void Awake() { // Subscribe to the pool manager and create all the object collections. PoolsManager.SubscribePool(this); FillPool(); }
private void Start() { poolObj = PoolsManager.Instance; StartCoroutine(RandomSpawning()); }
// Usually occurs when the scene changes. void OnDestroy() { // Must do this because the manager is static and we don't want to keep old pools data. PoolsManager.UnSubscribePool(this); }
private void Start() { PoolsManager.RegisterPool(pool); pool.Initialize(); StartCoroutine(Spawn()); }
/// <summary /// Start this instance. /// </summary> void Start() { CustomLogger.LogIt("--- Starting Logging ---"); //Enable Background Running //Application.runInBackground = true; INIParser ini = new INIParser(); // Open the save file. If the save file does not exist, INIParser automatically create // one ini.Open(Application.dataPath + "/MayaVerse.ini"); if (ini.IsKeyExists("NetworkConfig", "ServerIP")) { ipAddress = ini.ReadValue("NetworkConfig", "ServerIP", "127.0.0.1"); Debug.Log("ServerIP: " + ipAddress); } else { ini.WriteValue("NetworkConfig", "ServerIP", "127.0.0.1"); Debug.Log("ServerIP: " + ipAddress); } if (ini.IsKeyExists("NetworkConfig", "ServerPort")) { portNumber = ini.ReadValue("NetworkConfig", "ServerPort", 4296); Debug.Log("ServerPort: " + portNumber.ToString()); } else { ini.WriteValue("NetworkConfig", "ServerPort", 4296); Debug.Log("ServerPort: " + portNumber.ToString()); } if (ini.IsKeyExists("AvatarConfig", "AvatarName")) { AvatarName = ini.ReadValue("AvatarConfig", "AvatarName", "Vytek75"); Debug.Log("AvatarName: " + this.AvatarName); } else { ini.WriteValue("AvatarConfig", "AvatarName", "Vytek75"); Debug.Log("AvatarName: " + this.AvatarName); } if (ini.IsKeyExists("AvatarConfig", "AvatarPassword")) { AvatarPassword = ini.ReadValue("AvatarConfig", "AvatarPassword", "test1234!"); Debug.Log("AvatarPassword: "******"AvatarConfig", "AvatarPassword", "test1234!"); Debug.Log("AvatarPassword: "******"Network idle."); StartClient(ipAddress); Debug.Log("Network Started."); //serverConn.SendBytes(new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, SendOption.Reliable); //DEBUG SendMessageToServer((sbyte)CommandType.LOGIN); //Add PLAYER_JOIN MESSAGE (SENDTOOTHER) NOT HERE TIMER/THREAD PROBLEM //SendMessage(SendType.SENDTOOTHER, PacketId.PLAYER_JOIN, 0, this.UID, true, PlayerME.transform.position, PlayerME.transform.rotation); lastPosition = PlayerME.transform.position; lastRotation = PlayerME.transform.rotation; Debug.Log("Network Trasmitted."); //START POOL MANAGER FOR NETWORKOBJECTS Debug.Log("Pool Manager started."); poolObj = PoolsManager.Instance; }
public void DestroyObject() { transform.rotation = Quaternion.identity; PoolsManager.GetGameObjectsPool(cargoList[cargoEntityType].PoolName).Put(gameObject); }