コード例 #1
0
 private void Reset()
 {
     // SpellCardTime
     _isShowSpellCardTime = false;
     _scTimeObject.SetActive(false);
     // 符卡名称
     TweenManager.GetInstance().RemoveTweenByGo(_scNameObject);
     _scNameObject.SetActive(false);
     // 隐藏符卡结算ui
     _isShowSpellCardInfo = false;
     _isShowingSCResult   = false;
     _spellCardResultPanel.SetActive(false);
     if (_isShowImgExtend)
     {
         _imgExtendGo.SetActive(false);
         TweenManager.GetInstance().RemoveTweenByGo(_imgExtendGo);
     }
     _isShowImgExtend = false;
     _bossInfoSCLeft  = 0;
     if (_isShowBossInfo)
     {
         _bossInfoGo.SetActive(false);
         _isShowBossInfo = false;
     }
 }
コード例 #2
0
 // Update is called once per frame
 void Update()
 {
     FPSController.GetInstance().SleepToNextFrame();
     //if (_isFirst)
     //{
     //    _isFirst = false;
     //    _lastFrameTime = TimeUtil.GetTimestamp();
     //}
     //else
     //{
     //    long curFrameTime = TimeUtil.GetTimestamp();
     //    Logger.Log("FrameDuration = " + 1000f * (curFrameTime - _lastFrameTime) / 10000000);
     //    _lastFrameTime = curFrameTime;
     //}
     _fsm.Update();
     TimerManager.GetInstance().Update();
     TweenManager.GetInstance().Update();
     UIManager.GetInstance().Update();
     SoundManager.GetInstance().Update();
     // 销毁检测
     if (Global.SysBusyValue < Consts.SysBusyValue)
     {
         ObjectsPool.GetInstance().CheckDestroyPoolObjects();
         if (Global.SysBusyValue == 0)
         {
             ObjectsPool.GetInstance().DestroyProtoTypes();
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// 按下ESC键
 /// </summary>
 private void OnEscHandler()
 {
     // 若当前是子选择界面,返回上一级
     if (_state == StateConfirm)
     {
         _state = StatePause;
         TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem);
         _yesNoPanel.SetActive(false);
         SetCurSelectItem(_curSelectIndex);
         SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false);
     }
     // 若当前正在暂停界面,则直接返回游戏
     else if (_state == StatePause)
     {
         if (_pauseState == ePauseViewState.PauseAfterGameClear)
         {
             return;
         }
         if (_pauseState == ePauseViewState.PauseAfterReplayFinished)
         {
             return;
         }
         if (_pauseState == ePauseViewState.PauseAfterGameOver)
         {
             return;
         }
         Hide();
         CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGame);
         SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false);
     }
 }
コード例 #4
0
    private void OnPlayerExtend()
    {
        if (_isShowImgExtend)
        {
            TweenManager.GetInstance().RemoveTweenByGo(_imgExtendGo);
        }
        else
        {
            _isShowImgExtend = true;
            _imgExtendGo.SetActive(true);
            _imgExtend.color = new Color(1, 1, 1, 0);
        }
        // 出现
        TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>();

        tween.SetParas(_imgExtendGo, 0, 10, ePlayMode.Once);
        tween.SetParas(1, InterpolationMode.Linear);
        TweenManager.GetInstance().AddTween(tween);
        // 渐隐
        tween = TweenManager.GetInstance().Create <TweenAlpha>();
        tween.SetParas(_imgExtendGo, 120, 20, ePlayMode.Once);
        tween.SetParas(0, InterpolationMode.Linear);
        tween.SetFinishCallBack(OnExtendFinish);
        TweenManager.GetInstance().AddTween(tween);
        SoundManager.GetInstance().Play("se_extend", Consts.DefaultUISEVolume, false, false);
    }
