コード例 #1
0
 protected override Tween DOPlay()
 {
     if (null == m_Light)
     {
         return(null);
     }
     // end if
     return(m_Light.DOColor(m_toColor, m_duration));
 }
コード例 #2
0
        public SlotLightColorChanger(UnityEngine.Light light, IObservable <SlotProductionStatus> observableStatus)
        {
            //当たったときに再生するSequenceを登録
            sequenceSwitcher.Register(SlotProductionStatus.Winning,
                                      DOTween.Sequence()
                                      .Append(light.DOColor(new Color(0, 0, 1), .5f))
                                      .Append(light.DOColor(new Color(0, 1, 0), .5f))
                                      .Append(light.DOColor(new Color(1, 0, 0), .5f))
                                      .SetLoops(-1));

            //ステータスによって実行する処理(ライト色変更)
            actionTable = new Dictionary <SlotProductionStatus, Action>()
            {
                [SlotProductionStatus.Idol]     = () => { },
                [SlotProductionStatus.Rolling]  = () => light.color = Color.white,
                [SlotProductionStatus.Reaching] = () => light.color = Color.yellow,
                [SlotProductionStatus.Winning]  = () => { },
            };

            //ステータス変更に応じてライトを制御
            observableStatus.Subscribe(status => sequenceSwitcher.SwitchTo(status));
            observableStatus.Select(status => actionTable[status])
            .Subscribe(action => action());
        }
コード例 #3
0
 static int DOColor(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.Light   obj  = (UnityEngine.Light)ToLua.CheckObject(L, 1, typeof(UnityEngine.Light));
         UnityEngine.Color   arg0 = ToLua.ToColor(L, 2);
         float               arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
         DG.Tweening.Tweener o    = obj.DOColor(arg0, arg1);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }