public EffectObject(EffectCfg config, Transform root) { this.config = config; this.EffectID = config.ID; this.gameObject = new GameObject(config.ID.ToString()); this.transform = gameObject.transform; this.transform.SetParent(root); this.assetBundleName = string.Format(effectBundlePath, config.AssetName.ToLower()); this.activelayer = LayerManager.DefaultLayer; assetLoadOperation = AssetLoadManager.LoadAssetAsync(assetBundleName, config.AssetName, typeof(GameObject)); }
public EffectObject(EffectCfg config, Transform root) { this.config = config; this.EffectID = config.ID; this.gameObject = new GameObject(config.ID.ToString()); this.gameObject.SetActive(false); this.transform = gameObject.transform; this.transform.SetParent(root); this.assetBundlePath = string.Format("effects/{0}.bundle", config.AssetName.ToLower()); LoadAsset(); }
private void InitRuntimeData(EffectCfg row) { row.OnBeginPlayArray = ConfigParseUtil.ParseIntArray(row.OnBeginPlay); row.OnEndPlayArray = ConfigParseUtil.ParseIntArray(row.OnEndPlay); row.LocalPositionVec3 = ConfigParseUtil.ParseVec3(row.LocalPosition); row.LocalRotationVec3 = ConfigParseUtil.ParseVec3(row.LocalRotation); row.LocalRotationQuaternion = Quaternion.Euler(row.LocalRotationVec3); row.LocalScaleVec3 = ConfigParseUtil.ParseVec3(row.LocalScale); if (row.LocalScaleVec3 == Vector3.zero) { row.LocalScaleVec3 = Vector3.one; } }
private static EffectObject CreateEffectObject(EffectCfg config) { if (config == null) { return(null); } Profiler.BeginSample("new EffectObject"); EffectObject effectObj = new EffectObject(config, Instance.transform); Profiler.EndSample(); return(effectObj); }
private static EffectObject CreateEffectObject(int id) { EffectCfg config = EffectConfig.GetConfig(id); if (config == null) { Debug.LogErrorFormat("Failed to find config of effect {0}", id); return(null); } EffectObject effectObj = new EffectObject(config, Instance.transform); return(effectObj); }
private static EffectObject FetchEffectObject(int id) { // 检测特效限制 EffectCfg config = effectConfigLoader.GetConfig(id); if (config == null) { DebugLogger.LogErrorFormat("[EffectManager]:Failed to find config of effect {0}", id); return(null); } if (config.Priority != (int)EffectPriority.High && unimportantEffectsCount >= s_maxEffectCount) { if (config.Priority == (int)EffectPriority.Meidum) { if (RemoveALowPriorityEffect() == false) { return(null); } } else { // 达到同屏限制 return(null); } } EffectObject effectObj = FetchFromPool(id); if (effectObj == null) { effectObj = CreateEffectObject(config); } if (config.Priority != (int)EffectPriority.High) { unimportantEffectsCount++; } return(effectObj); }
private void OnReadRow(EffectCfg row) { InitRuntimeData(row); m_data[row.ID] = row; }
private void OnReadRow(EffectCfg obj) { InitRuntimeData(obj); m_data[obj.ID] = obj; }