示例#1
0
        /// <summary>
        /// テクスチャからスプライト作成
        /// 前に別のテクスチャが表示されていれば、それをフェードアウトさせる
        /// </summary>
        /// <param name="texture">テクスチャ</param>
        /// <param name="fadeTime">フェード時間</param>
        public void SetTexture(AssetFile texture, float fadeTime)
        {
            //テクスチャが同じなら、変化なし
            if (CurrentTexture == texture)
            {
                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(texture);
        }
示例#2
0
        Sprite2D CreateSprite(AssetFile texture)
        {
            Sprite2D sprite = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(this.transform, System.IO.Path.GetFileNameWithoutExtension(texture.FileName));

            sprite.SetTextureFile(texture, pixelsToUnits);
            return(sprite);
        }
示例#3
0
        /// <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);
            }
        }
示例#4
0
        public override void DrawProperties()
        {
            Sprite2D obj = target as Sprite2D;

            //スプライト
            UtageEditorToolKit.BeginGroup("Sprite");
            UtageEditorToolKit.PropertyField(serializedObject, "sprite", "Sprite");
            UtageEditorToolKit.PropertyField(serializedObject, "sizeType", "Type");

            bool isCustomSize = obj.SizeType != Sprite2D.SpriteSizeType.Default;

            if (isCustomSize)
            {
                EditorGUILayout.BeginHorizontal();
                UtageEditorToolKit.PropertyField(serializedObject, "customSize", "Size");
                if (GUILayout.Button("Reset", GUILayout.Width(50f)))
                {
                    Undo.RecordObject(obj, "isCustomSize Change");
                    obj.Size = obj.BaseSize;
                    EditorUtility.SetDirty(target);
                }
                EditorGUILayout.EndHorizontal();
            }

            EditorGUILayout.LabelField("Texture Size", obj.BaseSize.x + " x " + obj.BaseSize.y);

            UtageEditorToolKit.EndGroup();

            DrawNode2DProperties();
        }
示例#5
0
        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);
        }
示例#6
0
        /// <summary>
        /// セーブデータ用のバイナリ読みこみ
        /// </summary>
        /// <param name="reader">バイナリリーダー</param>
        public void Read(BinaryReader reader)
        {
            UtageToolKit.ReadLocalTransform(this.transform, reader);
            this.LocalColor = UtageToolKit.ReadColor(reader);

            //Tweenがある場合は、Tween情報を読み込む
            int tweenCount = reader.ReadInt32();

            for (int i = 0; i < tweenCount; ++i)
            {
                iTweenPlayer tween = this.gameObject.AddComponent <iTweenPlayer>() as iTweenPlayer;
                tween.Read(reader, pixelsToUnits);
            }

            string    nameCurrenTexture = reader.ReadString();
            AssetFile texture           = AssetFileManager.Load(nameCurrenTexture, this);

            currentSprite = CreateSprite(texture);
            texture.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);
			}
		}
示例#8
0
 /// <summary>
 /// コライダーのサイズを表示スプライトに合わせて設定する
 /// </summary>
 public void ResizeCollider()
 {
     Sprite2D.ResizeCollider(BoxCollider2D);
     BoxCollider2D.isTrigger = true;
 }
