public static AnimTex ParseAnimTex(Material mate, TexProp texProp, Texture tex = null) { try { if (tex != null) { if (!IsTarget(tex)) { return(null); } } else { if (!TryGetTargetTex(mate, texProp, out tex)) { return(null); } } var scale = (texProp == TexProp.MainTex)? mate.mainTextureScale : mate.GetTextureScale(texProp.PropId); if (mate.HasProperty(texProp.PropScrollXId) || mate.HasProperty(texProp.PropScrollYId)) { Vector2 scroll; scroll.x = fitting(mate.GetFloat(texProp.PropScrollXId)); scroll.y = fitting(mate.GetFloat(texProp.PropScrollYId)); var frameSecond = ParseFrameSecond(mate, texProp); var animTex = new ScrollTex(scroll, tex, frameSecond) { texProp = texProp }; animTex.InitOffsetIndex(mate.GetTextureOffset(texProp.PropId)); return(animTex); } if (scale.x <= 0.5f || scale.y <= 0.5f) { if (Equals(scale.x, 0) || Equals(scale.y, 0)) { return(null); } var frameSecond = ParseFrameSecond(mate, texProp); var animTex = new SlideScaledTex(scale, tex, frameSecond) { texProp = texProp }; if (animTex.imageLength > 1) { animTex.InitOffsetIndex(mate.GetTextureOffset(texProp.PropId)); LogUtil.DebugF("{0} X:{1},Y:{2},length={3}", texProp, animTex.ratioX, animTex.ratioY, animTex.imageLength); return(animTex); } return(animTex); } } catch (Exception e) { // シェーダに未対応テクスチャが設定される場合などではNullRefが発生するため、スルー LogUtil.Debug("Failed to parse texture:", texProp, e); } return(null); }
// Token: 0x06000419 RID: 1049 RVA: 0x0002398C File Offset: 0x00021B8C public static AnimTex ParseAnimTex(Material mate, TexProp texProp, Texture tex = null) { try { if (tex != null) { if (!ParseAnimUtil.IsTarget(tex)) { return(null); } } else if (!ParseAnimUtil.TryGetTargetTex(mate, texProp, out tex)) { return(null); } Vector2 scale = (texProp == TexProp.MainTex) ? mate.mainTextureScale : mate.GetTextureScale(texProp.PropId); if (mate.HasProperty(texProp.PropScrollXId) || mate.HasProperty(texProp.PropScrollYId)) { Vector2 scroll; scroll.x = ParseAnimUtil.fitting(mate.GetFloat(texProp.PropScrollXId)); scroll.y = ParseAnimUtil.fitting(mate.GetFloat(texProp.PropScrollYId)); float frameSec = ParseAnimUtil.ParseFrameSecond(mate, texProp); ScrollTex scrollTex = new ScrollTex(scroll, tex, frameSec) { texProp = texProp }; scrollTex.InitOffsetIndex(mate.GetTextureOffset(texProp.PropId)); return(scrollTex); } if (scale.x <= 0.5f || scale.y <= 0.5f) { if (ParseAnimUtil.Equals(scale.x, 0f, 1E-06f) || ParseAnimUtil.Equals(scale.y, 0f, 1E-06f)) { return(null); } float frameSec2 = ParseAnimUtil.ParseFrameSecond(mate, texProp); SlideScaledTex slideScaledTex = new SlideScaledTex(scale, tex, frameSec2) { texProp = texProp }; if (slideScaledTex.imageLength > 1) { slideScaledTex.InitOffsetIndex(mate.GetTextureOffset(texProp.PropId)); LogUtil.DebugF("{0} X:{1},Y:{2},length={3}", new object[] { texProp, slideScaledTex.ratioX, slideScaledTex.ratioY, slideScaledTex.imageLength }); return(slideScaledTex); } return(slideScaledTex); } } catch (Exception ex) { LogUtil.Debug(new object[] { "Failed to parse texture:", texProp, ex }); } return(null); }