コード例 #5
0
    private void PlayCGAni(object[] datas)
    {
        _charCGGo.SetActive(true);
        _isPlayingCharCG = true;
        string path = (string)datas[0];

        _charCGImg.sprite = Resources.Load <Sprite>(path);
        _charCGImg.SetNativeSize();
        ILuaState        luaState  = (ILuaState)datas[1];
        List <TweenBase> tweenList = ParseLuaTableToTweenList(luaState);
        int       count            = tweenList.Count;
        int       maxTime          = 0;
        TweenBase tween;

        for (int i = 0; i < count; i++)
        {
            tween = tweenList[i];
            if (maxTime < tween.delay + tween.duration)
            {
                maxTime = tween.delay + tween.duration;
            }
        }
        TweenPos2D endTween = new TweenPos2D();

        endTween.SetParas(_charCGGo, maxTime + 1, 0, ePlayMode.Once);
        endTween.SetFinishCallBack(OnPlayCGFinish);
        endTween.SetIgnoreTimeScale(false);
        TweenManager.GetInstance().AddTweens(_charCGGo, tweenList);
    }
コード例 #6
0
        public void TweenToPos(Vector2 pos, int duration)
        {
            TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>();

            tween.SetParas(_itemGo, 0, duration, ePlayMode.Once);
            tween.SetParas(pos, InterpolationMode.EaseOutQuad);
            TweenManager.GetInstance().AddTween(tween);
        }
コード例 #7
0
    /// <summary>
    /// 设置主界面当前选中的选项
    /// </summary>
    /// <param name="index"></param>
    private void SetSelectIndex(int index, bool playAni)
    {
        ReplayItem item;

        if (_selectIndex != -1)
        {
            item = _itemList[_selectIndex];
            item.ShowDetails(false);
        }
        _selectIndex = index;
        if (!playAni)
        {
            float posY = 0;
            for (int i = 0; i < MaxInfoCount; i++)
            {
                item = _itemList[i];
                item.SetAnchoredPos(new Vector2(0, posY));
                if (i == _selectIndex)
                {
                    _selectedImgTf.anchoredPosition = new Vector2(0, posY);
                    item.ShowDetails(true);
                    posY -= DetailsHeight;
                }
                else
                {
                    posY -= InfoHeight;
                }
            }
            _viewState = eViewState.Wait;
            _stateTime = 0;
        }
        else
        {
            float posY = 0;
            for (int i = 0; i < MaxInfoCount; i++)
            {
                item = _itemList[i];
                Vector2 endPos = new Vector2(0, posY);
                item.TweenToPos(endPos, TweenDuration);
                if (i == _selectIndex)
                {
                    TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>();
                    tween.SetParas(_selectedImgTf.gameObject, 0, TweenDuration, ePlayMode.Once);
                    tween.SetParas(endPos, InterpolationMode.EaseOutQuad);
                    tween.SetFinishCallBack(SelItemTweenCallback);
                    TweenManager.GetInstance().AddTween(tween);
                    _viewState = eViewState.SelectNextAni;

                    posY -= DetailsHeight;
                }
                else
                {
                    posY -= InfoHeight;
                }
            }
        }
    }
コード例 #8
0
    /// <summary>
    /// 设置UI左上方BOSS信息
    /// <para>scLeft 为0时表示最后一张符卡,不显示代表剩余数量的星星,依次类推</para>
    /// </summary>
    /// <param name="bossName"></param>
    /// <param name="scLeft"></param>
    private void OnShowBossInfo(string bossName, int scLeft)
    {
        GameObject go;
        Image      img;
        TweenAlpha tween;

        if (!_isShowBossInfo)
        {
            // 整个面板设置为可见
            _bossInfoGo.SetActive(true);
            // bossName
            Color textCol = _bossInfoNameText.color;
            textCol.a = 0;
            _bossInfoNameText.color = textCol;
            tween = TweenManager.GetInstance().Create <TweenAlpha>();
            tween.SetParas(_bossInfoNameText.gameObject, 0, 30, ePlayMode.Once);
            tween.SetParas(1, InterpolationMode.Linear);
            TweenManager.GetInstance().AddTween(tween);
        }
        _bossInfoNameText.text = bossName;
        if (scLeft < 0)
        {
            scLeft = 0;
        }
        // scCount
        // 如果剩余符卡数比当前创建的星星数量多,则先创建
        if (scLeft > _bossInfoStarTotalCount)
        {
            while (_bossInfoStarTotalCount < scLeft)
            {
                go = GameObject.Instantiate(_bossInfoStarProto, _bossInfoContainerTf, false);
                go.GetComponent <RectTransform>().anchoredPosition = new Vector2(_bossInfoStarTotalCount * BossInfoSCCountIntervalX, 0);
                _bossInfoStarList.Add(go.GetComponent <Image>());
                _bossInfoStarTotalCount++;
            }
        }
        for (int i = 0; i < scLeft; i++)
        {
            img = _bossInfoStarList[i];
            go  = img.gameObject;
            go.SetActive(true);
            go.transform.localScale = Vector3.one;
            img.color = new Color(1, 1, 1, 0);
            tween     = TweenManager.GetInstance().Create <TweenAlpha>();
            tween.SetParas(go.gameObject, 0, 30, ePlayMode.Once);
            tween.SetParas(1, InterpolationMode.Linear);
            TweenManager.GetInstance().AddTween(tween);
        }
        for (int i = scLeft; i < _bossInfoStarTotalCount; i++)
        {
            _bossInfoStarList[i].gameObject.SetActive(false);
        }
        _bossInfoSCLeft = scLeft;
        _isShowBossInfo = true;
    }
