Esempio n. 1
0
    public T GetEffectData <T>(EEffectType effectType)
        where T : EffectBase
    {
        m_preEffectType = effectType;
        EffectBase effect = null;

        m_effectDic.TryGetValue((byte)effectType, out effect);
        return(effect as T);
    }
Esempio n. 2
0
    virtual protected void OnDefineEffect()
    {
        _eEffectType = EEffectType.None;
#if NGUI
        if (_eEffectType == EEffectType.None && _p2DSpriteAnimation != null)
        {
            _eEffectType = EEffectType.TwoD;
        }
#endif
        if (_eEffectType == EEffectType.None && _pParticleSystem != null)
        {
            _eEffectType = EEffectType.Particle;
        }
    }
        /// <summary>
        /// Set effect.
        /// </summary>
        public void SetEffect(EEffectType effectType)
        {
            Material material = null;

            if (effectType == EEffectType.Dark)
            {
                material = MyResourceManager.GetMaterialDarkening();
            }
            else if (effectType == EEffectType.Gray)
            {
                material = MyResourceManager.GetMaterialGrayscale();
            }

            mBackground.material = material;
            mToggle.material     = material;

            mEffectType = effectType;
        }
Esempio n. 4
0
    virtual protected void OnDefineEffect()
    {
        _eEffectType = EEffectType.None;

        if (_eEffectType == EEffectType.None && _pNGUISpriteAnimation != null)
        {
            _eEffectType = EEffectType.NGUI;
        }

        if (_eEffectType == EEffectType.None && _pSpriteAnimation != null)
        {
            _eEffectType = EEffectType.Sprite;
        }

        if (_eEffectType == EEffectType.None && _pParticleSystem != null)
        {
            _eEffectType = EEffectType.Particle;
        }
    }
Esempio n. 5
0
    public void setEffectParam(string prefaburl, Vector3 position, Quaternion rotations, EEffectType type = EEffectType.Normal)
    {
        string asseturl = UrlManager.GetEffectUrl(prefaburl,type);
        GameObject prefab = ResourceManager.loadAsset<GameObject>(asseturl);
        if (prefab != null)
        {
            effectInstance = Instantiate(prefab, Vector3.zero, Quaternion.identity) as GameObject;

            //effect.transform.localScale = new Vector3(8, 8, 8);
            effectInstance.transform.rotation = rotations;
            transform.position = position;

            effectInstance.transform.parent = gameObject.transform;
            effectInstance.transform.localPosition = Vector3.zero;
            
        }
        if (type != EEffectType.Move)
            Invoke("destroyDelay", 5);
    }
 /// <summary>
 /// Set gray mode.
 /// </summary>
 public void SetGrayMode(bool isGrayImage = true, bool isGrayText = true)
 {
     if (isGrayImage && isGrayText)
     {
         mGrayType = EEffectType.Gray;
     }
     else if (isGrayImage)
     {
         mGrayType = EEffectType.GrayImageOnly;
     }
     else if (isGrayText)
     {
         mGrayType = EEffectType.GrayTextOnly;
     }
     else
     {
         mGrayType = EEffectType.None;
     }
 }
 /// <summary>
 /// Set dark mode.
 /// </summary>
 public void SetDarkMode(bool isDarkImage = true, bool isDarkText = true)
 {
     if (isDarkImage && isDarkText)
     {
         mDarkType = EEffectType.Dark;
     }
     else if (isDarkImage)
     {
         mDarkType = EEffectType.DarkImageOnly;
     }
     else if (isDarkText)
     {
         mDarkType = EEffectType.DarkTextOnly;
     }
     else
     {
         mDarkType = EEffectType.None;
     }
 }
Esempio n. 8
0
    private void OnTriggerEffectStart(GameEvent eve)
    {
        List <EEffectType> types = CreateRandomEffectType();
        EEffectType        type  = types[m_index];

        //TODO:触发执行对应的事件

        type = EEffectType.InkEffect;

        EffectBase effect = m_effect.GetEffectData <EffectBase>(type);

        if (effect != null)
        {
            m_ground.ExcuteEffect(effect, m_side);
            m_gameBall.ExcuteEffect(effect, m_side);
            m_contestUI.PlayEffect(effect, m_side);
        }

        m_index++;
    }
Esempio n. 9
0
        private static Transform getEffectSystem(ushort mythicID, EEffectType type)
        {
            MythicAsset mythicAsset = (MythicAsset)Assets.find(EAssetType.MYTHIC, mythicID);

            if (mythicAsset == null)
            {
                return(null);
            }
            Object @object;

            switch (type)
            {
            case EEffectType.AREA:
                @object = mythicAsset.systemArea;
                break;

            case EEffectType.HOOK:
                @object = mythicAsset.systemHook;
                break;

            case EEffectType.THIRD:
                @object = mythicAsset.systemThird;
                break;

            case EEffectType.FIRST:
                @object = mythicAsset.systemFirst;
                break;

            default:
                return(null);
            }
            if (@object == null)
            {
                return(null);
            }
            Transform transform = ((GameObject)Object.Instantiate(@object)).transform;

            transform.name = "System";
            return(transform);
        }
Esempio n. 10
0
    private List <EEffectType> CreateRandomEffectType()
    {
        bool random = false;

        if (m_effectList == null)
        {
            m_effectList = new List <EEffectType>();
            random       = true;
        }

        if (!random && m_effectList.Count <= m_index)
        {
            m_index = 0;
            random  = true;
        }

        if (random)
        {
            m_effectList.Clear();
            for (EEffectType i = EEffectType.Shield; i < EEffectType.MaxType; i++)
            {
                m_effectList.Add(i);
            }

            m_effectList.Sort((type, effectType) =>
            {
                float value = Random.Range(0, 1);
                if (value < 0.5f)
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            });
        }

        return(m_effectList);
    }
