Exemple #1
0
    public void Init(GameEffectData conf)
    {
        this.conf = conf;
        ps        = transform.GetComponent <ParticleSystem>();

        gameObject.SetActive(false);
        Stop();
    }
Exemple #2
0
    public override void Init(GameEffectData conf)
    {
        base.Init(conf);

        //BrokenEffect
        ParticleSystem chileps = transform.Find("BrokenEffect").GetComponent <ParticleSystem>();

        Material m = chileps.GetComponent <Renderer>().material;

        m.SetTexture("_MainTex", InGameManager.GetInstance().stepSpriteRes.texture);

        ParticleSystem circle = transform.Find("Particle System").GetComponent <ParticleSystem>();

        Material cm = circle.GetComponent <Renderer>().material;

        cm.SetTexture("_MainTex", InGameManager.GetInstance().stepSpriteRes.texture);
    }
Exemple #3
0
    GameEffect CreateEffect(int effectid)
    {
        GameEffectData _conf = ConfigManager.confEffectManager.GetData(effectid);
        Object         obj   = Resources.Load(_conf.file_path);

        if (obj == null)
        {
            Debug.LogError("cant find file ! : " + _conf.file_path);
        }
        if (_conf.res_type == 1)
        {
            GameObject go = (GameObject)MonoBehaviour.Instantiate(obj);
            go.transform.position = new Vector3(-999999, 0, 0);
            GameEffect ge = go.AddComponent <GameEffect>();
            ge.Init(_conf);

            return(ge);
        }
        return(null);
    }
Exemple #4
0
    public GameEffect()
    {
        m_effectDic = new Dictionary <byte, EffectBase>
        {
            { (byte)EEffectType.Shield, new EffectShield(5f) },
            { (byte)EEffectType.BananaBall, new EffectBananaBall(10f) },
            { (byte)EEffectType.InkEffect, new EffectInk(6f) }
        };

        m_effectData = new GameEffectData();

        GameResModuel resModuel = GameStart.GetInstance().ResModuel;
        GameObject    prefab    = resModuel.LoadResources <GameObject>(EResourceType.Effect, "Warning");

        prefab           = CommonFunc.Instantiate(prefab);
        m_effectInstance = prefab.AddComponent <GameEffectInstance>();
        m_effectInstance.gameObject.SetActive(false);

        m_effecting      = false;
        m_createNextTime = Time.time + m_effectData.GetRandomTime();

        m_preEffectType = EEffectType.MaxType;
    }
Exemple #5
0
    public GameEffectManager()
    {
        //创建特效,加入到池里
        List <GameEffectData> _conf = ConfigManager.confEffectManager.datas;

        for (int i = 0; i < _conf.Count; i++)
        {
            GameEffectData conf = _conf[i];
            for (int j = 0; j < conf.repeat_count; j++)
            {
                GameEffect eff = CreateEffect(conf.id);
                if (eff != null)
                {
                    if (!effectPool.ContainsKey(conf.id))
                    {
                        effectPool.Add(conf.id, new List <GameEffect>());
                    }
                    effectPool[conf.id].Add(eff);
                }
            }
        }

        EventManager.Register(this, EventID.EVENT_CREATE_EFFECT);
    }
    public override void Init(GameEffectData conf)
    {
        base.Init(conf);

        //BrokenEffect
    }