//PLAYER EFFECTS PlayerEffect CreatePlayerEffect(DiContainer _, TraceSettings.EffectType effectType, int i, Transform parent) { PlayerEffect instPrefab = null; if (effectType == TraceSettings.EffectType.MainEffect) { instPrefab = GetPlayerEffectPrefab(_effectsSettings.playerMainParticleEffects, i, parent); } else if (effectType == TraceSettings.EffectType.DieEffect) { instPrefab = GetPlayerEffectPrefab(_effectsSettings.playerDieEffects, i, parent); } else if (effectType == TraceSettings.EffectType.AdditionalEffect) { instPrefab = GetPlayerEffectPrefab(_effectsSettings.playerShield, i, parent); } else if (effectType == TraceSettings.EffectType.OuterMainEffect) { instPrefab = GetPlayerEffectPrefab(_effectsSettings.playerOuterParticleEffects, i, parent); } return(instPrefab); }
//OBSTACLE EFFECTS ObstacleEffect CreateObstacleEffect(DiContainer _, TraceSettings.EffectType effectType, TraceSettings.ColorTypeList.ColorType colorType, Transform parent) { GameObject prefab = null; ObstacleEffect instPrefab = null; if (effectType == TraceSettings.EffectType.DieEffect) { Quaternion startRot = Quaternion.identity; Vector3 startPos = Vector3.zero; foreach (var obstacleEffect in _effectsSettings.obstacleBreakEffects) { if (obstacleEffect.colorType == colorType && obstacleEffect.effectPrefab != null) { prefab = obstacleEffect.effectPrefab; startRot = prefab.transform.localRotation; startPos = prefab.transform.localPosition; prefab.SetActive(false); } } if (prefab != null) { instPrefab = Container.InstantiatePrefabForComponent <ObstacleEffect>(prefab); if (parent != null) { instPrefab.transform.SetParent(parent); } //instPrefab.transform.localRotation = startRot; instPrefab.transform.localPosition = Vector3.zero; } } else if (effectType == TraceSettings.EffectType.WinEffect) { Quaternion startRot = Quaternion.identity; Vector3 startPos = Vector3.zero; foreach (var obstacleEffect in _effectsSettings.obstacleNotPassingEffects) { if (obstacleEffect.colorType == colorType && obstacleEffect.effectPrefab != null) { prefab = obstacleEffect.effectPrefab; startRot = prefab.transform.localRotation; startPos = prefab.transform.localPosition; prefab.SetActive(false); } } if (prefab != null) { instPrefab = Container.InstantiatePrefabForComponent <ObstacleEffect>(prefab); if (parent != null) { instPrefab.transform.SetParent(parent); } // instPrefab.transform.localRotation = startRot; instPrefab.transform.localPosition = Vector3.zero; } } return(instPrefab); }