public void ActivatePowerUpEffect(PowerUpEffectBase powerUpEffect, ActionParams actionParams)
        {
            Debug.Log("Power up activated");

            //--Deactivate previous powerup if nesseccary
            DeactivateEffect();

            //StopCoroutine("Effect");

            mActionParams        = actionParams;
            mActivePowerUpEffect = powerUpEffect;
            mActivePowerUpEffect.OnStart();
            mTime = powerUpEffect.Time;


            //mHud.SetPowerUpIcon(mActivePowerUpEffect.IconSprite);

            StartCoroutine("Effect");
            //if (mActivePowerUpEffect == null)
            //{

            //}
            //else
            //{
            //    Debug.Log("Power up slot is filled");
            //}
        }
        public void Start()
        {
            mActivePowerUpEffect = null;
            mTime         = 0;
            mActionParams = ActionParams.EmptyParams;

            mSubScene = GetComponentInParent <SubScene>();

            Init();
        }
        public void DeactivateEffect()
        {
            if (mActivePowerUpEffect)
            {
                string eventName = mActivePowerUpEffect.GetFinishEvent();
                mSubScene.GetEventManager().CallEvent(eventName, ActionParams.EmptyParams);
            }
            mTime = 0;
            mActivePowerUpEffect = null;
            mActionParams        = ActionParams.EmptyParams;

            if (mHud)
            {
                mHud.RemovePowerUpIcon();
                mHud.SetPowerUpSlotBarPercent(0);
            }
        }