public void Init(GameEffectData conf) { this.conf = conf; ps = transform.GetComponent <ParticleSystem>(); gameObject.SetActive(false); Stop(); }
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); }
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); }
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; }
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 }