public void AddEffect(UserRole.MagicState magicAttrib) { _magicAttribs.Enqueue(magicAttrib); if (_controller.uiSlot == null) { return; } //Debug.Log("AddEffect " + magicAttrib.EffectType); if (_uiEffectSet.ContainsKey(magicAttrib.EffectType)) { //Debug.Log("_uiEffectSet.ContainsKey " + magicAttrib.EffectType); _uiEffectSet[magicAttrib.EffectType].AddDuration(magicAttrib.RemainTime); } else { //Debug.Log("effectRoot " + _controller.uiSlot.effectRoot); //Debug.Log("_uiEffectPrefab " + _uiEffectPrefab); GameObject go = NGUITools.AddChild(_controller.uiSlot.effectRoot, _uiEffectPrefab); UIEffectController uiEffect = go.GetComponent <UIEffectController>(); uiEffect.CreateEffect(this, magicAttrib); go.transform.localPosition = new Vector3((_uiEffectSet.Count % 3) * _offset.x, (_uiEffectSet.Count / 3) * _offset.y, 0); _uiEffectSet.Add(magicAttrib.EffectType, uiEffect); } }
private IEnumerator CheckShowEffect() { while (true) { if ((_effectController == null || _effectController.curState != EffectController.EffectState.Idle) && _magicAttribs.Count > 0) { UserRole.MagicState magicAttrib = _magicAttribs.Dequeue(); string path = GetPathEffect(magicAttrib.EffectType); if (path != "") { GameObject go = GameObject.Instantiate(Resources.Load(path) as GameObject) as GameObject; _effectController = go.GetComponent <EffectController>(); if (_controller.uiSlot != null) { _effectController.EndPos = _controller.uiSlot.worldPos; } go.transform.parent = _controller.transform; go.transform.localPosition = _controller.offsetEffect; go.transform.localScale = new Vector3(1, 1, 1); go.transform.rotation = _controller.transform.rotation; } } yield return(new WaitForSeconds(0.5f)); } }
public void CreateEffect(EffectManager manager, UserRole.MagicState magicAttrib) { //Debug.Log("CreateEffect " + magicAttrib.EffectType + " " + magicAttrib.RemainTime); /* icon.mainTexture = Resources.Load<Texture2D>(GetIconPath(magicAttrib.EffectType)); * _duration = magicAttrib.RemainTime; * _timeLeft = _duration; * _manager = manager; * _magicAttrib = magicAttrib; * StartCoroutine(UpdateTimer());*/ }
public void AddEffect(UserRole.MagicState magicAttrib) { int idEffect = (int)magicAttrib.EffectType; GameObject go = NGUITools.AddChild(uiEffect.root.gameObject, uiEffect.prefab); go.GetComponent <UIEffectEvent>().effectID = idEffect; UISpriteAnimation anim = go.GetComponent <UISpriteAnimation>(); string effectPrefix = string.Format("effect{0:D2}_", idEffect); go.GetComponent <UISprite>().spriteName = effectPrefix + "1"; anim.namePrefix = effectPrefix; go.SetActive(true); if (effectObjectList.ContainsKey(magicAttrib.EffectType)) { RemoveEffect(magicAttrib.EffectType); } effectObjectList.Add(magicAttrib.EffectType, go); uiEffect.root.Reposition(); }
void TestEffect() { if (Input.GetKeyDown(KeyCode.S)) { UserRole.RoleState roleState = new UserRole.RoleState() { RoleUId = 1, }; roleState.MagicStates = new UserRole.MagicState[1]; UserRole.MagicState magicState = new UserRole.MagicState() { RemainTime = 5, AttribType = AttribType.SkillDisable, EffectType = EffectType.Slow, AffectValue = 1 }; roleState.MagicStates[0] = magicState; CheckEffect(roleState); } }