//エフェクト用の色が変化したとき internal override void OnEffectColorsChange(AdvEffectColor color) { foreach (var item in this.GetComponentsInChildren <IAdvGraphicObjectCustom>()) { item.OnEffectColorsChange(color); } }
//********初期化********// 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); }
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); } }
//エフェクト用の色が変化したとき internal override void OnEffectColorsChange(AdvEffectColor color) { if (sprite == null) { return; } sprite.color = color.MulColor; }
//エフェクト用の色が変化したとき 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); } }
internal virtual void OnEffectColorsChange(AdvEffectColor color) { Graphic component = base.GetComponent <Graphic>(); if (component != null) { component.set_color(color.MulColor); } }
//エフェクト用の色が変化したとき 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); } } }
//エフェクト用の色が変化したとき 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; } } }
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; } } } }
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; } } }
//カラーを取得 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; } } }
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; } }
//エフェクト用の色が変化したとき internal override void OnEffectColorsChange(AdvEffectColor color) { if (currentObject) { } }
/// <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; }
//エフェクト用の色が変化したとき internal override void OnEffectColorsChange(AdvEffectColor color) { }
private IEnumerator FadeColor(AdvEffectColor effect, Color from, Color to) { return(new < FadeColor > c__Iterator0 { from = from, to = to, effect = effect, $this = this });