Exemplo n.º 1
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     foreach (var item in this.GetComponentsInChildren <IAdvGraphicObjectCustom>())
     {
         item.OnEffectColorsChange(color);
     }
 }
Exemplo n.º 2
0
        //********初期化********//
        public virtual void Init(AdvGraphicLayer layer, AdvGraphicInfo graphic)
        {
            this.layer         = layer;
            this.rectTransform = this.transform as RectTransform;
            this.rectTransform.SetStretch();

            if (graphic.RenderTextureSetting.EnableRenderTexture)
            {
                InitRenderTextureImage(graphic);
            }
            else
            {
                GameObject child = this.transform.AddChildGameObject(graphic.Key);
                this.TargetObject = this.RenderObject = child.AddComponent(graphic.GetComponentType()) as AdvGraphicBase;
                this.TargetObject.Init(this);
            }

            //リップシンクのキャラクターラベルを設定
            LipSynchBase lipSync = TargetObject.GetComponentInChildren <LipSynchBase>();

            if (lipSync != null)
            {
                lipSync.CharacterLabel = this.gameObject.name;
                lipSync.OnCheckTextLipSync.AddListener(
                    (x) =>
                {
                    x.EnableTextLipSync = (x.CharacterLabel == Engine.Page.CharacterLabel && Engine.Page.IsSendChar);
                });
            }

            this.FadeTimer   = this.gameObject.AddComponent <Timer>();
            this.effectColor = this.GetComponentCreateIfMissing <AdvEffectColor>();
            this.effectColor.OnValueChanged.AddListener(RenderObject.OnEffectColorsChange);
        }
Exemplo n.º 3
0
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     foreach (IAdvGraphicObjectCustom custom in base.GetComponentsInChildren <IAdvGraphicObjectCustom>())
     {
         custom.OnEffectColorsChange(color);
     }
 }
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     if (this.sprite != null)
     {
         this.sprite.set_color(color.MulColor);
     }
 }
Exemplo n.º 5
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     if (sprite == null)
     {
         return;
     }
     sprite.color = color.MulColor;
 }
Exemplo n.º 6
0
 //エフェクト用の色が変化したとき
 internal virtual void OnEffectColorsChange(AdvEffectColor color)
 {
     UnityEngine.UI.Graphic graphic = GetComponent <UnityEngine.UI.Graphic>();
     if (graphic != null)
     {
         graphic.color = color.MulColor;
     }
 }
 //エフェクト用の色が変化したとき
 public void OnEffectColorsChange(AdvEffectColor color)
 {
     // TODO : αの設定を行うとTextureが複数構成になっているため不自然な透け感になる.むしろα以外の色を繁栄させる方法に修正.ただしDrawbleの数によっては負荷が心配. fix by yoshida. 2018/08/03
     //this.RenderController.Opacity = color.MulColor.a;
     foreach (var r in this.GetComponentsInChildren <CubismRenderer>())
     {
         r.Color = new Color(color.MulColor.r, color.MulColor.g, color.MulColor.b);
     }
 }
Exemplo n.º 8
0
        internal virtual void OnEffectColorsChange(AdvEffectColor color)
        {
            Graphic component = base.GetComponent <Graphic>();

            if (component != null)
            {
                component.set_color(color.MulColor);
            }
        }
Exemplo n.º 9
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     Graphic[] graphics = GetComponentsInChildren <Graphic>();
     foreach (Graphic graphic in graphics)
     {
         if (graphic != null)
         {
             graphic.color = color.MulColor;
         }
     }
 }
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     if (base.currentObject != null)
     {
         Color mulColor = color.MulColor;
         mulColor.a = 1f;
         foreach (Renderer renderer in base.currentObject.GetComponentsInChildren <Renderer>())
         {
             renderer.get_material().set_color(mulColor);
         }
     }
 }
Exemplo n.º 11
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     if (currentObject)
     {
         Color mulColor = color.MulColor;
         mulColor.a = 1;
         foreach (Renderer renderer in currentObject.GetComponentsInChildren <Renderer>())
         {
             renderer.material.color = mulColor;
         }
     }
 }
