Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    public void RemoveEffect(EffectType type)
    {
        UIEffectController uiEffect = _uiEffectSet[type];

        if (uiEffect != null)
        {
            GameObject.Destroy(uiEffect.gameObject);
            _uiEffectSet.Remove(type);
        }
        //Debug.Log("RemoveEffect");
        _controller.RemoveEffect(type);
        RefreshEffectSet();
    }