コード例 #9
0
 public void Execute(int cmd, object data)
 {
     if (cmd == CommandConsts.PreloadComplete)
     {
         TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>();
         tween.SetParas(_bgGo, 0, 20, ePlayMode.Once);
         tween.SetParas(1, 0, InterpolationMode.Linear);
         tween.SetFinishCallBack(TweenCallback);
         TweenManager.GetInstance().AddTween(tween);
     }
 }
コード例 #10
0
    /// <summary>
    /// 显示符卡名称
    /// </summary>
    private void ShowSpellCardInfo(string scName)
    {
        _scNameText.text = scName;
        _scNameObject.SetActive(true);
        _scNameObject.transform.localPosition = new Vector2(192, -112);
        TweenPos2D tweenPos = TweenManager.GetInstance().Create <TweenPos2D>();

        tweenPos.SetParas(_scNameObject, 60, 60, ePlayMode.Once);
        tweenPos.SetParas(new Vector2(192, -112), new Vector2(192, 224), InterpolationMode.Linear);
        tweenPos.SetIgnoreTimeScale(false);
        TweenManager.GetInstance().AddTween(tweenPos);
        _isShowSpellCardInfo = true;
    }
コード例 #11
0
 public override void Update()
 {
     if (_curFinishCommandCount >= _totalWaitCommandCount)
     {
         UIManager.GetInstance().UnregisterViewUpdate(this);
         // 缓动
         TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>();
         tween.SetParas(_bgGo, 0, 20, ePlayMode.Once);
         tween.SetParas(1, 0, InterpolationMode.Linear);
         tween.SetFinishCallBack(TweenCallback);
         TweenManager.GetInstance().AddTween(tween);
     }
 }
コード例 #12
0
 protected override void OnHide()
 {
     TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem);
     ResetImgColor(_curSelectItem);
     _curSelectItem = null;
     if (_curYesNoItem != null)
     {
         TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem);
         ResetImgColor(_curYesNoItem);
         _curYesNoItem = null;
     }
     _availableList.Clear();
 }
コード例 #13
0
    protected override void OnShow(object data = null)
    {
        _bgGo.GetComponent <Image>().color = new Color(0, 0, 0, 1);
        _loadingImg.color = new Color(1, 1, 1, 1);

        TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>();

        tween.SetParas(_loadingImg.gameObject, 0, 60, ePlayMode.PingPong);
        tween.SetParas(1, 0, InterpolationMode.Linear);
        TweenManager.GetInstance().AddTween(tween);

        CommandManager.GetInstance().Register(CommandConsts.PreloadComplete, this);
        //UIManager.GetInstance().RegisterViewUpdate(this);
    }