Exemplo n.º 12
0
 private void ChangeColor(AdvGraphicLayer layer, Color color)
 {
     foreach (KeyValuePair <string, AdvGraphicObject> pair in layer.CurrentGraphics)
     {
         AdvEffectColor component = pair.Value.get_gameObject().GetComponent <AdvEffectColor>();
         if (component != null)
         {
             if (this.FadeTime > 0f)
             {
                 Color customColor = component.CustomColor;
                 base.StartCoroutine(this.FadeColor(component, customColor, color));
             }
             else
             {
                 component.CustomColor = color;
             }
         }
     }
 }
Exemplo n.º 13
0
        IEnumerator FadeColor(AdvEffectColor effect, Color from, Color to)
        {
            float elapsed = 0f;

            while (true)
            {
                yield return(new WaitForEndOfFrame());

                elapsed += Engine.Time.DeltaTime;
                if (elapsed >= fadeTime)
                {
                    elapsed = fadeTime;
                }
                effect.CustomColor = Color.Lerp(from, to, elapsed / FadeTime);
                if (elapsed >= fadeTime)
                {
                    yield break;
                }
            }
        }
Exemplo n.º 14
0
        //カラーを取得
        void ChangeColor(AdvGraphicLayer layer, Color color)
        {
            foreach (var keyValue in layer.CurrentGraphics)
            {
                AdvGraphicObject obj    = keyValue.Value;
                AdvEffectColor   effect = obj.gameObject.GetComponent <AdvEffectColor>();
                if (effect == null)
                {
                    continue;
                }

                if (FadeTime > 0)
                {
                    Color from = effect.CustomColor;
                    StartCoroutine(FadeColor(effect, from, color));
                }
                else
                {
                    effect.CustomColor = color;
                }
            }
        }
Exemplo n.º 15
0
 public void Init(iTweenData data, bool isUnder2DSpace, float pixelsToUnits, float skipSpeed, Action <AdvITweenPlayer> callbackComplete)
 {
     this.data = data;
     if (data.Type != iTweenType.Stop)
     {
         this.callbackComplete = callbackComplete;
         data.ReInit();
         this.hashTbl = iTween.Hash(data.MakeHashArray());
         if (iTweenData.IsPostionType(data.Type) && ((!isUnder2DSpace || !this.hashTbl.ContainsKey("islocal")) || !((bool)this.hashTbl["islocal"])))
         {
             if (this.hashTbl.ContainsKey("x"))
             {
                 this.hashTbl["x"] = ((float)this.hashTbl["x"]) / pixelsToUnits;
             }
             if (this.hashTbl.ContainsKey("y"))
             {
                 this.hashTbl["y"] = ((float)this.hashTbl["y"]) / pixelsToUnits;
             }
             if (this.hashTbl.ContainsKey("z"))
             {
                 this.hashTbl["z"] = ((float)this.hashTbl["z"]) / pixelsToUnits;
             }
         }
         if (skipSpeed > 0f)
         {
             bool flag = this.hashTbl.ContainsKey("speed");
             if (flag)
             {
                 this.hashTbl["speed"] = ((float)this.hashTbl["speed"]) * skipSpeed;
             }
             if (this.hashTbl.ContainsKey("time"))
             {
                 this.hashTbl["time"] = ((float)this.hashTbl["time"]) / skipSpeed;
             }
             else if (!flag)
             {
                 this.hashTbl["time"] = 1f / skipSpeed;
             }
         }
         if ((data.Type == iTweenType.ColorTo) || (data.Type == iTweenType.ColorFrom))
         {
             this.target = base.get_gameObject().GetComponent <AdvEffectColor>();
             if (this.target != null)
             {
                 Color tweenColor = this.target.TweenColor;
                 if (data.Type == iTweenType.ColorTo)
                 {
                     this.hashTbl["from"] = tweenColor;
                     this.hashTbl["to"]   = this.ParaseTargetColor(this.hashTbl, tweenColor);
                 }
                 else if (data.Type == iTweenType.ColorFrom)
                 {
                     this.hashTbl["from"] = this.ParaseTargetColor(this.hashTbl, tweenColor);
                     this.hashTbl["to"]   = tweenColor;
                 }
                 this.hashTbl["onupdate"] = "OnColorUpdate";
                 this.isColorSprite       = true;
             }
         }
         this.hashTbl["oncomplete"]       = "OnCompleteTween";
         this.hashTbl["oncompletetarget"] = base.get_gameObject();
         this.hashTbl["oncompleteparams"] = this;
         this.tweenName       = this.GetHashCode().ToString();
         this.hashTbl["name"] = this.tweenName;
     }
 }
