public void OnSkill5Stay() { if (Input.GetKeyDown(KeyCode.Mouse0) && isSkill5) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction, 100000, LayerMask.GetMask("enemy")); if (hit.collider) { separated_body.SetActive(true); var pos_list = new List <int>() { -1, 0, 1 }; var x = pos_list[Random.Range(0, pos_list.Count)]; var y = pos_list[Random.Range(0, pos_list.Count)]; while (x == y && x == 0) { x = pos_list[Random.Range(0, pos_list.Count)]; } separated_body.transform.position = hit.collider.transform.position + new Vector3(x, y, 0).normalized * 18; separated_body.transform.right = (hit.collider.transform.position - separated_body.transform.position).normalized; pos = separated_body.transform.position + separated_body.transform.right * 36; var heavy_sword_slash = GameObjectPoolManager.GetPool("heavy_sword_slash").Get(separated_body.transform.position + separated_body.transform.right * 15, Quaternion.Euler(new Vector3(180 - Quaternion.FromToRotation(Vector2.right, separated_body.transform.right).eulerAngles.z, 90, 0)), 0.5f); heavy_sword_slash.GetComponentInChildren <BaseAttackTrigger>().attack_type = HitType.普通; } } if ((Vector2)separated_body.transform.position == pos) { separated_body.SetActive(false); } separated_body.transform.position = Vector3.MoveTowards(separated_body.transform.position, pos, 4f); }
static int GetGameObjectAsync(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.CheckObject(L, 1, typeof(GameObjectPoolManager)); string arg0 = ToLua.CheckString(L, 2); Void_UnityEngineObject arg1 = null; LuaTypes funcType3 = LuaDLL.lua_type(L, 3); if (funcType3 != LuaTypes.LUA_TFUNCTION) { arg1 = (Void_UnityEngineObject)ToLua.CheckObject(L, 3, typeof(Void_UnityEngineObject)); } else { LuaFunction func = ToLua.ToLuaFunction(L, 3); arg1 = DelegateFactory.CreateDelegate(typeof(Void_UnityEngineObject), func) as Void_UnityEngineObject; } obj.GetGameObjectAsync(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int UnspawnAndDestory(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(GameObjectPoolManager), typeof(UnityEngine.GameObject))) { GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.ToObject(L, 1); UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.ToObject(L, 2); obj.UnspawnAndDestory(arg0); return(0); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(GameObjectPoolManager), typeof(UnityEngine.GameObject), typeof(float))) { GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.ToObject(L, 1); UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.ToObject(L, 2); float arg1 = (float)LuaDLL.lua_tonumber(L, 3); obj.UnspawnAndDestory(arg0, arg1); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: GameObjectPoolManager.UnspawnAndDestory")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
protected virtual void DieCallBack() { if (Shadow) { Shadow.SetActive(false); } var coin = GameObjectPoolManager.GetPool("coin_effect").Get(transform.position + new Vector3(0, 1, 0), Quaternion.identity, 2f); coin.GetComponent <CoinParticle>().transf = View.CurrentScene.GetView <GameInfoView>().hud.coin_icon.rectTransform; var exp = GameObjectPoolManager.GetPool("exp_effect").Get(transform.position + new Vector3(0, 1, 0), Quaternion.identity, 1.85f); exp.GetComponent <ExpParticle>().transf = View.CurrentScene.GetView <GameInfoView>().expbar.GetComponent <RectTransform>(); var colliders = GetComponentsInChildren <PolygonCollider2D>(); var rigis = GetComponentsInChildren <Rigidbody2D>(); _anim.enabled = false; foreach (var col in colliders) { col.enabled = true; } foreach (var rigi in rigis) { if (!rigi.simulated) { rigi.simulated = true; rigi.AddTorque(2, ForceMode2D.Impulse); rigi.AddForce(new Vector3(Random.Range(-1f, 1f) * 4f, Random.Range(0.5f, 1f) * 5, 0), ForceMode2D.Impulse); } } isMoveable = false; GetComponent <Collider2D>().enabled = false; _rigi.simulated = false; dieCallBack?.Invoke(); Destroy(gameObject, 3); }
void Start() { difficultyManager = new DifficultyManager(); new ServiceLocator (); ServiceLocator.addService<IProcessorFSM> (new ProcessorFSM ()); ServiceLocator.addService<IProcessorPatternConfiguration> (new ProcessorPatternConfigurator ()); ServiceLocator.addService<IBladeSectionDifficulty>(difficultyManager); levelData = new LevelData(); poolManager = new GameObjectPoolManager(); testSectionBuilderConfigurator = new SectionBuilderConfigurator(levelData) as ISectionBuilderConfiguration; testSectionBuilderSeclector = new SectionBuilderSelector(testSectionBuilderConfigurator, levelData) as ISectionBuilderSelection; SectionBuilderClear clearBuilder = new SectionBuilderClear(); SectionBuilderBlades bladesBuilder = new SectionBuilderBlades(levelData, poolManager); SectionBuilderProcessors processorsBuilder = new SectionBuilderProcessors (levelData, poolManager); testSectionBuilderSeclector.addSectionBuilder(clearBuilder); testSectionBuilderSeclector.addSectionBuilder(bladesBuilder); testSectionBuilderSeclector.addSectionBuilder(processorsBuilder); levelData.activeSectionBuilder = clearBuilder; testSectionDesigner = new SectionDesigner(testSectionBuilderSeclector, levelData) as ISectionDesigning; rowCleaner = new RowCleaner(poolManager); testLevelHandler = new LevelHandler(levelData, testSectionDesigner, rowCleaner); for (int i = 0; i < 50; ++i) { testLevelHandler.buildNewRow(); } }
private void OnTriggerEnter(Collider other) { if (other.CompareTag("Unit")) { AudioManager.Instance.PlayOneShot("skill_q_hit"); GetComponent <ObjectRecover>().RecoverImmediately(); ownerHero.skillDict[SkillType.Q].SetSkillTarget( other.GetComponent <HeroUnitController>().unit , (unit) => { (unit as HeroUnit).SetStatus(StatusType.Q, new Status( (callBackType) => { switch (callBackType) { case CallBackType.Add: GameObjectPoolManager.GetPool("skill_q_hit").Get(unit.GetTransform(), -1); break; case CallBackType.Remove: GameObjectPoolManager.GetPool("skill_q_hit").RecoverAll(); break; default: break; } } )); } ); } }
public override void Update() { switch (heroState) { case HeroState.Idle: break; case HeroState.MoveTo: if (Vector3.Distance(transform.position, aimPos) <= 0.1f) { SetHeroState(HeroState.Idle); return; } transform.forward = Vector3.Slerp(transform.forward, (aimPos - transform.position).normalized, Time.deltaTime * 20); transform.position = Vector3.MoveTowards(transform.position, aimPos, Time.deltaTime * 2.5f); break; case HeroState.Attack: transform.forward = Vector3.Slerp(transform.forward, (selectEnemyUnit.GetPosNoY() - transform.position).normalized, Time.deltaTime * 20); if (Vector3.Distance(transform.position, selectEnemyUnit.GetPos()) <= 2f) { PlayAnim(AnimParamType.Bool, "run", false); timer += Time.deltaTime; if (timer >= 1) { PlayAnim(AnimParamType.Trigger, "attack"); timer = 0; } return; } PlayAnim(AnimParamType.Bool, "run", true); transform.position = Vector3.MoveTowards(transform.position, selectEnemyUnit.GetPosNoY(), Time.deltaTime * 2.5f); break; case HeroState.PutEye: if (Vector3.Distance(transform.position, aimPos) <= 5f) { AudioManager.Instance.PlayOneShot("eye"); GameObjectPoolManager.GetPool("eye").Get(aimPos, Quaternion.identity, 5); SetHeroState(HeroState.Idle); return; } transform.forward = Vector3.Slerp(transform.forward, (aimPos - transform.position).normalized, Time.deltaTime * 20); transform.position = Vector3.MoveTowards(transform.position, aimPos, Time.deltaTime * 2.5f); break; case HeroState.SkillMoveTo: if (Vector3.Distance(transform.position, aimPos) <= 3) { currentSkill.Execute(); return; } transform.forward = Vector3.Slerp(transform.forward, (aimPos - transform.position).normalized, Time.deltaTime * 20); transform.position = Vector3.MoveTowards(transform.position, aimPos, Time.deltaTime * 2.5f); break; default: break; } }
private void Awake() { if (GameObjectPoolManager.HasGameObjectPool(bulletPoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(bulletPoolName, bulletPoolItem.gameObject, bulletPoolPreNum); } m_BulletPool = GameObjectPoolManager.GetGameObjectPool(bulletPoolName); if (GameObjectPoolManager.HasGameObjectPool(shellPoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(shellPoolName, shellPoolItem.gameObject, shellPoolPreNum); } m_ShellPool = GameObjectPoolManager.GetGameObjectPool(shellPoolName); if (GameObjectPoolManager.HasGameObjectPool(muzzlePoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(muzzlePoolName, muzzlePoolItem.gameObject, muzzlePoolPreNum); } m_MuzzlePool = GameObjectPoolManager.GetGameObjectPool(muzzlePoolName); m_AudioSource = this.GetComponent <AudioSource>(); if (m_AudioSource == null) { this.gameObject.AddComponent <AudioSource>(); m_AudioSource = this.GetComponent <AudioSource>(); } m_Animator = this.GetComponent <Animator>(); m_Animator.speed = shootSpeed; }
public void SkillRExcute() { GameObjectPoolManager.GetPool("skill_r").Get(footPos.position, transform.rotation, 1); AudioManager.Instance.PlayOneShot("skill_r"); var skillTargetUnit = controlUnit.skillDict[SkillType.R].GetSkillTarget(); (skillTargetUnit as HeroUnit).AddForce(controlUnit.GetForward(), 7); }
public void Flash(Vector3 aimPos) { AudioManager.Instance.PlayOneShot("flash"); GameObjectPoolManager.GetPool("flash_effect").Get(transform.position, Quaternion.identity, 2); transform.forward = (aimPos - transform.position).normalized; base.SetPos(aimPos); GameObjectPoolManager.GetPool("flash_effect2").Get(transform.position, Quaternion.identity, 2); }
public void configure(int width, GameObjectPoolManager pools) { arenaWidth = width; currentArenaHeight = -1; this.pools = pools; pools.addPool(wallTile,120 *2); pools.addPool(basicFloorTile, width * 60 *2); }
public void FireAttackOnce() // 发射出一个火球 追踪玩家 { var fireball = GameObjectPoolManager.GetPool("enemy_fire_ball").Get(transform.position + new Vector3(0, 11, 0), Quaternion.identity, 3); fireball.GetComponent <AutoMoveObjectByDirection>().Direction = ActorController.Controller.transform.position - fireball.transform.position; fireball.GetComponent <AutoMoveObjectByDirection>().space_type = Space.World; fireball.GetComponent <EnemyAttackTrigger>().owner = GetComponentInParent <BaseEnemyController>(); }
public void Awake() { if (GameObjectPoolManager.HasGameObjectPool(laserImpactPoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(laserImpactPoolName, laserImpactPoolItem.gameObject, laserImpactPreNum); } m_LaserImpactPool = GameObjectPoolManager.GetGameObjectPool(laserImpactPoolName); }
void Awake() { if (GameObjectPoolManager.HasGameObjectPool(lightingImpactPoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(lightingImpactPoolName, lightingImpact.gameObject, lightingImpactPreNum); } m_LightingImpactPool = GameObjectPoolManager.GetGameObjectPool(lightingImpactPoolName); }
public SectionBuilderHeatVent(LevelData levelData, GameObjectPoolManager poolManager) { this.levelData = levelData; this.poolManager = poolManager; difficultyManager = ServiceLocator.getService<IHeatVentSectionDifficulty>(); type = SectionBuilderType.heatVent; heatVent = Resources.Load("HeatVent") as GameObject; poolManager.addPool(heatVent, 20); }
public void SetPickUpSlash() { AudioManager.Instance.PlayOneShot("player_heavy_attack"); var temp = GameObjectPoolManager.GetPool("pick_up_slash").Get(transform.position + new Vector3(0, 2, -5), Quaternion.Euler(-45, 90 * transform.right.x, 180), 0.5f); temp.GetComponentInChildren <PlayerSwordAttackTrigger>().attack_type = HitType.挑; temp.transform.parent = transform.parent.parent; temp.transform.localScale = Vector3.one * 2f; }
void Awake() { if (GameObjectPoolManager.HasGameObjectPool(prismImpactPoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(prismImpactPoolName, prismImpact.gameObject, prismImpactPreNum); } m_PrismImpactPool = GameObjectPoolManager.GetGameObjectPool(prismImpactPoolName); }
public override void GetHurt(AttackData attackData) { if (!photonView.IsMine) { photonView.RPC("RPCGetHurt", RpcTarget.Others, JsonMapper.ToJson(attackData)); } if (shieldEffect.activeSelf && (attackData.attack_pos - transform.position).normalized.x * transform.right.x > 0) { _rigi.ResetVelocity(); _rigi.AddForce(-transform.right * 20, ForceMode2D.Impulse); GameObjectPoolManager.GetPool("metal_hit").Get(transform.position + transform.right * 2, Quaternion.identity, 1.5f); return; } _anim.SetTrigger("hit"); GameStaticMethod.ChangeChildrenSpriteRendererColor(gameObject, Color.red); transform.rotation = attackData.attack_pos.x > transform.position.x ? Quaternion.identity : Quaternion.Euler(0, 180, 0); GameObjectPoolManager.GetPool("hit_effect").Get(transform.position + new Vector3(0, 2, 0), Quaternion.identity, 0.5f); _model.SetHealth(-DreamerTool.Util.DreamerUtil.GetHurtValue(attackData.hurt_value, _model.GetPlayerAttribute(PlayerAttribute.物防))); switch (attackData.attack_type) { case HitType.普通: break; case HitType.击退: if (!actor_state.isGround) { _rigi.ResetVelocity(); _rigi.ClearGravity(); } else { _rigi.ResetVelocity(); _rigi.AddForce(-transform.right * 20, ForceMode2D.Impulse); } break; case HitType.击飞: _rigi.ResetVelocity(); _rigi.AddForce(new Vector2(-transform.right.x * 0.5f, 0.5f).normalized * 50, ForceMode2D.Impulse); break; case HitType.挑: _rigi.ResetVelocity(); _rigi.AddForce(transform.up * 95, ForceMode2D.Impulse); break; default: break; } }
public void FireAttack() //发射出6个不同方向的火球不追踪玩家 { for (int i = 0; i < 6; i++) { var frie_ball = GameObjectPoolManager.GetPool("enemy_fire_ball").Get(transform.position + new Vector3(0, 3, 0), Quaternion.Euler(i * 60, 90, 90), 3); frie_ball.GetComponent <AutoMoveObjectByDirection>().Direction = new Vector3(0, 0, -1); frie_ball.GetComponent <AutoMoveObjectByDirection>().space_type = Space.Self; frie_ball.GetComponent <EnemyAttackTrigger>().owner = GetComponentInParent <BaseEnemyController>(); } }
public SectionBuilderProcessors(LevelData levelData, GameObjectPoolManager poolManager) { this.levelData = levelData; this.poolManager = poolManager; type = SectionBuilderType.processor; GameObject processor = Resources.Load("Processor") as GameObject; GameObject processorGroup = Resources.Load("ProcessorGroup") as GameObject; poolManager.addPool(processor, 200); poolManager.addPool(processorGroup, 20); }
public override void OnTriggerEnter2D(Collider2D collision) { base.OnTriggerEnter2D(collision); if (collision.gameObject.tag == "Player") { GetComponent <ObjectRecover>().RecoverImmediately(); GameObjectPoolManager.GetPool("fire_ball_explosion").Get(transform.position, Quaternion.Euler(-90, 0, 0), 1); } }
public void SpawnBump() { // 用物件池管理器取得團塊的複製品 Bump _clone = GameObjectPoolManager.GetUseableObject <Bump>("Bump"); // 這裡先寫死,可以透過GameDataManager.LoadGameData(path)的方式取得靜態資料填入 // 也可以透過GameResourceManager.LoadResource(path)的方式取得ScriptableObject取得靜態資料填入 _clone.transform.position = new Vector3(Random.Range(-10f, 10f), Random.Range(-10f, 10f)); _clone.transform.localScale = Vector3.one; }
public static void GameInit() { if (ActorModel.Model == null) { ActorModel.CreateModel(); } GameObjectPoolManager.InitByScriptableObject(); SkillModel.Init(); }
public void Setup(LevelData levelData, GameObjectPoolManager poolManager) { tilePosition = Vector3.zero; this.levelData = levelData; this.poolManager = poolManager; poolManager.addPool(sideWallTilePrefab, 100); poolManager.addPool(floorTilePrefab, 300); poolManager.addPool(bladeRowWallLeft, 20); poolManager.addPool(bladeRowWallRight, 20); wallSectionBuilder.poolManager = poolManager; }
// Use this for initialization void Start() { current = this; for (int i = 0; i < numberobjects; i++) { GameObject obj = (GameObject) Instantiate (genericprefab); obj.SetActive (false); obj.name = genericprefab.name; genericpool.Add (obj); } }
public MyParticleInstance GetParticleInstance(string particleName, Action callback) { GameObject gameObject = GameObjectPoolManager.GetInstance().GetGameObject(mTemplete, rootTrans); MyParticleInstance pi = gameObject.GetComponent <MyParticleInstance>(); pi.load(particleName, callback); pi.gameObject.transform.parent = rootTrans; pi.gameObject.transform.localPosition = Vector3.zero; pi.gameObject.SetActive(true); pi.gameObject.name = particleName; return(pi); }
public void OnSkill4Stay() { if (isMove) { ActorController.Controller.transform.position = Vector3.MoveTowards(ActorController.Controller.transform.position, Skill4_Pos, 2.5f); if (ActorController.Controller.actor_state.isGround) { isMove = false; GameObjectPoolManager.GetPool("skill4_effect").Get(ActorController.Controller.transform.position + new Vector3(0, -4, 0), Quaternion.identity, 0.75f); } } }
void OnDestroy() { if (showGOs != null) { foreach (var showGO in showGOs) { var goPoolMgr = GameObjectPoolManager.GetInstance(); goPoolMgr?.ReleaseGameObject(showGO); } showGOs.Clear(); } }
public virtual void GetHurt(AttackData attackData) { if (actor_state.isSuperArmor) { return; } if (actor_state.isShield && (attackData.attack_pos - transform.position).normalized.x * transform.right.x > 0) { _rigi.ResetVelocity(); _rigi.AddForce(-transform.right * 20, ForceMode2D.Impulse); GameObjectPoolManager.GetPool("metal_hit").Get(transform.position + transform.right * 2, Quaternion.identity, 1.5f); return; } View.CurrentScene.GetView <GameInfoView>().SetScreenEffect(Color.red, 1, 0.1f, 0.5f); _anim.SetTrigger("hit"); transform.rotation = attackData.attack_pos.x > transform.position.x ? Quaternion.identity : Quaternion.Euler(0, 180, 0); GameObjectPoolManager.GetPool("hit_effect").Get(transform.position + new Vector3(0, 2, 0), Quaternion.identity, 0.5f); Timer.Register(0.25f, () => { View.CurrentScene.GetView <GameInfoView>().SetScreenEffect(Color.red, 0, 0.1f, 0.5f); }); actor_state.isSuperArmor = true; Timer.Register(super_armor_time, () => { actor_state.isSuperArmor = false; }); var hurt_value = -DreamerTool.Util.DreamerUtil.GetHurtValue(attackData.hurt_value, ActorModel.Model.GetPlayerAttribute(PlayerAttribute.物防)); ActorModel.Model.SetHealth(hurt_value); GameStaticMethod.ChangeChildrenSpriteRendererColor(gameObject, Color.red); switch (attackData.attack_type) { case HitType.普通: break; case HitType.击退: _rigi.ResetVelocity(); _rigi.AddForce(-transform.right * 10, ForceMode2D.Impulse); break; case HitType.击飞: _rigi.ResetVelocity(); _rigi.AddForce(new Vector2(-transform.right.x * 0.5f, 0.5f).normalized * 20, ForceMode2D.Impulse); break; case HitType.挑: break; default: break; } }
// 在這個class被實例化後,被下達Start()時執行 protected override void OnStart() { m_startGameUI = GetPage <StartGameUIPage>() as StartGameUIPage; m_gamingUI = GetPage <GamingUIPage>() as GamingUIPage; UFOController _player = GameObjectPoolManager.GetUseableObject <UFOController>("UFO"); // 創建玩家 BumpManager.Instance.SpawnBump(); // 創建第一個團塊 ScoreManager.Instance.ResetScroe(); // 重設分數 m_startGameUI.EnablePage(this, false); // 關閉開始頁面UI m_gamingUI.EnablePage(this, true); // 開啟遊戲UI m_gameTimer = 0f; // 重設計時器 }
// Use this for initialization void Start() { testRow = new List<GameObject>(); levelData = new LevelData(); poolManager = new GameObjectPoolManager(); testBuilder = new SectionBuilderBlades (levelData, poolManager); for (int i = 0 ; i < 50 ; ++i) { levelData.levelTop+=1; testBuilder.buildNewRow(testRow); } }
public Callback <GameObject, int> GetOrNewSprite(string viewCode, bool usePool = false, int maxCount = 20) { string viewName = null; GameObject prefabInstance = null; var callback = Callback <GameObject, int> .GetOrNew(); if (!usePool) { EEntityType entityType = EntityUtil.GetEntityTypeByCode(viewCode); if (poolInfos.TryGetValue(entityType, out var poolInfo)) { usePool = true; maxCount = poolInfo.maxCount; } } if (usePool) { if (!GameObjectPoolManager.GetInstance().HasPool(viewCode)) { AssetManager.GetInstance().LoadSprite(viewCode).onSuccess.Set((prefab) => { GameObjectPoolManager.GetInstance().NewPool(viewCode, prefab, maxCount); prefabInstance = GameObjectPoolManager.GetInstance().GetOrCreateGameObject(viewCode); GameObject viewGO = new GameObject(viewName); prefabInstance.transform.SetParent(viewGO.transform, false); callback.onSuccess?.Invoke(prefabInstance); }); } else { prefabInstance = GameObjectPoolManager.GetInstance().GetOrCreateGameObject(viewCode); GameObject viewGO = new GameObject(viewName); prefabInstance.transform.SetParent(viewGO.transform, false); callback.onSuccess?.Invoke(prefabInstance); } } else { AssetManager.GetInstance().LoadSprite(viewCode).onSuccess.Set((prefab) => { if (prefab) { prefabInstance = Object.Instantiate(prefab); callback.onSuccess?.Invoke(prefabInstance); } }); } return(callback); }
static int Release(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.CheckObject(L, 1, typeof(GameObjectPoolManager)); obj.Release(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public SectionBuilderBlades(LevelData levelData, GameObjectPoolManager poolManager) { this.levelData = levelData; this.poolManager = poolManager; difficultyManager = ServiceLocator.getService<IBladeSectionDifficulty>(); type = SectionBuilderType.blade; blade = Resources.Load("Blade") as GameObject; bladeRow = Resources.Load("BladeRow") as GameObject; poolManager.addPool(blade, 100); poolManager.addPool(bladeRow, 30); bladeLength = blade.GetComponent<BoxCollider2D>().size.x; }
void Awake() { int missileNum = missileMountPoint.Length; if (GameObjectPoolManager.HasGameObjectPool(missilePoolName) == false) { GameObjectPoolManager.CreateGameObjectPoolForGameObject(missilePoolName, misslePrefab.gameObject, missileNum * misslePoolMultiTime); } missileGameObjectPool = GameObjectPoolManager.GetGameObjectPool(missilePoolName); m_MissileRuntimeDatas = new GameObject[missileNum]; ReloadMissile(); }
public void Init() { new ServiceLocator(); poolParent = new GameObject(); poolManager = new GameObjectPoolManager(poolParent.transform); blade = Resources.Load("Blade") as GameObject; poolManager.addPool(blade, 100); testLevelData= new LevelData(); clearBuilder = new SectionBuilderClear(); testLevelData.activeSectionBuilder = clearBuilder; difficultyManager = new mockDifficultyManager(); ServiceLocator.addService<IBladeSectionDifficulty>(difficultyManager); ServiceLocator.addService<IProcessorGroupDifficulty>(difficultyManager); rowCleaner = new RowCleaner(poolManager); }
static int DestoryGameObjectPool(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.CheckObject(L, 1, typeof(GameObjectPoolManager)); UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 2, typeof(UnityEngine.GameObject)); obj.DestoryGameObjectPool(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int UnRegist(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); GameObjectPoolManager obj = (GameObjectPoolManager)ToLua.CheckObject(L, 1, typeof(GameObjectPoolManager)); string arg0 = ToLua.CheckString(L, 2); obj.UnRegist(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void Init() { poolParent = new GameObject(); //.Instantiate(poolParent, Vector3.zero, Quaternion.identity) as GameObject; poolManager = new GameObjectPoolManager(poolParent.transform); new ServiceLocator(); difficultyManager = new mockDifficultyManager(); ServiceLocator.addService<IBladeSectionDifficulty>(difficultyManager); ServiceLocator.addService<IProcessorGroupDifficulty>(difficultyManager); //blade = Resources.Load("Blade") as GameObject; //poolManager.addPool(blade, 100); testLevelData= new LevelData(); clearBuilder = new SectionBuilderClear(); testLevelData.activeSectionBuilder = clearBuilder; //Debug.Log(testLevelData); }
public bool SpawnEnemy(int level, int spawnEnemyID, UnityAction dieCallBack = null) { var config = EnemyConfig.Get(spawnEnemyID); if (config == null) { return(false); } GameObjectPoolManager.GetPool("dust").Get(transform.position, Quaternion.identity, 1); Timer.Register(0.25f, () => { var enemy = Instantiate(config.GetGameObjectPrefab(), transform.position, Quaternion.identity); enemy.GetComponentInChildren <BaseEnemyController>().SetLevel(level); enemy.GetComponentInChildren <BaseEnemyController>().dieCallBack = dieCallBack; }); return(true); }
public LevelHandler BuildGameFramework() { difficultyManager.levelData = levelData; SetupServiceLocator(); poolManager = new GameObjectPoolManager(poolParent); arenaBuilder.Setup(levelData, poolManager); sectionBuilderConfigurator = new SectionBuilderConfigurator(levelData) as ISectionBuilderConfiguration; sectionBuilderSeclector = new SectionBuilderSelector(sectionBuilderConfigurator, levelData) as ISectionBuilderSelection; SetupSectionBuilders(); sectionDesigner = new ArenaSectionDesigner(sectionBuilderSeclector, levelData, arenaBuilder) as ISectionDesigning; rowCleaner = new RowCleaner(poolManager); levelHandler = new LevelHandler(levelData, sectionDesigner, rowCleaner); return levelHandler; }
public mockSectionBuilderProcessors(GameObjectPoolManager poolManager) { type = SectionBuilderType.processor; this.poolManager = poolManager; processor = Resources.Load("Processor") as GameObject; poolManager.addPool(processor, 100); }
public mockSectionBuilderBlades(GameObjectPoolManager poolManager) { type = SectionBuilderType.blade; this.poolManager = poolManager; blade = Resources.Load("Blade") as GameObject; poolManager.addPool(blade, 100); }