コード例 #14
0
 /// <summary>
 /// 设置主界面当前选中的选项
 /// </summary>
 /// <param name="index"></param>
 private void SetSelectIndex(int index)
 {
     if (_selectIndex != -1)
     {
         TitleItem item = _itemList[_selectIndex];
         TweenManager.GetInstance().RemoveTweenByGo(item.img.gameObject);
         item.img.color = new Color(1, 1, 1, 1);
     }
     _selectIndex = index;
     if (_selectIndex != -1)
     {
         TitleItem  item  = _itemList[_selectIndex];
         TweenColor tween = TweenManager.GetInstance().Create <TweenColor>();
         tween.SetParas(item.img.gameObject, 0, 30, ePlayMode.PingPong);
         tween.SetParas(new Color(1, 1, 1, 1), new Color(0.5f, 0, 0, 1), InterpolationMode.Linear);
         TweenManager.GetInstance().AddTween(tween);
     }
 }
コード例 #15
0
    /// <summary>
    /// index取值为0或者1,代表yes or no
    /// </summary>
    /// <param name="index"></param>
    private void SetCurYesNoItem(int index)
    {
        if (_curYesNoItem != null)
        {
            // 移除当前选择的item的特效
            TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem);
            ResetImgColor(_curYesNoItem);
        }
        // 切换
        _curYesNoIndex = index;
        _curYesNoItem  = _yesNoItems[index];
        // 添加特效
        TweenColor tween = TweenManager.GetInstance().Create <TweenColor>();

        tween.SetParas(_curYesNoItem, 0, 60, ePlayMode.PingPong);
        tween.SetParas(new Color(1, 1, 1, 1), new Color(0.5f, 0, 0, 1), InterpolationMode.Linear);
        TweenManager.GetInstance().AddTween(tween);
    }
コード例 #16
0
    private void InitItemsOnShow()
    {
        _availableBit       = 0;
        _availableBit      |= 1 << 0;
        _availableBit      |= 1 << 3;
        _availableBit      |= 1 << 6;
        _availableIndexList = new List <int>();
        for (int i = 0; i < _itemCount; i++)
        {
            if ((_availableBit & (1 << i)) != 0)
            {
                _availableIndexList.Add(i);
            }
        }
        TitleItem item;

        for (int i = 0; i < _itemCount; i++)
        {
            item = _itemList[i];
            item.tf.anchoredPosition = item.start;
            // 起始状态
            if ((_availableBit & (1 << i)) != 0)
            {
                item.img.sprite = ResourceManager.GetInstance().GetSprite("MainViewAtlas", _titleItemDataList[i].spName + "_1");
                item.img.color  = new Color(1, 1, 1, 1);
            }
            else
            {
                item.img.sprite = ResourceManager.GetInstance().GetSprite("MainViewAtlas", _titleItemDataList[i].spName + "_0");
                item.img.color  = new Color(0.25f, 0.25f, 0.25f, 1);
            }
            // 添加缓动动画
            TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>();
            tween.SetParas(item.go, 10 * i, 15, ePlayMode.Once);
            tween.SetParas(item.end, InterpolationMode.EaseInQuad);
            if (i == _itemCount - 1)
            {
                tween.SetFinishCallBack(OnAppearAniFinish);
            }
            TweenManager.GetInstance().AddTween(tween);
        }
        _isAniFinish = false;
        _state       = eMainViewState.AppearAni;
    }
コード例 #17
0
    private void Quit()
    {
        TitleItem item;

        for (int i = 0; i < _itemCount; i++)
        {
            item = _itemList[i];
            // 添加缓动动画
            TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>();
            tween.SetParas(item.go, 5 * i, 10, ePlayMode.Once);
            tween.SetParas(item.start, InterpolationMode.EaseOutQuad);
            if (i == _itemCount - 1)
            {
                tween.SetFinishCallBack(OnQuitAniFinish);
            }
            TweenManager.GetInstance().AddTween(tween);
        }
        _isAniFinish = false;
        _state       = eMainViewState.QuitAni;
    }
