System/Achievement/AchievementGotoPart1.cs
@@ -173,7 +173,7 @@ switch (dataMapId) { case DemonJarModel.DATA_MAPID: var bossId = demonJarModel.GetLatestUnLockBoss(); var bossId = demonJarModel.GetRecommendBoss(); if (bossId > 0) { demonJarModel.selectedBoss = bossId; System/Alchemy/AlchemyResultWin.cs
@@ -85,7 +85,7 @@ void Display() { CreateItems(displayItem.count); CreateItems(1); DisplayStove(); @@ -132,10 +132,10 @@ m_Scroller.horizontalNormalizedPosition = 0f; for (int i = 0; i < m_Item.Count; i++) { m_Item[i].gameObject.SetActive(i < displayItem.count); if (i < displayItem.count) m_Item[i].gameObject.SetActive(i < 1); if (i < 1) { m_Item[i].SetItem(displayItem.id, 1); m_Item[i].SetItem(displayItem.id, displayItem.count); } } } System/Compose/New/ComposeWin.cs
@@ -9,10 +9,8 @@ using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class ComposeWin : OneLevelWin { ComposeWinModel ComposeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } } System/CrossServerBoss/CrossServerBossModel.cs
@@ -165,7 +165,7 @@ } var config = CrossServerBossConfig.Get(selectedBoss); if (config.MonsterType == 4 && !findPreciousModel.IsRealmEnoughToKillBoss(selectedBoss)) if (config.MonsterType == 4 && !findPreciousModel.IsBossUnlock(selectedBoss)) { error = 6; return false; @@ -217,11 +217,20 @@ npcIds.Add(bigBoxNpcId); npcIds.Add(eliteMonsters[0]); var lockedCount = 0; foreach (var bossId in bosses.Keys) { if (findPreciousModel.IsBossUnlock(bossId)) { npcIds.Add(bossId); } else { if (lockedCount < 2) { lockedCount++; npcIds.Add(bossId); } } } @@ -230,16 +239,7 @@ public List<int> GetShowBosses() { var showBosses = new List<int>(); foreach (var bossId in bosses.Keys) { if (findPreciousModel.IsBossUnlock(bossId)) { showBosses.Add(bossId); } } return showBosses; return new List<int>(sortedBossIds); } public int GetRecommendNpc() @@ -251,16 +251,30 @@ if (wearyValue < GeneralDefine.bossWearyValues[2]) { var preferBoss = 0; for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (IsBossUnLocked(bossId) && findPreciousModel.IsBossAlive(bossId)) if (IsBossUnLocked(bossId)) { return bossId; if (preferBoss == 0) { preferBoss = bossId; } if (findPreciousModel.IsBossAlive(bossId) && findPreciousModel.IsSameBigRealmStageBoss(bossId)) { return bossId; } } } return sortedBossIds[0]; if (preferBoss == 0) { preferBoss = sortedBossIds[0]; } return preferBoss; } return eliteMonsters[0]; System/CrossServerBoss/CrossServerBossWin.cs
@@ -204,7 +204,7 @@ m_SurpassLevel.gameObject.SetActive(false); break; case 4: if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (!findPreciousModel.IsBossUnlock(bossId)) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); @@ -246,9 +246,6 @@ private void DisplayGotoKillButton(int bossId) { var config = CrossServerBossConfig.Get(model.selectedBoss); var isUnlock = config.MonsterType != 4 || findPreciousModel.IsBossUnlock(model.selectedBoss); m_Goto.gameObject.SetActive(isUnlock); } private void DisplaySubscribe(int bossId) System/FindPrecious/BossHomeModel.cs
@@ -256,12 +256,29 @@ public List<int> GetShowBosses() { var bosses = new List<int>(); var lockedCount = 0; for (var i = 0; i < bossIds.Count; i++) { var bossId = bossIds[i]; if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId)) var bossHomeConfig = BossHomeConfig.Get(bossId); if (bossHomeConfig.MonsterType == 1) { bosses.Add(bossId); } else { if (findPreciousModel.IsBossUnlock(bossId)) { bosses.Add(bossId); } else { if (lockedCount < 2) { bosses.Add(bossId); lockedCount++; } } } } @@ -275,19 +292,17 @@ public int GetRecommendNpc() { var recommendNpc = bossIds[0]; for (var i = bossIds.Count - 1; i >= 0; i--) { var bossId = bossIds[i]; var bossHomeConfig = BossHomeConfig.Get(bossId); if (bossHomeConfig.MonsterType == 2 && findPreciousModel.IsBossUnlock(bossId)) { recommendNpc = bossIds[i]; break; return bossIds[i]; } } return recommendNpc; return bossIds[0]; } } System/FindPrecious/BossHomeWin.cs
@@ -149,7 +149,7 @@ private void GotoKillBoss() { var config = BossHomeConfig.Get(model.selectedBoss); if (config.MonsterType == 2 && !findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss)) if (config.MonsterType == 2 && !findPreciousModel.IsBossUnlock(model.selectedBoss)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm); return; @@ -372,7 +372,7 @@ private void DisplayTip(int bossId) { if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (!findPreciousModel.IsBossUnlock(bossId)) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); @@ -388,9 +388,6 @@ private void DisplayGotoKillButton(int bossId) { var config = BossHomeConfig.Get(model.selectedBoss); var isUnlock = config.MonsterType == 1 || findPreciousModel.IsBossUnlock(model.selectedBoss); m_Goto.gameObject.SetActive(isUnlock); } private void DisplaySubscribe(int bossId) System/FindPrecious/DemonJarBossRebornCoolDown.cs
@@ -20,7 +20,7 @@ private void OnEnable() { UpdateBossRebornCoolDown(demonJarModel.GetLatestUnLockBoss()); UpdateBossRebornCoolDown(demonJarModel.GetRecommendBoss()); findPreciousModel.bossInfoUpdateEvent += UpdateBossRebornCoolDown; dungeonModel.dungeonRecordChangeEvent += OnDungeonRecodChange; findPreciousModel.bossSubscribeChangeEvent += UpdateBossRebornCoolDown; @@ -35,7 +35,7 @@ private void UpdateBossRebornCoolDown(int _bossId) { var latestUnLockBoss = demonJarModel.GetLatestUnLockBoss(); var latestUnLockBoss = demonJarModel.GetRecommendBoss(); if (latestUnLockBoss != _bossId) { return; System/FindPrecious/DemonJarModel.cs
@@ -116,7 +116,7 @@ public void OnAfterPlayerDataInitialize() { var bossId = GetLatestUnLockBoss(); var bossId = GetRecommendBoss(); if (bossId != 0 && !findPreciousModel.IsBossSubscribed(bossId)) { findPreciousModel.RequestSubscribeBoss(bossId, true); @@ -130,7 +130,7 @@ { demonJarSoulIncreaseDelta = 0; var bossId = GetLatestUnLockBoss(); var bossId = GetLastUnlockBoss(); AutoSubscribeLastUnLockBoss(bossId); ParseLocalSaveAutoChallengeLogs(); DemonJarAutoChallenge.Instance.Begin(); @@ -159,6 +159,7 @@ { var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>(); var bosses = new List<int>(); var lockedCount = 0; for (int i = 0; i < sortedBossIds.Count; i++) { var bossId = sortedBossIds[i]; @@ -170,9 +171,17 @@ continue; } if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { bosses.Add(bossId); } else { if (lockedCount < 2) { bosses.Add(bossId); lockedCount++; } } } @@ -191,27 +200,53 @@ } } public int GetLatestUnLockBoss() public int GetRecommendBoss() { if (FuncOpen.Instance.IsFuncOpen(76)) { var latestBossId = sortedBossIds[0]; var preferBoss = 0; for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { latestBossId = bossId; break; if (preferBoss == 0) { preferBoss = bossId; } if (findPreciousModel.IsBossAlive(bossId) && findPreciousModel.IsSameBigRealmStageBoss(bossId)) { return bossId; } } } return latestBossId; if (preferBoss == 0) { preferBoss = sortedBossIds[0]; } return preferBoss; } else { return sortedBossIds[0]; } } public int GetLastUnlockBoss() { for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlock(bossId)) { return bossId; } } return 0; } public int GetSurplusTimes() @@ -243,9 +278,7 @@ for (int i = 0; i < 5; i++) { var index = (byte)(UnityEngine.Random.Range(0, GeneralDefine.openJobs.Length)); var playerName = StringUtility.Contact(RandomNameConfig.GetFirstName(1), RandomNameConfig.GetSecondName(1)); var exitFakePlayer = false; for (int j = 0; j < records.Count; j++) { @@ -330,7 +363,7 @@ case PlayerDataType.RealmLevel: if (FuncOpen.Instance.IsFuncOpen(76)) { var bossId = GetLatestUnLockBoss(); var bossId = GetLastUnlockBoss(); AutoSubscribeLastUnLockBoss(bossId); } @@ -440,7 +473,7 @@ if (bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe(bossId)) { if (findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { var config = DemonJarConfig.Get(bossId); if (config.AutoAttention == 1) System/FindPrecious/DemonJarWin.cs
@@ -104,7 +104,7 @@ if (!model.lockSelectedBoss) { var targetBoss = model.GetLatestUnLockBoss(); var targetBoss = model.GetRecommendBoss(); model.selectedBoss = targetBoss; } @@ -285,7 +285,7 @@ private bool TestEnterDungeon(out int _error) { if (!findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss)) if (!findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 6; return false; @@ -321,7 +321,7 @@ } if (model.doubleToKillLowerBossHint && model.isDoubleAward && model.selectedBoss != model.GetLatestUnLockBoss() && config.CanEnterTimes == 0) && model.selectedBoss != model.GetRecommendBoss() && config.CanEnterTimes == 0) { _error = 5; return false; @@ -388,7 +388,7 @@ private void DisplayTip(int bossId) { if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (!findPreciousModel.IsBossUnlock(bossId)) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); @@ -404,8 +404,6 @@ private void DisplayGotoKillButton(int bossId) { var isUnlock = findPreciousModel.IsBossUnlock(model.selectedBoss); m_Goto.gameObject.SetActive(isUnlock); } private void DisplaySubscribe(int bossId) System/FindPrecious/ElderGodAreaModel.cs
@@ -84,9 +84,22 @@ { var bosses = new List<int>(); bosses.Add(sortedElites[0]); var lockedCount = 0; for (int i = 0; i < sortedBossIds.Count; i++) { bosses.Add(sortedBossIds[i]); var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlock(bossId)) { bosses.Add(sortedBossIds[i]); } else { if (lockedCount < 2) { lockedCount++; bosses.Add(sortedBossIds[i]); } } } return bosses; @@ -104,16 +117,30 @@ public int GetRecommendNpc() { var preferBoss = 0; for (var i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlock(bossId) && findPreciousModel.IsBossAlive(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { return bossId; if (preferBoss == 0) { preferBoss = bossId; } if (findPreciousModel.IsBossAlive(bossId) && findPreciousModel.IsSameBigRealmStageBoss(bossId)) { return bossId; } } } return sortedElites[0]; if (preferBoss == 0) { preferBoss = sortedBossIds[0]; } return preferBoss; } public int GetRecommendEliteNpc() System/FindPrecious/ElderGodAreaWin.cs
@@ -128,7 +128,7 @@ private bool TestEnterDungeon(out int _error) { var config = ElderGodAreaConfig.Get(model.selectedBoss); if (config.MonsterType == 2 && !findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss)) if (config.MonsterType == 2 && !findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 4; return false; @@ -233,7 +233,7 @@ private void DisplayTip(int bossId) { if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (!findPreciousModel.IsBossUnlock(bossId)) { m_NoDamageTip.gameObject.SetActive(true); } @@ -245,9 +245,6 @@ private void DisplayGotoKillButton(int bossId) { var config = ElderGodAreaConfig.Get(model.selectedBoss); var isUnlock = config.MonsterType == 1 || findPreciousModel.IsBossUnlock(model.selectedBoss); m_Goto.gameObject.SetActive(isUnlock); } private void DisplaySubscribe(int bossId) System/FindPrecious/FindPreciousBossRebornBehaviour.cs
@@ -145,7 +145,7 @@ private void GotoKillDemonJarBoss(int _bossId) { if (!model.IsRealmEnoughToKillBoss(_bossId)) if (!model.IsBossUnlock(_bossId)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(_bossId).Realm); return; @@ -182,7 +182,7 @@ return; } if (!model.IsRealmEnoughToKillBoss(_bossId)) if (!model.IsBossUnlock(_bossId)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(_bossId).Realm); return; @@ -193,7 +193,7 @@ private void GotoKillBossHomeBoss(int _bossId) { if (!model.IsRealmEnoughToKillBoss(_bossId)) if (!model.IsBossUnlock(_bossId)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(_bossId).Realm); return; @@ -254,7 +254,7 @@ private void GotoKillElderGodAreaBoss(int _bossId) { if (!model.IsRealmEnoughToKillBoss(_bossId)) if (!model.IsBossUnlock(_bossId)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(_bossId).Realm); return; @@ -300,7 +300,7 @@ private void GotoKillCrossServerBoss(int _bossId) { if (!model.IsRealmEnoughToKillBoss(_bossId)) if (!model.IsBossUnlock(_bossId)) { SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(_bossId).Realm); return; System/FindPrecious/FindPreciousModel.cs
@@ -262,55 +262,23 @@ public bool IsBossUnlock(int bossId) { var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var myRealmStage = realmModel.GetRealmStage(myRealmLevel); var config = NPCConfig.Get(bossId); var bossRealmStage = realmModel.GetRealmStage(config.Realm); return myRealmStage >= bossRealmStage; } public bool IsBossUnlockOrUnlockSoon(int bossId) { var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var myRealmStage = realmModel.GetRealmStage(myRealmLevel); var config = NPCConfig.Get(bossId); var bossRealmStage = realmModel.GetRealmStage(config.Realm); if (myRealmStage >= bossRealmStage) { return true; } if (myRealmStage + 1 >= bossRealmStage) { return true; } return false; } public bool IsRealmEnoughToKillBoss(int bossId) { var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); return myRealmLevel >= config.Realm; } public bool IsSameBigRealmStageBoss(int bossId) { var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var myRealmStage = realmModel.GetRealmStage(myRealmLevel); var config = NPCConfig.Get(bossId); var bossRealmStage = realmModel.GetRealmStage(config.Realm); return myRealmStage == bossRealmStage; } public int GetBossUnLockRealm(int bossId) { var config = NPCConfig.Get(bossId); var realmStage = realmModel.GetRealmStage(config.Realm); var realms = new List<int>(); if (realmModel.TryGetRealmStages(realmStage, out realms)) { return realms[0]; } else { return 0; } return config.Realm; } public bool IsBossAlive(int _bossId) System/FindPrecious/PersonalBossModel.cs
@@ -72,19 +72,28 @@ public List<int> GetPersonalBosses() { var bosses = new List<int>(); var lockedCount = 0; for (int i = 0; i < sortedBossIds.Count; i++) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { bosses.Add(bossId); } else { if (lockedCount < 2) { bosses.Add(bossId); lockedCount++; } } } return bosses; } public int GetLatestUnLockBoss() public int GetRecommendBoss() { for (int i = sortedBossIds.Count - 1; i >= 0; i--) { @@ -108,6 +117,7 @@ return config.NPCID; } } return 0; } System/FindPrecious/PersonalBossWin.cs
@@ -69,7 +69,7 @@ var bosses = new List<int>(); bosses.AddRange(model.GetPersonalBosses()); model.selectedBoss = model.GetLatestUnLockBoss(); model.selectedBoss = model.GetRecommendBoss(); m_BossIntroduce.Display(model.selectedBoss, true); m_Bosses.Init(bosses); @@ -122,7 +122,7 @@ return false; } if (!findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss)) if (!findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 3; return false; @@ -163,8 +163,6 @@ private void DisplayGotoKillButton(int bossId) { var isUnLocked = findPreciousModel.IsBossUnlock(bossId); m_Goto.gameObject.SetActive(isUnLocked); } } System/FindPrecious/WorldBossModel.cs
@@ -81,12 +81,21 @@ public List<int> GetWorldBosses() { var activedBossIds = new List<int>(); var lockedCount = 0; for (int i = 0; i < sortedBossIds.Count; i++) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId)) if (findPreciousModel.IsBossUnlock(bossId)) { activedBossIds.Add(bossId); } else { if (lockedCount < 2) { activedBossIds.Add(bossId); lockedCount++; } } } @@ -112,20 +121,30 @@ public int GetRecommendBoss() { var playerLevel = PlayerDatas.Instance.baseData.LV; var preferBoss = 0; for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; var npcConfig = NPCConfig.Get(bossId); if (findPreciousModel.IsBossUnlock(bossId) && findPreciousModel.IsBossAlive(bossId) && playerLevel >= npcConfig.NPCLV) if (findPreciousModel.IsBossUnlock(bossId)) { return bossId; if (preferBoss == 0) { preferBoss = bossId; } if (findPreciousModel.IsBossAlive(bossId) && findPreciousModel.IsSameBigRealmStageBoss(bossId)) { return bossId; } } } return sortedBossIds[0]; if (preferBoss == 0) { preferBoss = sortedBossIds[0]; } return preferBoss; } private void OnFunctionChange(int id) System/FindPrecious/WorldBossWin.cs
@@ -142,7 +142,7 @@ private bool TestGotoKillBoss(out int _error) { if (findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss)) if (findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 4; return false; @@ -230,8 +230,6 @@ private void DisplayGotoKillButton(int bossId) { var isUnLocked = findPreciousModel.IsBossUnlock(bossId); m_Goto.gameObject.SetActive(isUnLocked); } private void DisplaySubscribe(int bossId) @@ -246,7 +244,7 @@ private void DisplayTip(int bossId) { if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId)) if (!findPreciousModel.IsBossUnlock(bossId)) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); System/MainInterfacePanel/MainInterfaceWin.cs
@@ -96,6 +96,7 @@ m_ChatTip.Init(); m_HighSettingTip.Init(); m_HighSettingFadeInFadeOut.Init(); m_MainPositionTween.Init(); m_TaskListTip.Init(); m_IsShowXp.Init(); m_TopRightTip.Init(); @@ -188,6 +189,7 @@ m_ChatTip.UnInit(); m_HighSettingTip.UnInit(); m_HighSettingFadeInFadeOut.UnInit(); m_MainPositionTween.UnInit(); m_TaskListTip.UnInit(); m_TopRightTip.UnInit(); m_FunctionForecastTip.Unit(); System/MainInterfacePanel/MainPositionTween.cs
@@ -43,6 +43,16 @@ TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public void Init() { this.enabled = true; } public void UnInit() { this.enabled = false; } void Start() { m_RayMask.AddListener(MarkRayButton); System/MainWin/HighSettingFadeInFadeOut.cs
@@ -52,6 +52,7 @@ public void Init() { this.enabled = true; RefreshGridsActiveState(); TimeUtility.OnServerOpenDayRefresh += OnStepServerDay; @@ -82,6 +83,8 @@ OpenServerModel.IsOpenEvent -= IsOpenEvent; OpenServerModel.IsPreviewTimeUpdate -= IsOpenEvent; OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent; this.enabled = false; } void Switch(bool active) System/Rune/RuneModel.cs
@@ -974,7 +974,7 @@ { string formula = string.Empty; Dictionary<int, float> qualityModulusDict; Dictionary<int, float> multiPropertyModulusDict; float multiPropertyModulus = 1f; Dictionary<int, int> qualityBaseProperty; Dictionary<int, float> cacheFormulaResult; @@ -982,7 +982,7 @@ { formula = config.Numerical1; qualityModulusDict = ConfigParse.GetDic<int, float>(config.Numerical2); multiPropertyModulusDict = ConfigParse.GetDic<int, float>(config.Numerical3); multiPropertyModulus = float.Parse(config.Numerical3); qualityBaseProperty = ConfigParse.GetDic<int, int>(config.Numerical4); cacheFormulaResult = new Dictionary<int, float>(); } @@ -1021,9 +1021,8 @@ baseValue = qualityBaseProperty[quality]; } if (multiPropertyModulusDict.ContainsKey(propertyCount)) if (propertyCount > 1) { var multiPropertyModulus = multiPropertyModulusDict[propertyCount]; result = (formulaResult * qualityModulus + baseValue) * multiPropertyModulus; } else System/Treasure/ClientTreasureDungeonStage.cs
@@ -161,7 +161,13 @@ var endPos = heroPos + Vector3.up * 0.5f; startPos.y = heroPos.y; m_FlyControllers.Add(SFXPlayUtility.Instance.Play(20046, startPos, Vector3.forward)); var sfx = SFXPlayUtility.Instance.Play(20046, startPos, Vector3.forward); if (sfx == null) { yield break; } m_FlyControllers.Add(sfx); var bezier = m_FlyControllers[i].AddMissingComponent<BezierMove>(); m_FlyControllers[i].gameObject.SetLayer(LayerUtility.DefaultLayer, true);