読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

uFrameやってみる(Unity 5.3.1f1)

Unityは5.3.1f1を使っている。

uFrameやってみる。 Asset Storeの1.6.3.r1のバージョンを使うことにした。

uFrame-1.5.1r2uFrame-1.6.3r1のUnityパッケージが存在する。 f:id:shinriyo:20160521220208p:plain

このバージョンがあたらしいuFrame-1.6.3r1を展開してみる。

すると早速大量のエラーが。

Assets/uFrame/MVVM/Framework/Editor/Templates/uFrameTemplates.cs(144,48): error CS0246: The type or namespace name `UGUIExtensions' could not be found. Are you missing a using directive or an assembly reference?

とか f:id:shinriyo:20160521220401p:plain 15件もある・・。 ちなみに、uFrame-1.5.1r2を展開しても非推奨メソッドが亡くなってて、エラーが出る。

公式のフォーラムはリンク切れ。 http://www.invertgamestudios.com/help

このmagcatさんのサイトにあった。UGUIExtensionsは有るけどうまく読み込まれてないっぽい http://magcat.php.xdomain.jp/brog/ そのサイトは説明が大雑把でわかりにくいが、プリプロセッサを直せばいいらしい。

万年素人の私はキチンと書くとすると、 UGUIExtensions.csファイルの一番上だ。

#if UNITY_4_6 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2
using System;
using UniRx;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using uFrame.MVVM;
using uFrame.Kernel;
using UnityEngine.UI;

namespace uFrame.MVVM.Bindings
{
    public static class UGUIExtensions
    {

の1行目を #if UNITY_4_6 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3にする。 Unityは5.3.1f1でも動くはず。

次にこのエラー Sub Systemを生成したあとに生成されるSybsystemノードをダブルクリックして、 内部階層に入った時に出てくる画面で発生。

UnityException: Texture 'Header3' is not readable, the texture memory can not be accessed from scripts. You can make the texture readable in the Texture Import Settings.
UnityEngine.Texture2D.GetPixels32 ()
Invert.Common.TexturesExtensions.CutTextureBottomBorder (UnityEngine.Texture2D texture, Int32 cutSize) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/ElementDesignerStyles.cs:1998)
Invert.Core.GraphDesigner.Unity.Schemas.UnityNodeStyleSchema.ConstructHeaderImage (Boolean expanded, Color color, System.String iconName) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/Schemas/UnityNodeStyleSchema.cs:57)
Invert.Core.GraphDesigner.Schemas.impl.NodeStyleSchema.GetHeaderImage (Boolean expanded, Color color, System.String iconName) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Schemas/impl/NodeStyleSchema.cs:176)
Invert.Core.GraphDesigner.HeaderDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/HeaderDrawer.cs:97)
Invert.Core.GraphDesigner.DiagramNodeDrawer.DrawChildren (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:356)
Invert.Core.GraphDesigner.DiagramNodeDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:292)
Invert.Core.GraphDesigner.GenericNodeDrawer`2[Invert.uFrame.MVVM.SubsystemNode,Invert.Core.GraphDesigner.ScaffoldNode`1+ViewModel[Invert.uFrame.MVVM.SubsystemNode]].Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramNodeDrawer.cs:64)
Invert.Core.GraphDesigner.DiagramDrawer.Draw (IPlatformDrawer platform, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Drawers/impl/DiagramDrawer.cs:146)
Invert.Core.GraphDesigner.DesignerWindow.DrawDiagram (IPlatformDrawer drawer, Vector2 scrollPosition, Single scale, Rect diagramRect) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Windows/DesignerWindow.cs:349)
Invert.Core.GraphDesigner.DesignerWindow.Draw (IPlatformDrawer drawer, Single width, Single height, Vector2 scrollPosition, Single scale) (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner/Windows/DesignerWindow.cs:256)
Invert.Core.GraphDesigner.Unity.ElementsDesigner.OnGUI () (at D:/Invert/uFrameGit/uFrameTools/Invert.Core.GraphDesigner.Unity/ElementsDesigner.cs:256)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

このエラーの事も先ほどのmagcatさんのサイトに書いてた。 f:id:shinriyo:20160521231550p:plain でHeader3という画像を検索して Inspector上でこうする。 f:id:shinriyo:20160521231832p:plain と、エラー消える。

githubはここにあるのでバグを見つけたらプルリクエストしてほいい。 GitHub - InvertGames/uFrame-MVVM: uFrame MVVM Framework for Unity3D