예제 #1
0
 private void Awake()
 {
     SetTimeToFire();
     music              = FindObjectOfType <MusicManager>();
     particle           = FindObjectOfType <ParticleDestroy>();
     maxfrecvencyOfFire = 10 / EnemySpawner.level;
     minfrecvencyOfFire = 5 / EnemySpawner.level;
 }
예제 #2
0
    //获取特效预设
    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;
                }
            }
        });
    }
예제 #3
0
 private void Awake()
 {
     Instante = this;
 }