Sprite2D CreateSprite(GraphicInfo graphic) { Sprite2D sprite = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(this.transform, System.IO.Path.GetFileNameWithoutExtension(graphic.File.FileName)); sprite.SetTextureFile(graphic, pixelsToUnits); return(sprite); }
/// <summary> /// テクスチャファイルを設定 /// </summary> /// <param name="graphic">グラフィック情報</param> public void LoadTextureFile(GraphicInfo graphic) { this.graphicInfo = graphic; AssetFileManager.Load(graphic.File, this); SetTextureFile(graphic.File); graphic.File.Unuse(this); }
/// <summary> /// テクスチャからスプライト作成 /// 前に別のテクスチャが表示されていれば、それをフェードアウトさせる /// </summary> /// <param name="graphic">テクスチャ</param> /// <param name="fadeTime">フェード時間</param> public void SetTexture(GraphicInfo graphic, float fadeTime) { //テクスチャが同じなら、変化なし if (CurrentGraphicInfo == graphic) { return; } //フェードアウト中のスプライトは消す if (fadeOutSprite != null) //destoryされたコンポーネントはnull判定になるはず・・・ { fadeOutSprite.FadeOut(0, true); fadeOutSprite = null; } if (currentSprite != null) { //既にスプライトがあるならフェードアウトさせる fadeOutSprite = currentSprite; ///表示順は手前にする fadeOutSprite.LocalOrderInLayer = fadeOutSprite.LocalOrderInLayer + 1; fadeOutSprite.FadeOut(fadeTime, true); //テクスチャからスプライト作成 currentSprite = CreateSprite(graphic); } else { //新規スプライトがあるならフェードインさせる //テクスチャからスプライト作成 currentSprite = CreateSprite(graphic); currentSprite.FadeIn(fadeTime); } }
Sprite2D CreateSprite(GraphicInfoList graphic) { GraphicInfo texture = graphic.Main; Sprite2D sprite = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(this.transform, FilePathUtil.GetFileNameWithoutExtension(texture.File.FileName)); sprite.SetTextureFile(texture, PixelsToUnits); sprite.LocalOrderInLayer = Layer.SettingData.Order; return(sprite); }
//古いセーブデータを読むのに使う internal GraphicInfoList FindFromPath(string texturePath) { foreach (var item in List) { GraphicInfo graphic = item.Graphic.FindFromPath(texturePath); if (graphic != null) { return(item.Graphic); } } return(null); }
//描画 internal override void OnDraw(GraphicInfoList graphic, float fadeTime) { if (Graphic == graphic) { } else { GraphicInfo main = graphic.Main; currentObject = UtageToolKit.AddChildUnityObject(childRoot.transform, main.File.UnityObject); childRoot.transform.localScale = new Vector3(main.Scale.x, main.Scale.y, 1.0f); // childRoot.transform.localPosition = PivotUtil.GetPivotOffset(currentObject, graphic.Pivot); } }
/// <summary> /// デフォルトのスプライトのテクスチャ設定 /// </summary> /// <param name="name">スプライト名</param> /// <param name="graphic">テクスチャファイル</param> /// <param name="fadeTime">フェード時間</param> public void SetDefaultSprite(string name, GraphicInfo graphic, object x, object y, float fadeTime) { if (DefaultSprite == null) { //まだデフォルトスプライトがない場合はスプライトを作成して設定 DefaultSprite = SetSprite(graphic, name, x, y, fadeTime); } else { //デフォルトスプライトがある場合は既存のスプライトを使いまわして名前を変える SetSprite(graphic, DefaultSprite.name, x, y, fadeTime); DefaultSprite.name = name; } }
/// <summary> /// ロードしたテクスチャから作ったスプライト /// </summary> /// <param name="pixelsToUnits">スプライトを作成する際の、座標1.0単位辺りのピクセル数</param> /// <returns>作成したスプライト</returns> public Sprite GetSprite(GraphicInfo graphic, float pixelsToUnits) { Sprite sprite; if (!spriteTbl.TryGetValue(graphic, out sprite)) { if (graphic != null) { sprite = UtageToolKit.CreateSprite(this.Texture, pixelsToUnits, graphic.Pivot); } else { sprite = UtageToolKit.CreateSprite(this.Texture, pixelsToUnits); } } return(sprite); }
/// <summary> /// テクスチャファイルを設定 /// </summary> /// <param name="file">テクスチャファイル</param> /// <param name="pixelsToUnits">スプライトを作成する際の、座標1.0単位辺りのピクセル数</param> public void SetTextureFile(GraphicInfo graphic, float pixelsToUnits) { this.GraphicInfo = graphic; //直前のファイルがあればそれを削除 ClearTextureFile(); AssetFile file = AssetFileManager.Load(graphicInfo.File, this); File.AddReferenceComponet(this.gameObject); file.Unuse(this); if (File.IsLoadEnd) { SetTextureFileSprite(pixelsToUnits); } else { StartCoroutine(CoWaitTextureFileLoading(pixelsToUnits)); } }
/// <summary> /// スプライトの設定 /// </summary> /// <param name="graphic">テクスチャファイル</param> /// <param name="spriteName">スプライト名</param> /// <param name="x">表示座標X floatのobject nullを指定することで位置移動なし</param> /// <param name="y">表示座標Y floatのobject nullを指定することで位置移動なし</param> /// <param name="fadeTime">フェード時間</param> /// <returns>設定したスプライト</returns> public AdvFadeSprites SetSprite(GraphicInfo graphic, string spriteName, object x, object y, float fadeTime) { AdvFadeSprites sprite = GetSpriteCreateIfMissing(spriteName); sprite.SetTexture(graphic, fadeTime); if (x != null || y != null) { Vector3 pos = sprite.transform.localPosition; if (x != null && x is float) { pos.x = (float)x / pixelsToUnits; } if (y != null && y is float) { pos.y = (float)y / pixelsToUnits; } sprite.transform.localPosition = pos; } return(sprite); }
internal void Add(GraphicInfo graphic) { infoList.Add(graphic); }
Sprite2D CreateSprite(GraphicInfo graphic) { Sprite2D sprite = UtageToolKit.AddChildGameObjectComponent<Sprite2D>(this.transform, System.IO.Path.GetFileNameWithoutExtension(graphic.File.FileName)); sprite.SetTextureFile(graphic, pixelsToUnits); return sprite; }
/// <summary> /// テクスチャからスプライト作成 /// 前に別のテクスチャが表示されていれば、それをフェードアウトさせる /// </summary> /// <param name="graphic">テクスチャ</param> /// <param name="fadeTime">フェード時間</param> public void SetTexture(GraphicInfo graphic, float fadeTime) { //テクスチャが同じなら、変化なし if (CurrentGraphicInfo == graphic) return; //フェードアウト中のスプライトは消す if (fadeOutSprite != null) //destoryされたコンポーネントはnull判定になるはず・・・ { fadeOutSprite.FadeOut(0, true); fadeOutSprite = null; } if (currentSprite != null) { //既にスプライトがあるならフェードアウトさせる fadeOutSprite = currentSprite; ///表示順は手前にする fadeOutSprite.LocalOrderInLayer = fadeOutSprite.LocalOrderInLayer + 1; fadeOutSprite.FadeOut(fadeTime, true); //テクスチャからスプライト作成 currentSprite = CreateSprite(graphic); } else { //新規スプライトがあるならフェードインさせる //テクスチャからスプライト作成 currentSprite = CreateSprite(graphic); currentSprite.FadeIn(fadeTime); } }
/// <summary> /// テクスチャファイルを設定 /// </summary> /// <param name="file">テクスチャファイル</param> /// <param name="pixelsToUnits">スプライトを作成する際の、座標1.0単位辺りのピクセル数</param> public void SetTextureFile(string filePath, float pixelsToUnits) { GraphicInfo graphicInfo = new GraphicInfo(filePath); SetTextureFile(graphicInfo, pixelsToUnits); }
/// <summary> /// ロードしたテクスチャから作ったスプライト /// </summary> /// <param name="pixelsToUnits">スプライトを作成する際の、座標1.0単位辺りのピクセル数</param> /// <returns>作成したスプライト</returns> public virtual Sprite GetSprite(GraphicInfo graphic, float pixelsToUnits) { return(Sprite); }
/// <summary> /// スプライトの設定 /// </summary> /// <param name="graphic">テクスチャファイル</param> /// <param name="spriteName">スプライト名</param> /// <param name="x">表示座標X floatのobject nullを指定することで位置移動なし</param> /// <param name="y">表示座標Y floatのobject nullを指定することで位置移動なし</param> /// <param name="fadeTime">フェード時間</param> /// <returns>設定したスプライト</returns> public AdvFadeSprites SetSprite(GraphicInfo graphic, string spriteName, object x, object y, float fadeTime) { AdvFadeSprites sprite = GetSpriteCreateIfMissing(spriteName); sprite.SetTexture(graphic, fadeTime); if (x != null || y != null) { Vector3 pos = sprite.transform.localPosition; if (x != null && x is float) pos.x = (float)x / pixelsToUnits; if (y != null && y is float) pos.y = (float)y / pixelsToUnits; sprite.transform.localPosition = pos; } return sprite; }