public static void Init(){ if(instance!=null) return; GameObject obj=new GameObject(); obj.name="ObjectPoolManager"; instance=obj.AddComponent<ObjectPoolManager>(); }
public void Update() { if (delay.Check()) { ObjectPoolManager.GetObjectPool(gameObject).PushItem(gameObject); } else { gameObject.transform.position += Vector3.up * speedY; } }
void Awake() { if (mObjectPoolManagerInstance == null) { mObjectPoolManagerInstance = this; } else if (mObjectPoolManagerInstance != this) { Destroy(gameObject); } }
private void Awake() { if (Instance != this && Instance != null) { Destroy(this.gameObject); } else { Instance = this; } }
IEnumerator GenerateObstacles() { yield return(new WaitForSeconds(spawnDelay)); if (isActive) { ObjectPoolManager.CreateInstance(obstaclePrefabs[Random.Range(0, obstaclePrefabs.Length)], transform.position); ResetSpawnDelay(); } StartCoroutine(GenerateObstacles()); }
void Hit(int i) { //~ missile[i].localPosition=defaultPos[i]; hit += 1; ObjectPoolManager.Spawn(hitEffect, missile[i].position, Quaternion.identity); if (hit == missile.Length) { StartCoroutine(DeactivateSelf()); } }
private void Awake() { if (instance == null) { instance = this; } else { Destroy(this.gameObject); } }
IEnumerator VisibleCoroutine() { guideObject = ObjectPoolManager.GetObjectPool(guidePrefab).PopItem(); while (isEnabled) { guideObject.transform.position = CameraUtil.GetMouseWorldPosition(Camera.main); yield return(null); } ObjectPoolManager.GetObjectPool(guideObject).PushItem(guideObject); yield return(null); }
public static LoadedUnityItem Instantiate(Type type, string name, int size, string additonalDesc = null) { LoadedUnityItem loadedUnityItem = ObjectPoolManager.Acquire <LoadedUnityItem>(); loadedUnityItem.objectType = type; loadedUnityItem.objectName = name; loadedUnityItem.hitCount = 0; loadedUnityItem.objectBytes = size; loadedUnityItem.subDesc = additonalDesc; return(loadedUnityItem); }
private void Awake() { if (_instance != null && _instance != this) { Destroy(this); } else { _instance = this; } }
public void Awake() { //Create singleton if (singleton == null) { singleton = this; } else { Destroy(this); } }
public void Init(IEnumerable <IInputWrapper> inputs, IEnumerable <ScrollableMenuItem> items) { foreach (var item in items) { var view = ObjectPoolManager.Create <ScrollableMenuItemView>(GamePrefabs.Instance.ScrollableMenuItemViewPrefab, parent: layoutRectTransform_.gameObject); view.Init(item, onCallbackInvoked: Hide); } selectionView_ = ObjectPoolManager.CreateView <ElementSelectionView>(GamePrefabs.Instance.ElementSelectionViewPrefab); selectionView_.OnSelectableHover += HandleNewSelection; selectionView_.Init(inputs, layoutRectTransform_.gameObject); }
private IEnumerator clickTimer; // 클릭 타이머 코루틴 // 초기화 private void Awake() { createdBlockList = new List <GameObject>(); ResourceLoader.Load("Effects/Block"); ObjectPoolManager.Create("BlockCreated", ResourceLoader.Get("BlockCreated"), 10, transform); ObjectPoolManager.Create("CountExcess", ResourceLoader.Get("CountExcess"), 20, transform); ObjectPoolManager.Create("SpaceNarrower", ResourceLoader.Get("SpaceNarrower"), 20, transform); clickTimer = ClickTimer(); }
public AudioSource GetSource(string template) { var prefab = GetTemplate(template); Assert.IsNotNull(prefab, string.Format("<AudioSource> with name '{0}' not exist!", template)); var go = ObjectPoolManager.AddChild(gameObject, prefab); go.SetActive(true); return(go.GetComponent <AudioSource>()); }
void Update() { if (!ps.IsAlive()) { isDead = true; } if (isDead) { ps.Simulate(0.0f, true, true); ObjectPoolManager.Recycle(gameObject); } }
public void Attack(GameObject _target) { SoundManager.Instance().Play("Arrow_Launch"); GameObject go = ObjectPoolManager.Instance().SpawnObject("Missile", launchPos.position, Quaternion.identity); go.GetComponent <Bullet>().player = player; float fixedDamage = damage * attackCD; go.GetComponent <Bullet>().Launch(_target, fixedDamage); }
// Use this for initialization void Start() { //オブジェクトプール pool_Manager = ObjectPoolManager.Instance; pool_Manager.Create_New_Pool(scales_Bullet, 10); pool_Manager.Create_New_Pool(green_Rice_Bullet, 40); pool_Manager.Create_New_Pool(red_Bullet, 2); //取得 player = GameObject.FindWithTag("PlayerTag"); _shoot = GetComponent <ShootFunction>(); _bullet_Acc = GetComponent <BulletAccelerator>(); }
public static void Show(InputDevice inputDevice, IEnumerable <ScrollableMenuItem> items) { if (popup_ != null) { CleanupPopup(); } popup_ = ObjectPoolManager.CreateView <ScrollableMenu>(GamePrefabs.Instance.ScrollableMenuPopupPrefab); popup_.Init(new IInputWrapper[] { new InputWrapperDevice(inputDevice) }, items); popup_.OnRecycled += HandlePopupRecycled; OnShown.Invoke(); }
private void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
private void Start() { if (_objectpoolManager == null) { _objectpoolManager = ObjectPoolManager.instance; } SoundManager.instance.PlaySound(SoundManager.AudioType.BGM, "BGM_InGame"); waveCoroutine = MonsterWaveCoroutine(); StartCoroutine(waveCoroutine); }
[SerializeField] private Dictionary <string, Pool> pools; // all pools of objects //private Dictionary<string, Queue<GameObject>> poolDict; private void Awake() { if (instance == null) { instance = this; } //if (instance != this) //{ // Destroy(this); //} }
// public AudioClip DamageClip; private void Awake() { navMeshAgent = GetComponent <NavMeshAgent>(); animator = GetComponent <Animator>(); attackSystem = GetComponent <AttackSystem>(); objectPoolManager = GetComponent <ObjectPoolManager>(); getHitComponent = GetComponent <GetHitComponent>(); particleManager = GetComponent <ParticleManager>(); capsuleCollider = GetComponent <CapsuleCollider>(); enemyInfo = enemyData.enemyInfo; CreatAttackDisInfoCollection(); }
public static void Init() { if (instance != null) { return; } GameObject obj = new GameObject(); obj.name = "ObjectPoolManager"; instance = obj.AddComponent <ObjectPoolManager>(); }
//called from ActivateAbility, cast the ability, visual effect and actual effect goes here public void CastAbility(Ability ab, Vector3 pos, Unit unit = null) { if (ab.effectObj != null) { ObjectPoolManager.Spawn(ab.effectObj, pos, Quaternion.identity); } if (ab.useDefaultEffect) { StartCoroutine(ApplyAbilityEffect(ab, pos, unit)); } }
public void LoadFile() { ObjectPoolManager.DestroySingleton(); LocalizationManager.DestroySingleton(); JsonUtils.InitJsonResolver(StandardResolver.Default); ObjectPoolManager.CreateSingleton(); LocalizationManager.CreateSingleton(); try { LocalizationManager.Instance.InitSetting("zh-CN"); // 正常文本 var normalString = LocalizationManager.Instance.GetString("test_normal"); Assert.AreEqual("普通文本", normalString); // 不存在的文本 var defaultString = LocalizationManager.Instance.GetString("NotExistRecord"); Assert.AreEqual("{L10N:NotExistRecord}", defaultString); // 术语 var termString = LocalizationManager.Instance.GetString("test_with_term1"); Assert.AreEqual("我是术语", termString); // 不存在的术语 var defaultTermString = LocalizationManager.Instance.GetString("test_with_term2"); Assert.AreEqual("我是{L10N:不存在的术语}", defaultTermString); // 转义测试 var escapeString = LocalizationManager.Instance.GetString("test_escape"); Assert.AreEqual("我是#术语#术语##", escapeString); // 递归测试 var recursion1String = LocalizationManager.Instance.GetString("test_recursion"); Assert.AreEqual("自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试自递归测试#test_recursion#", recursion1String); var recursion2String = LocalizationManager.Instance.GetString("test_recursion1"); Assert.AreEqual("递归测试1递归测试2递归测试1递归测试2递归测试1递归测试2递归测试1递归测试2递归测试1递归测试2递归测试1#test_recursion2#", recursion2String); // 参数测试 var paramString1 = LocalizationManager.Instance.GetString("test_parameter", 123, 456); Assert.AreEqual("参数测试123,456", paramString1); var paramString2 = LocalizationManager.Instance.GetString("test_parameter", 123, 456, 789); Assert.AreEqual("参数测试123,456", paramString2); var paramString3 = LocalizationManager.Instance.GetString("test_parameter", 123); Assert.AreEqual("参数测试{0},{1}", paramString3); } finally { LocalizationManager.DestroySingleton(); ObjectPoolManager.DestroySingleton(); } }
private void PauseWith(Player player) { MonoBehaviourWrapper.OnUpdate -= HandleUpdate; view_ = ObjectPoolManager.CreateView <InGamePauseView>(GamePrefabs.Instance.InGamePauseViewPrefab); view_.Init(player, Resume, skipCallback_, restartCallback_); foreach (BattlePlayer battlePlayer in UnityEngine.Object.FindObjectsOfType <BattlePlayer>()) { battlePlayer.InputController.DisableInput(BattlePlayerInputController.PriorityKey.Paused); } }
private void Start() { //创建对象池 ObjectPoolManager m_objectPoolManager = FrameworkEntry.Instance.GetManager <ObjectPoolManager>(); m_testPool = m_objectPoolManager.CreateObjectPool <TestObject>(); //注册对象 TestObject testObject = new TestObject("hello ObjectPool", "test1"); m_testPool.Register(testObject, false); }
public static bool Startup() { BulletPool_.Add(BulletType.Track, ObjectPoolManager.CreateGameObjectPool("TrackBullet", AssetManager.CreatePrefabSync(new AssetUri("Prefabs/Bullet/Bullet.prefab")))); BulletPool_.Add(BulletType.Laser, ObjectPoolManager.CreateGameObjectPool("LaserBullet", AssetManager.CreatePrefabSync(new AssetUri("Prefabs/Bullet/BulletLaser.prefab")))); BulletPool_.Add(BulletType.Bomb, ObjectPoolManager.CreateGameObjectPool("BombBullet", AssetManager.CreatePrefabSync(new AssetUri("Prefabs/Bullet/BulletBomb.prefab")))); BulletPool_.Add(BulletType.Back, ObjectPoolManager.CreateGameObjectPool("BackBullet", AssetManager.CreatePrefabSync(new AssetUri("Prefabs/Bullet/BulletBack.prefab")))); BulletPool_.Add(BulletType.Arrow, ObjectPoolManager.CreateGameObjectPool("ArrowBullet", AssetManager.CreatePrefabSync(new AssetUri("Prefabs/Bullet/BulletArrow.prefab")))); BulletList_.Clear(); return(true); }
public void Dead() { GameControl.GainResource(value); if (deadEffect != null) { ObjectPoolManager.Spawn(deadEffect, thisT.position, Quaternion.identity); } float duration = PlayDead(); StartCoroutine(Unspawn(duration)); }
IEnumerator CreateFragmentsCoroutine() { Vector2 position = missileRigidbody.position; for (int i = 0; i < numFragments; i++) { GameObject fragments = ObjectPoolManager.GetObjectPool(fragmentsPrefab).PopItem(); GeneralMissile scriptMissile = fragments.GetComponent <GeneralMissile>(); scriptMissile.Init(position, new Vector2(Random.Range(-1f, 1f), Random.Range(-1f, 1f))); yield return(new WaitForSeconds(0.1f)); } }
private void MakeSingleton() { if (_instance != null) { DestroyImmediate(gameObject); } else { _instance = this; DontDestroyOnLoad(gameObject); } }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
public void OnEnable() { GameObject currentTargetObject = GameObject.Find(target.name); if (currentTargetObject != null) m_currentPoolManager = currentTargetObject.GetComponent<ObjectPoolManager>(); m_objectCreateDelayTime = serializedObject.FindProperty("TimeDelayBetweenCreatingNewObjects"); m_objectCFinishedDelayTime = serializedObject.FindProperty("TimeDelayToSendActionNotification"); if (m_currentPoolManager != null) { m_objectPoolList = m_currentPoolManager.ObjectPoolList; m_objectCountList = m_currentPoolManager.ObjectCountList; } }
void Start() { m_Instance = this; if (GameObject.FindObjectsOfType(this.GetType()).Length > 1) { Debug.LogError("Can't have more than one Object Pool Manager in a scene."); } for(int i = 0; i < ObjectPoolStartAmounts.Count; ++i) { m_ObjectPoolDictionary.Add(ObjectPoolNames[i], null); m_ObjectPoolDictionary[ObjectPoolNames[i]] = new GameObjectPool(); for (int j = 0; j < ObjectsToPool[i].InnerList.Count; ++j) { m_ObjectPoolDictionary[ObjectPoolNames[i]].AddSource(ObjectsToPool[i].InnerList[j], ObjectPoolStartAmounts[i].InnerList[j]); } } }
void Start() { if (isServer) { m_Instance = this; if (GameObject.FindGameObjectsWithTag(ConstParams.ObjectPoolManager).Length > 1) { Debug.LogError("Can't have more than one Object Pool Manager in a scene."); } for(int i = 0; i < ObjectPoolStartAmounts.Count; ++i) { m_ObjectPoolDictionary.Add(ObjectPoolNames[i], null); for (int j = 0; j < ObjectsToPool[i].InnerList.Count; ++j) { m_ObjectPoolDictionary[ObjectPoolNames[i]] = new GameObjectPool(ObjectsToPool[i].InnerList[j], ObjectPoolStartAmounts[i].InnerList[j]); } } } }
void OnApplicationQuit() { // release reference on exit instance = null; }
void Awake() { if(instance!=null) return; instance=this; }
static public void Init(){ ClearAll(); currentIDCount=0; GameObject obj=new GameObject(); obj.name="ObjectPoolManager"; opm=obj.AddComponent<ObjectPoolManager>(); thisT=obj.transform; }
public void Dispose() { if (_objTextureMap != null) { foreach (Texture2D tex in _objTextureMap.Values) tex.Dispose(); } if (_manager != null) { foreach (ObjectPool pool in _manager.Pools) pool.Objects.CollectionChanged -= ObjectCollectionChanged; _manager.Pools.CollectionChanged -= ObjectPoolCollectionChanged; } _objTextureMap = null; _manager = null; }
public ObjectTextureService(ObjectPoolManager manager, IGraphicsDeviceService deviceService) { _manager = manager; _deviceService = deviceService; Initialize(); }