Exemplo n.º 16
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
     if (currentObject)
     {
     }
 }
Exemplo n.º 17
0
        /// <summary>
        /// 初期化
        /// </summary>
        /// <param name="type">Tweenのデータ</param>
        /// <param name="hashObjects">Tweenのパラメーター</param>
        /// <param name="loopCount">ループ回数</param>
        /// <param name="pixelsToUnits">座標1.0単位辺りのピクセル数</param>
        /// <param name="skipSpeed">スキップ中の演出速度の倍率。0ならスキップなし</param>
        /// <param name="callbackComplete">終了時に呼ばれるコールバック</param>
        public void Init(iTweenData data, bool isUnder2DSpace, float pixelsToUnits, float skipSpeed, bool unscaled, Action <AdvITweenPlayer> callbackComplete)
        {
            this.data = data;
            if (data.Type == iTweenType.Stop)
            {
                return;
            }

            this.callbackComplete = callbackComplete;

            data.ReInit();
            hashTbl = iTween.Hash(data.MakeHashArray());


            if (iTweenData.IsPostionType(data.Type))
            {
                //座標系の処理は、基本的に2D座標の値で入力されているので、
                //非ローカルの場合や、2D座標じゃない場合は、pixelsToUnitsで3D座標値に変換する
                if (!isUnder2DSpace || (!hashTbl.ContainsKey("islocal") || (bool)hashTbl["islocal"] == false))
                {
                    if (hashTbl.ContainsKey("x"))
                    {
                        hashTbl["x"] = (float)hashTbl["x"] / pixelsToUnits;
                    }
                    if (hashTbl.ContainsKey("y"))
                    {
                        hashTbl["y"] = (float)hashTbl["y"] / pixelsToUnits;
                    }
                    if (hashTbl.ContainsKey("z"))
                    {
                        hashTbl["z"] = (float)hashTbl["z"] / pixelsToUnits;
                    }
                }
            }

            //スキップ中なら演出時間を調整
            if (skipSpeed > 0)
            {
                bool isSpeed = hashTbl.ContainsKey("speed");
                if (isSpeed)
                {
                    hashTbl["speed"] = (float)hashTbl["speed"] * skipSpeed;
                }

                bool isTime = hashTbl.ContainsKey("time");
                if (isTime)
                {
                    hashTbl["time"] = (float)hashTbl["time"] / skipSpeed;
                }
                else if (!isSpeed)
                {
                    hashTbl["time"] = 1.0f / skipSpeed;
                }
            }

            //カラーの処理を2D仕様に
            if (data.Type == iTweenType.ColorTo || data.Type == iTweenType.ColorFrom)
            {
                this.target = this.gameObject.GetComponent <AdvEffectColor>();
                if (target != null)
                {
                    Color currentColor = target.TweenColor;
                    if (data.Type == iTweenType.ColorTo)
                    {
                        hashTbl["from"] = currentColor;
                        hashTbl["to"]   = ParaseTargetColor(hashTbl, currentColor);
                    }
                    else if (data.Type == iTweenType.ColorFrom)
                    {
                        hashTbl["from"] = ParaseTargetColor(hashTbl, currentColor);
                        hashTbl["to"]   = currentColor;
                    }
                    hashTbl["onupdate"] = "OnColorUpdate";
                    isColorSprite       = true;
                }
            }


            //時間をタイムスケールに比例させない
            if (unscaled)
            {
                hashTbl["ignoretimescale"] = true;
            }

            //終了時に呼ばれるメッセージを登録
            hashTbl["oncomplete"]       = "OnCompleteTween";
            hashTbl["oncompletetarget"] = this.gameObject;
            hashTbl["oncompleteparams"] = this;

            //停止処理用に名前を設定
            tweenName       = this.GetHashCode().ToString();
            hashTbl["name"] = tweenName;
        }
Exemplo n.º 18
0
 //エフェクト用の色が変化したとき
 internal override void OnEffectColorsChange(AdvEffectColor color)
 {
 }
Exemplo n.º 19
0
 private IEnumerator FadeColor(AdvEffectColor effect, Color from, Color to)
 {
     return(new < FadeColor > c__Iterator0 {
         from = from, to = to, effect = effect, $this = this
     });