private void Awake() { SetTimeToFire(); music = FindObjectOfType <MusicManager>(); particle = FindObjectOfType <ParticleDestroy>(); maxfrecvencyOfFire = 10 / EnemySpawner.level; minfrecvencyOfFire = 5 / EnemySpawner.level; }
//获取特效预设 public void AddEffectByInfo(EffectInfo info, Transform layer = null) { if (info.Id == "") { return; } if (null == layer) { layer = GameObject.Find("PlayerLayer").transform; } string effectPath = GetEffectName(info.Id); int effectKey = -1; //存在声明周期的特效 if (info.LifeTime <= 0) { effectKey = GetEffectDicKey(); info.AssetKey = effectKey; //数据层启动 占位 资源加载完毕 覆盖 _effectDic[effectKey] = null; } AssetManager.LoadAsset(effectPath, (Object target, string path) => { GameObject go = target as GameObject; //管理器清除 或者占位符 已经移除 特效已经不存在 不需要创建 if (null != go && null != layer && null != _effectDic && _effectDic.ContainsKey(effectKey)) { Transform effect = GameObject.Instantiate(go).transform; effect.transform.localPosition = new Vector3(info.Offset.x, 0.1f, info.Offset.y); effect.transform.localRotation = Quaternion.Euler(Vector3.up * info.Rotate); effect.transform.SetParent(layer, false); if (info.LifeTime > 0) { ParticleDestroy pds = go.GetComponent <ParticleDestroy>(); if (null == pds) { pds = go.AddComponent <ParticleDestroy>(); } pds.lifetime = info.LifeTime; } else { _effectDic[effectKey] = effect.gameObject; } } }); }
private void Awake() { Instante = this; }