コード例 #18
0
    /// <summary>
    /// 设置主界面当前选中的选项
    /// </summary>
    /// <param name="index"></param>
    private void SetSelectIndex(int index, int appearDir)
    {
        _selectIndex = index;
        SelCharacterData data = _charDatas[_selectIndex];

        _charCGImg.sprite  = ResourceManager.GetInstance().GetSprite("SelCharView", data.spName);
        _charDesImg.sprite = ResourceManager.GetInstance().GetSprite("SelCharView", data.desSp);

        if (appearDir == Consts.DIR_NULL)
        {
            _viewState = eViewState.Wait;
            _stateTime = 0;
        }
        else
        {
            TweenRotation tween0 = TweenManager.GetInstance().Create <TweenRotation>();
            tween0.SetParas(_charDesTf.gameObject, 0, 30, ePlayMode.Once);

            TweenAnchoredPos tween1 = TweenManager.GetInstance().Create <TweenAnchoredPos>();
            tween1.SetParas(_charCGTf.gameObject, 0, 30, ePlayMode.Once);

            if (appearDir == Consts.DIR_LEFT)
            {
                _charDesTf.localEulerAngles = new Vector3(0, 270, 0);
                tween0.SetParas(new Vector3(0, 360, 0), InterpolationMode.Linear);
                _charCGTf.anchoredPosition = CGLeftAppearPos;
            }
            else
            {
                _charDesTf.localEulerAngles = new Vector3(0, 90, 0);
                tween0.SetParas(Vector3.zero, InterpolationMode.Linear);
                _charCGTf.anchoredPosition = CGRightAppearPos;
            }
            tween1.SetParas(CGDefaultPos, InterpolationMode.EaseInQuad);
            tween1.SetFinishCallBack(SelCharTweenCallback);
            TweenManager.GetInstance().AddTween(tween0);
            TweenManager.GetInstance().AddTween(tween1);
            _viewState = eViewState.ChangeCharAni;
        }
    }
コード例 #19
0
    private void Init()
    {
#if Release
        Logger.Open();
#endif
        CommandManager.GetInstance().Init();
        DataManager.GetInstance().Init();
        ResourceManager.GetInstance().Init();
        SoundManager.GetInstance().Init(GameObject.Find("Sound").transform);
        TimerManager.GetInstance().Init();
        TweenManager.GetInstance().Init();
        UIManager.GetInstance().Init();

        _fsm = new GameStateMachine();
        _fsm.Init();
        _fsm.AddState((int)eGameState.Preload, new StatePreload());
        _fsm.AddState((int)eGameState.STG, new StateSTGMain());
        _fsm.AddState((int)eGameState.Title, new StateTitle());

        _fsm.SetNextStateId((int)eGameState.Preload);
        //Application.targetFrameRate = 60;
    }
コード例 #20
0
    /// <summary>
    /// 界面打开的时候的界面动画
    /// </summary>
    private void PlayShowAni()
    {
        int        i;
        GameObject go;
        TweenPos3D tweenPos;
        TweenAlpha tweenAlpha;
        int        dDelay   = 60 / 5;
        int        duration = dDelay;

        for (i = 0; i < 5; i++)
        {
            go = _itemGoList[i];
            // 位置
            tweenPos = TweenManager.GetInstance().Create <TweenPos3D>();
            tweenPos.SetParas(go, dDelay * i, duration, ePlayMode.Once);
            tweenPos.SetParas(_imgMovementDatas[i * 2], _imgMovementDatas[i * 2 + 1], InterpolationMode.EaseInQuad);
            if (i == 4)
            {
                tweenPos.SetFinishCallBack(ShowAniFinishHandler);
            }
            // 透明度
            tweenAlpha = TweenManager.GetInstance().Create <TweenAlpha>();
            tweenAlpha.SetParas(go, 0, dDelay * i, ePlayMode.Once);
            // todo 暂时使用取巧的写法
            float endAlpha = 1;
            if (i >= 1)
            {
                if ((_availableIndex & (1 << (i - 1))) == 0)
                {
                    endAlpha = 0.3f;
                }
            }
            tweenAlpha.SetParas(0, endAlpha, InterpolationMode.None);
            TweenManager.GetInstance().AddTween(go, tweenPos);
            TweenManager.GetInstance().AddTween(go, tweenAlpha);
        }
    }