Esempio n. 11
0
    void updateVisualEffect(int index, EEffectType type)
    {
        switch (type)
        {
        case EEffectType.Active:
        {
            m_PuzzleObjects[index].color = Color.red;
            break;
        }

        case EEffectType.Default:
        {
            m_PuzzleObjects[index].color = Color.white;
            break;
        }

        case EEffectType.Correct:
        {
            m_PuzzleObjects[index].color = Color.clear;
            break;
        }
        }
    }
Esempio n. 12
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;
    }
Esempio n. 13
0
        public static Transform applyEffect(Transform model, ushort mythicID, EEffectType type)
        {
            if (mythicID == 0)
            {
                return(null);
            }
            if (model == null)
            {
                return(null);
            }
            Transform transform    = model.FindChild("Effect");
            Transform effectSystem = ItemTool.getEffectSystem(mythicID, type);

            if (effectSystem != null)
            {
                if (transform != null)
                {
                    effectSystem.parent = transform;
                    MythicLockee mythicLockee = effectSystem.gameObject.AddComponent <MythicLockee>();
                    MythicLocker mythicLocker = transform.gameObject.AddComponent <MythicLocker>();
                    mythicLocker.system = mythicLockee;
                    mythicLockee.locker = mythicLocker;
                }
                else
                {
                    effectSystem.parent = model;
                    MythicLockee mythicLockee2 = effectSystem.gameObject.AddComponent <MythicLockee>();
                    MythicLocker mythicLocker2 = model.gameObject.AddComponent <MythicLocker>();
                    mythicLocker2.system = mythicLockee2;
                    mythicLockee2.locker = mythicLocker2;
                }
                effectSystem.localPosition = Vector3.zero;
                effectSystem.localRotation = Quaternion.identity;
            }
            return(effectSystem);
        }
Esempio n. 14
0
    private EEffectType[] CreateRandomEffectType()
    {
        int count = (int)EEffectType.MaxType;

        if (m_effect.PreEffectType != EEffectType.MaxType)
        {
            count--;
        }

        EEffectType[] types = new EEffectType[count];
        int           index = 0;

        for (EEffectType i = 0; i < EEffectType.MaxType; i++)
        {
            if (m_effect.PreEffectType == i)
            {
                continue;
            }

            types[index] = i;
        }

        return(types);
    }
Esempio n. 15
0
 void showDogeCritEffect(EEffectType type)
 {
     GameObject effect = new GameObject(type.ToString());
     effect.AddComponent<EffectAsset>().setEffectParam("", rolePosition + Vector3.up, roleRotation, type);
 }
Esempio n. 16
0
 public EffectBase(EEffectType effectType, float time)
 {
     m_effectType = effectType;
     m_duringTime = time;
 }
Esempio n. 17
0
 public static void applyEffect(Transform[] bones, Transform[] systems, ushort mythicID, EEffectType type)
 {
     if (mythicID == 0)
     {
         return;
     }
     if (bones == null || systems == null)
     {
         return;
     }
     for (int i = 0; i < bones.Length; i++)
     {
         systems[i] = ItemTool.applyEffect(bones[i], mythicID, type);
     }
 }
        /// <summary>
        /// Set effect.
        /// </summary>
        public void SetEffect(EEffectType effectType)
        {
            if (mEffectType == effectType)
            {
                return;
            }

            _InitImage();
            _InitIcon();
            _InitText();

            if (mImage != null)
            {
                if (effectType == EEffectType.Dark || effectType == EEffectType.DarkImageOnly)
                {
                    mImage.material = MyResourceManager.GetMaterialDarkening();
                }
                else if (effectType == EEffectType.Gray || effectType == EEffectType.GrayImageOnly)
                {
                    mImage.material = MyResourceManager.GetMaterialGrayscale();
                }
                else
                {
                    mImage.material = null;
                }
            }
            if (mIcon != null)
            {
                if (effectType == EEffectType.Dark || effectType == EEffectType.DarkImageOnly)
                {
                    mIcon.material = MyResourceManager.GetMaterialDarkening();
                }
                else if (effectType == EEffectType.Gray || effectType == EEffectType.GrayImageOnly)
                {
                    mIcon.material = MyResourceManager.GetMaterialGrayscale();
                }
                else
                {
                    mIcon.material = null;
                }
            }
            if (mText != null)
            {
                if (effectType == EEffectType.Dark || effectType == EEffectType.DarkTextOnly)
                {
                    mText.material = MyResourceManager.GetMaterialDarkening();
                }
                else if (effectType == EEffectType.Gray || effectType == EEffectType.GrayTextOnly)
                {
                    mText.material = MyResourceManager.GetMaterialGrayscale();
                }
                else
                {
                    mText.material = null;
                }
            }
#if USE_MY_UI_TMPRO
            else if (mTextTMPro != null)
            {
                if (effectType == EEffectType.Dark || effectType == EEffectType.DarkTextOnly)
                {
                    mTextTMPro.material = MyResourceManager.GetMaterialDarkening();
                }
                else if (effectType == EEffectType.Gray || effectType == EEffectType.GrayTextOnly)
                {
                    mTextTMPro.material = MyResourceManager.GetMaterialGrayscale();
                }
                else
                {
                    mTextTMPro.material = null;
                }
            }
#endif

            mEffectType = effectType;
        }
Esempio n. 19
0
 protected void SetEffect(EEffectType type)
 {
     m_effectType = type;
     m_effectTime = m_EffectTimeMax;
 }