示例#9
0
        void CreateAdvEngile()
        {
            GameObject go     = new GameObject("AdvEngine");
            AdvEngine  engine = go.AddComponent <AdvEngine>();

            //レイヤーマネージャー
            AdvLayerManager layerManager       = UtageToolKit.AddChildGameObjectComponent <AdvLayerManager>(engine.transform, "LayerManager");
            Node2D          node2dLayerManager = layerManager.GetComponent <Node2D>();

            node2dLayerManager.SortKey = "LayerManager";

            //トランジションマネージャー
            AdvTransitionManager transitionManager = UtageToolKit.AddChildGameObjectComponent <AdvTransitionManager>(engine.transform, "TransitionManager");

            transitionManager.GetComponent <Node2D>().SortKey = "Transition";
            Sprite2D transtionBg = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(transitionManager.transform, "Bg");

            transtionBg.Sprite   = transitionFadeBg;
            transtionBg.SizeType = Sprite2D.SpriteSizeType.StrechBoth;

            //UIマネージャー
            AdvUiManager uiManager = UtageToolKit.AddChildGameObjectComponent <AdvUiManager>(engine.transform, "UI");

            //インプットマネージャー
            AdvLegacyInputManager input = UtageToolKit.AddChildGameObjectComponent <AdvLegacyInputManager>(uiManager.transform, "InputManager");

            input.InitOnCreate(engine, 1.0f / 100 * gameScreenWidth, 1.0f / 100 * gameScreenHeight);
            input.GetComponent <Node2D>().SortKey = "InputManager";

            //メッセージウィンドウ
            float fontSize               = 30;
            float windowWidth            = msgWindowSprite.rect.width;
            float windowHeight           = msgWindowSprite.rect.height;
            AdvUiMessageWindow msgWindow = UtageToolKit.AddChildGameObjectComponent <AdvUiMessageWindow>(uiManager.transform, "MessageWindow");

            msgWindow.GetComponent <Node2D>().SortKey = "MessageWindow";
            GameObject windowRootChildren = UtageToolKit.AddChildGameObject(msgWindow.transform, "RootChildren");
            TextArea2D messageText        = UtageToolKit.AddChildGameObjectComponent <TextArea2D>(windowRootChildren.transform, "MessageText");

            messageText.Type       = TextArea2D.ViewType.Outline;
            messageText.Font       = font;
            messageText.text       = "Message";
            messageText.Size       = fontSize;
            messageText.LayoutType = TextArea2D.Layout.TopLeft;
            messageText.MaxWidth   = (int)(windowWidth - fontSize * 4);
            messageText.MaxHeight  = (int)(windowHeight - (fontSize * 2 + 50));
            messageText.transform.localPosition = new Vector3(-(float)messageText.MaxWidth / 2 / 100, (windowHeight / 2 - (fontSize + 40)) / 100, 0);
            messageText.LetterSpace             = 2;
            messageText.LineSpace         = 8;
            messageText.WordWrapType      = TextArea2D.WordWrap.Default | TextArea2D.WordWrap.JapaneseKinsoku;
            messageText.LocalOrderInLayer = 10;

            //名前表示
            TextArea2D nameText = UtageToolKit.AddChildGameObjectComponent <TextArea2D>(windowRootChildren.transform, "NameText");

            nameText.Type       = TextArea2D.ViewType.Outline;
            nameText.Font       = font;
            nameText.text       = "Name";
            nameText.Size       = 30;
            nameText.LayoutType = TextArea2D.Layout.TopLeft;
            nameText.transform.localPosition = new Vector3(-(float)messageText.MaxWidth / 2 / 100, (windowHeight / 2 - 25) / 100, 0);
            nameText.LocalOrderInLayer       = 10;

            //閉じるボタン
            if (isEnableCloseButton)
            {
                LegacyUiButton closeButton   = UtageToolKit.AddChildGameObjectComponent <LegacyUiButton>(windowRootChildren.transform, "CloseButton");
                Sprite2D       closeButtonBg = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(closeButton.transform, "Bg");
                closeButtonBg.Sprite = closeButtonSprite;
                closeButton.transform.localPosition = new Vector3(((windowWidth - closeButtonSprite.rect.width) / 2 - 10) / 100, ((windowHeight - closeButtonSprite.rect.height) / 2 - 5) / 100, -0.01f);
                closeButton.Target       = msgWindow.gameObject;
                closeButton.FunctionName = "OnTapCloseWindow";
                closeButton.Se           = clickSe;
            }

            //メッセージウィンドウ背景
            Node2D   windowBgRoot = UtageToolKit.AddChildGameObjectComponent <Node2D>(windowRootChildren.transform, "WindowRoot");
            Sprite2D windowBg     = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(windowBgRoot.transform, "Bg");

            windowBg.Sprite = msgWindowSprite;

            msgWindow.InitOnCreate(engine, messageText, nameText, windowRootChildren, windowBgRoot);
            msgWindow.transform.localPosition = new Vector3(0, (-gameScreenHeight + windowHeight) / 2 / 100, 0);

            //選択肢
            AdvUiSelectionManager selection = UtageToolKit.AddChildGameObjectComponent <AdvUiSelectionManager>(uiManager.transform, "Selection");

            selection.InitOnCreate(engine, selectionItemPrefab);
            selection.GetComponent <Node2D>().SortKey = "Selection";
            selection.ListView.ClipWidthPx            = Mathf.Max(gameScreenWidth / 2, gameScreenWidth - 100);
            selection.ListView.ClipHeightPx           = Mathf.Max(gameScreenHeight / 2, gameScreenHeight - 100);
            selection.ListView.Type = LegacyUiListView.LitViewType.Vertical;

            //バックログ
            AdvUiBacklogManager backLogManger = null;

            if (isEnableBackLog)
            {
                LegacyUiButton openButton = UtageToolKit.AddChildGameObjectComponent <LegacyUiButton>(windowRootChildren.transform, "BackLogButton");
                UtageToolKit.AddChildGameObjectComponent <Sprite2D>(openButton.transform, "Bg").Sprite = backLogButtonSprite;
                TextArea2D text = UtageToolKit.AddChildGameObjectComponent <TextArea2D>(openButton.transform, "Text");
                text.Font = font;
                text.text = "Log";
                text.LocalOrderInLayer             = 10;
                openButton.transform.localPosition = new Vector3(((windowWidth - backLogButtonSprite.rect.width) / 2 - closeButtonSprite.rect.width - 20) / 100, ((windowHeight - closeButtonSprite.rect.height) / 2 - 5) / 100, -0.01f);
                openButton.Target       = msgWindow.gameObject;
                openButton.FunctionName = "OnTapBackLog";
                openButton.Se           = clickSe;

                backLogManger = UtageToolKit.AddChildGameObjectComponent <AdvUiBacklogManager>(uiManager.transform, "BackLog");
                backLogManger.InitOnCreate(engine, backLogItemPrefab);
                backLogManger.GetComponent <Node2D>().SortKey = "BackLog";
                backLogManger.ListView.ClipWidthPx            = Mathf.Max(gameScreenWidth / 2, gameScreenWidth - 100);
                backLogManger.ListView.ClipHeightPx           = Mathf.Max(gameScreenHeight / 2, gameScreenHeight - 100);
                backLogManger.ListView.Type = LegacyUiListView.LitViewType.Vertical;
                backLogManger.ListView.IsRepositionReverse = true;

                Sprite2D filter = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(backLogManger.transform, "filter");
                filter.Sprite     = backLogFilterSprite;
                filter.SizeType   = Sprite2D.SpriteSizeType.StrechBoth;
                filter.LocalColor = Color.black;
                filter.LocalAlpha = 0.5f;

                float    arrowY   = (float)backLogManger.ListView.ClipHeightPx / 100 / 2;
                Sprite2D minArrow = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(backLogManger.transform, "MinArrow");
                minArrow.Sprite                  = backLogScrollUpArrow;
                minArrow.LocalOrderInLayer       = 30;
                minArrow.transform.localPosition = new Vector3(0, arrowY);
                backLogManger.ListView.MinArrow  = minArrow.gameObject;
                Sprite2D maxArrow = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(backLogManger.transform, "MaxArrow");
                maxArrow.Sprite                     = backLogScrollUpArrow;
                maxArrow.LocalOrderInLayer          = 30;
                maxArrow.transform.localPosition    = new Vector3(0, -arrowY);
                maxArrow.transform.localEulerAngles = new Vector3(0, 0, 180);
                backLogManger.ListView.MaxArrow     = maxArrow.gameObject;

                LegacyUiButton closeButton   = UtageToolKit.AddChildGameObjectComponent <LegacyUiButton>(backLogManger.transform, "CloseButton");
                Sprite2D       closeButtonBg = UtageToolKit.AddChildGameObjectComponent <Sprite2D>(closeButton.transform, "Bg");
                closeButtonBg.Sprite = backLogCloseButtonSprite;
                closeButton.transform.localPosition = new Vector3((-1.0f * (gameScreenWidth - backLogCloseButtonSprite.rect.width) / 2 + 5) / 100, ((gameScreenHeight - backLogCloseButtonSprite.rect.height) / 2 - 5) / 100, -0.01f);
                closeButton.Target       = backLogManger.gameObject;
                closeButton.FunctionName = "OnTapBack";
                closeButton.Se           = clickSe;
                TextArea2D textClose = UtageToolKit.AddChildGameObjectComponent <TextArea2D>(closeButton.transform, "Text");
                textClose.Font = font;
                textClose.text = "";
                textClose.LocalOrderInLayer = 10;
                LegacyLocalize localize = textClose.gameObject.AddComponent <LegacyLocalize>();
                localize.Key = SystemText.Back.ToString();
            }


            engine.InitOnCreate(layerManager, transitionManager, uiManager);

            AdvLegacyUiManager legacyUiManager = uiManager as AdvLegacyUiManager;

            if (legacyUiManager != null)
            {
                legacyUiManager.InitOnCreate(engine, msgWindow, selection, backLogManger);
            }
            Selection.activeGameObject = go;
            Undo.RegisterCreatedObjectUndo(go, "CreateAdvEngile");
        }