コード例 #21
0
    /// <summary>
    /// 根据栈顶的table创建对应的tween
    /// </summary>
    /// <param name="luaState"></param>
    /// <returns></returns>
    private TweenBase CreateTweenByTable(ILuaState luaState)
    {
        luaState.GetField(-1, "type");
        // 缓动类型
        eTweenType type = (eTweenType)luaState.ToInteger(-1);

        luaState.Pop(1);
        // delay and duration
        int delay, duration;

        luaState.GetField(-1, "delay");
        delay = luaState.ToInteger(-1);
        luaState.GetField(-2, "duration");
        duration = luaState.ToInteger(-1);
        luaState.Pop(2);
        switch (type)
        {
        case eTweenType.Alhpa:
        {
            TweenAlpha        tween = TweenManager.GetInstance().Create <TweenAlpha>();
            float             begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = (float)luaState.ToNumber(-1);
            luaState.GetField(-2, "endValue");
            end = (float)luaState.ToNumber(-1);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }

        case eTweenType.Color:
        {
            TweenColor        tween = TweenManager.GetInstance().Create <TweenColor>();
            Color             begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = InterpreterManager.GetInstance().TranslateTableToColor(luaState);
            luaState.GetField(-2, "endValue");
            end = InterpreterManager.GetInstance().TranslateTableToColor(luaState);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }

        case eTweenType.Pos2D:
        {
            TweenPos2D        tween = TweenManager.GetInstance().Create <TweenPos2D>();
            Vector2           begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = InterpreterManager.GetInstance().TranslateTableToVector2(luaState);
            luaState.GetField(-2, "endValue");
            end = InterpreterManager.GetInstance().TranslateTableToVector2(luaState);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }

        case eTweenType.Pos3D:
        {
            TweenPos3D        tween = TweenManager.GetInstance().Create <TweenPos3D>();
            Vector3           begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-2, "endValue");
            end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }

        case eTweenType.Rotation:
        {
            TweenRotation     tween = TweenManager.GetInstance().Create <TweenRotation>();
            Vector3           begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-2, "endValue");
            end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }

        case eTweenType.Scale:
        {
            TweenScale        tween = TweenManager.GetInstance().Create <TweenScale>();
            Vector3           begin, end;
            InterpolationMode mode;
            luaState.GetField(-1, "beginValue");
            begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-2, "endValue");
            end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState);
            luaState.GetField(-3, "mode");
            mode = (InterpolationMode)luaState.ToInteger(-1);
            luaState.Pop(3);
            tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once);
            tween.SetParas(begin, end, mode);
            return(tween);
        }
        }
        Logger.LogError("Create Tween by table fail! eTweenType not match!");
        return(null);
    }
コード例 #22
0
 protected override void OnHide()
 {
     TweenManager.GetInstance().RemoveTweenByGo(_loadingImg.gameObject);
     base.OnHide();
 }
コード例 #23
0
 /// <summary>
 /// 按下确认键
 /// </summary>
 private void OnConfirmHandler()
 {
     if (_state == StatePause)
     {
         if (_curSelectIndex == IndexReturnToGame)
         {
             Hide();
             if (_pauseState == ePauseViewState.PauseAfterGameOver)
             {
                 CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGameAfterGameOver);
             }
             else
             {
                 CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGame);
             }
             SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false);
         }
         else if (_curSelectIndex == IndexBackToTitle)
         {
             _state = StateConfirm;
             _yesNoPanel.SetActive(true);
             TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem);
             SetCurYesNoItem(IndexNo);
             SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false);
         }
         else if (_curSelectIndex == IndexSaveReplay)
         {
             _state = StateConfirm;
             _yesNoPanel.SetActive(true);
             TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem);
             SetCurYesNoItem(IndexNo);
             SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false);
         }
         else if (_curSelectIndex == IndexRetry)
         {
             _state = StateConfirm;
             _yesNoPanel.SetActive(true);
             TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem);
             SetCurYesNoItem(IndexNo);
             SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false);
         }
     }
     else if (_state == StateConfirm)
     {
         // 返回上一级界面、即返回暂停界面
         if (_curYesNoIndex == IndexNo)
         {
             _state = StatePause;
             TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem);
             _yesNoPanel.SetActive(false);
             SetCurSelectItem(_curSelectIndex);
             SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false);
         }
         else if (_curYesNoIndex == IndexYes)
         {
             if (_curSelectIndex == IndexBackToTitle)
             {
                 OnBackToTitle();
             }
             else if (_curSelectIndex == IndexSaveReplay)
             {
                 OnSaveReplay();
             }
             else if (_curSelectIndex == IndexRetry)
             {
                 OnRetry();
             }
             SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false);
         }
     }
 }
コード例 #24
0
    /// <summary>
    /// 符卡结束回调
    /// <para>bool isSpellCard 是否为符卡(非符or符卡)</para>
    /// <para>bool isFinishSpellCard 是否成功击破符卡</para>
    /// <para>bool getBonus 是否获得符卡bonus<para>
    /// <para>int timePassed 经过的时间</para>
    /// <para>int realTimePassed 经过的时间</para>
    /// </summary>
    /// <param name="datas"></param>
    private void OnSpellCardFinish(object[] datas)
    {
        // 隐藏符卡时间
        _isShowSpellCardTime = false;
        _scTimeObject.SetActive(false);
        if (_isShowSpellCardInfo)
        {
            // 隐藏符卡名称
            _scNameObject.SetActive(false);
            TweenManager.GetInstance().RemoveTweenByGo(_scNameObject);
        }
        // 如果是符卡,则显示符卡通过信息
        bool isSpellCard = (bool)datas[0];

        if (isSpellCard == true)
        {
            _spellCardResultPanel.SetActive(true);
            _isFinishSC = (bool)datas[1];
            if (_isFinishSC)
            {
                // 显示符卡击破时间
                _finishTimePanel.SetActive(true);
                int timePassed = (int)datas[3];
                UpdateShowTime(timePassed, _finishTimeDatas);
                // 判断是否获得bonus
                bool getBonus = (bool)datas[2];
                if (getBonus)
                {
                    _getBonusGo.SetActive(true);
                    _bonusFailGo.SetActive(false);
                    SoundManager.GetInstance().Play("se_scbonus", Consts.DefaultUISEVolume, false, false);
                }
                else
                {
                    _getBonusGo.SetActive(false);
                    _bonusFailGo.SetActive(true);
                }
            }
            else
            {
                _finishTimePanel.SetActive(false);
                _getBonusGo.SetActive(false);
                _bonusFailGo.SetActive(true);
                SoundManager.GetInstance().Play("se_scfault", Consts.DefaultUISEVolume, false, false);
            }
            // 显示实际时间
            int realTimePassed = (int)datas[4];
            UpdateShowTime(realTimePassed, _realTimeDatas);
            // 设置符卡结果面板动画参数
            _resultState = 0;
            _resultTime  = 0;
            for (int i = 0; i < 10; i++)
            {
                _realTimeDatas[i].sr.color = new Color(1, 1, 1, 0);
            }
            _realTimeText.color = new Color(1, 1, 1, 0);
            if (_isFinishSC)
            {
                for (int i = 0; i < 10; i++)
                {
                    _finishTimeDatas[i].sr.color = new Color(1, 1, 1, 0);
                }
                _finishTimeText.color = new Color(1, 1, 1, 0);
            }
            _getBonusGo.transform.localScale  = new Vector3(100, 100, 1);
            _bonusFailGo.transform.localScale = new Vector3(100, 100, 1);
            _isShowingSCResult = true;
            // 更新BossInfo
            if (_isShowBossInfo)
            {
                if (_bossInfoSCLeft > 0)
                {
                    _bossInfoSCLeft--;
                    GameObject starGo = _bossInfoStarList[_bossInfoSCLeft].gameObject;
                    TweenAlpha tween0 = TweenManager.GetInstance().Create <TweenAlpha>();
                    tween0.SetParas(starGo, 0, 30, ePlayMode.Once);
                    tween0.SetParas(0, InterpolationMode.Linear);
                    TweenManager.GetInstance().AddTween(tween0);
                    TweenScale tween1 = TweenManager.GetInstance().Create <TweenScale>();
                    tween1.SetParas(starGo, 0, 30, ePlayMode.Once);
                    tween1.SetParas(new Vector3(2, 2, 1), InterpolationMode.EaseOutQuad);
                    TweenManager.GetInstance().AddTween(tween1);
                }
                else
                {
                    _isShowBossInfo = false;
                    _bossInfoGo.SetActive(false);
                }
            }
        }
        else
        {
            _spellCardResultPanel.SetActive(false);
        }
    }