From d35ff84ea3e9058d99369296533019117a4a7125 Mon Sep 17 00:00:00 2001 From: chrisgregan Date: Tue, 4 Mar 2014 11:05:54 +0000 Subject: [PATCH] Added PageStyle class to simplify control of Page rendering styles. Can now set the Game.activePageStyle property to control the currently active Page rendering style. Added a SetPageStyle() command to set the style in a command sequence. Added 2 PageStyle prefabs assets. Renamed Room classes to be consistent. --- Assets/Fungus/Prefabs/Game.prefab | Bin 9656 -> 9824 bytes Assets/Fungus/Prefabs/PageStyle(NoBox).prefab | Bin 0 -> 24672 bytes .../Prefabs/PageStyle(NoBox).prefab.meta | 4 + Assets/Fungus/Prefabs/PageStyle.prefab | Bin 0 -> 24704 bytes Assets/Fungus/Prefabs/PageStyle.prefab.meta | 4 + Assets/Fungus/Scripts/Commands.cs | 22 +++++ Assets/Fungus/Scripts/Game.cs | 12 +++ Assets/Fungus/Scripts/GameController.cs | 38 +++++--- Assets/Fungus/Scripts/Page.cs | 85 ++++++++++-------- Assets/Fungus/Scripts/PageStyle.cs | 48 ++++++++++ Assets/Fungus/Scripts/PageStyle.cs.meta | 8 ++ Assets/FungusExample/Scenes/Example.unity | Bin 73192 -> 45312 bytes .../Scripts/{MenusRoom.cs => MenuRoom.cs} | 14 +-- .../{MenusRoom.cs.meta => MenuRoom.cs.meta} | 0 .../Scripts/{PagesRoom.cs => PageRoom.cs} | 13 ++- .../{PagesRoom.cs.meta => PageRoom.cs.meta} | 0 .../Scripts/{SpritesRoom.cs => SpriteRoom.cs} | 3 +- ...SpritesRoom.cs.meta => SpriteRoom.cs.meta} | 0 .../Scripts/{ViewsRoom.cs => ViewRoom.cs} | 2 +- .../{ViewsRoom.cs.meta => ViewRoom.cs.meta} | 0 20 files changed, 192 insertions(+), 61 deletions(-) create mode 100644 Assets/Fungus/Prefabs/PageStyle(NoBox).prefab create mode 100644 Assets/Fungus/Prefabs/PageStyle(NoBox).prefab.meta create mode 100644 Assets/Fungus/Prefabs/PageStyle.prefab create mode 100644 Assets/Fungus/Prefabs/PageStyle.prefab.meta create mode 100644 Assets/Fungus/Scripts/PageStyle.cs create mode 100644 Assets/Fungus/Scripts/PageStyle.cs.meta rename Assets/FungusExample/Scripts/{MenusRoom.cs => MenuRoom.cs} (74%) rename Assets/FungusExample/Scripts/{MenusRoom.cs.meta => MenuRoom.cs.meta} (100%) rename Assets/FungusExample/Scripts/{PagesRoom.cs => PageRoom.cs} (85%) rename Assets/FungusExample/Scripts/{PagesRoom.cs.meta => PageRoom.cs.meta} (100%) rename Assets/FungusExample/Scripts/{SpritesRoom.cs => SpriteRoom.cs} (97%) rename Assets/FungusExample/Scripts/{SpritesRoom.cs.meta => SpriteRoom.cs.meta} (100%) rename Assets/FungusExample/Scripts/{ViewsRoom.cs => ViewRoom.cs} (96%) rename Assets/FungusExample/Scripts/{ViewsRoom.cs.meta => ViewRoom.cs.meta} (100%) diff --git a/Assets/Fungus/Prefabs/Game.prefab b/Assets/Fungus/Prefabs/Game.prefab index 03ee0d003f2cbca16d676e699f589fccb8a9c22f..def640b43ac03638a803c5597585b67ed67cd2b9 100644 GIT binary patch delta 302 zcmdnt{lG_nfk8!-fk7>Sfq{V&$TpZLV9zMJF~E&w@+mehnc$MjoK!o8#N?99vebaY z^i;3_0|!vG^yFMNmB}%Rypyw7BqrYx#N=E2hbX%KDqs`8WjRJ8yFV^+-o delta 292 zcmaFhv%_0}fkC-~fkAZ#0|NsmkUe3dfIXwgW=2kT#>sa44V%T8>X{}>vWhTDPu64A zW|Wy6#j4CGJGqWkfl+SqLl$BF~WiKaJ-T-YXBPf9|($o^ntPD&H3>rZ8 zOJ)cLav2x`^bYo$);ikl5_uV9o;^jBc`~1h{$>Z2HH@+#H*)~7bADb)W?pG(3P?SJ P!a)Xx279K-f@=N%xS>yz diff --git a/Assets/Fungus/Prefabs/PageStyle(NoBox).prefab b/Assets/Fungus/Prefabs/PageStyle(NoBox).prefab new file mode 100644 index 0000000000000000000000000000000000000000..233e040c9aab482ae2e2abc0aca057d200904a70 GIT binary patch literal 24672 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 RPDYZpAlpq+-lcQ>{{TSQClLSu literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Prefabs/PageStyle(NoBox).prefab.meta b/Assets/Fungus/Prefabs/PageStyle(NoBox).prefab.meta new file mode 100644 index 00000000..2f58e00c --- /dev/null +++ b/Assets/Fungus/Prefabs/PageStyle(NoBox).prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 25812898d7e74407b94d0216027d5876 +NativeFormatImporter: + userData: diff --git a/Assets/Fungus/Prefabs/PageStyle.prefab b/Assets/Fungus/Prefabs/PageStyle.prefab new file mode 100644 index 0000000000000000000000000000000000000000..631331ae96a5319ae22aa62b24004aa3b66f5d5e GIT binary patch literal 24704 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 literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Prefabs/PageStyle.prefab.meta b/Assets/Fungus/Prefabs/PageStyle.prefab.meta new file mode 100644 index 00000000..282a55af --- /dev/null +++ b/Assets/Fungus/Prefabs/PageStyle.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: cdd7a3dba1d864bb78106f6d917a70ae +NativeFormatImporter: + userData: diff --git a/Assets/Fungus/Scripts/Commands.cs b/Assets/Fungus/Scripts/Commands.cs index c5a58fbe..7b05475b 100644 --- a/Assets/Fungus/Scripts/Commands.cs +++ b/Assets/Fungus/Scripts/Commands.cs @@ -124,6 +124,28 @@ namespace Fungus } } + /** + * Sets the currently active Page Style for rendering Pages. + */ + public class SetPageStyleCommand : CommandQueue.Command + { + PageStyle pageStyle; + + public SetPageStyleCommand(PageStyle _pageStyle) + { + pageStyle = _pageStyle; + } + + public override void Execute(CommandQueue commandQueue, Action onComplete) + { + Game.GetInstance().activePageStyle = pageStyle; + if (onComplete != null) + { + onComplete(); + } + } + } + /** * Sets the title text displayed at the top of the active page. */ diff --git a/Assets/Fungus/Scripts/Game.cs b/Assets/Fungus/Scripts/Game.cs index d3e5cef4..793565b4 100644 --- a/Assets/Fungus/Scripts/Game.cs +++ b/Assets/Fungus/Scripts/Game.cs @@ -27,6 +27,11 @@ namespace Fungus */ public Room activeRoom; + /** + * The style to apply when displaying Pages. + */ + public PageStyle activePageStyle; + /** * Automatically display links between connected Rooms. */ @@ -96,6 +101,13 @@ namespace Fungus commandQueue = gameObject.AddComponent(); cameraController = gameObject.AddComponent(); + AudioSource audioSource = gameObject.AddComponent(); + audioSource.playOnAwake = false; + audioSource.loop = true; + + // Create a default page style if none exists + + if (activeRoom == null) { // Pick first room found if none is specified diff --git a/Assets/Fungus/Scripts/GameController.cs b/Assets/Fungus/Scripts/GameController.cs index 0b7892b7..ba655e27 100644 --- a/Assets/Fungus/Scripts/GameController.cs +++ b/Assets/Fungus/Scripts/GameController.cs @@ -104,18 +104,6 @@ namespace Fungus #endregion #region Page Methods - - /** - * Sets the title text displayed at the top of the active Page. - * The title text is only displayed when there is some story text or options to be shown. - * This method returns immediately but it queues an asynchronous command for later execution. - * @param titleText The text to display as the title of the Page. - */ - public void Title(string titleText) - { - CommandQueue commandQueue = Game.GetInstance().commandQueue; - commandQueue.AddCommand(new TitleCommand(titleText)); - } /** * Sets the currently active Page for story text display. @@ -129,7 +117,31 @@ namespace Fungus CommandQueue commandQueue = Game.GetInstance().commandQueue; commandQueue.AddCommand(new SetPageCommand(page)); } - + + /** + * Sets the currently active style for displaying Pages. + * Once this command executes, all Pages will display using the new style. + * This method returns immediately but it queues an asynchronous command for later execution. + * @param pageStyle The style object to make active + */ + public void SetPageStyle(PageStyle pageStyle) + { + CommandQueue commandQueue = Game.GetInstance().commandQueue; + commandQueue.AddCommand(new SetPageStyleCommand(pageStyle)); + } + + /** + * Sets the title text displayed at the top of the active Page. + * The title text is only displayed when there is some story text or options to be shown. + * This method returns immediately but it queues an asynchronous command for later execution. + * @param titleText The text to display as the title of the Page. + */ + public void Title(string titleText) + { + CommandQueue commandQueue = Game.GetInstance().commandQueue; + commandQueue.AddCommand(new TitleCommand(titleText)); + } + /** * Writes story text to the currently active Page. * A 'continue' button is displayed when the text has fully appeared. diff --git a/Assets/Fungus/Scripts/Page.cs b/Assets/Fungus/Scripts/Page.cs index 47fadc2d..f71c575c 100644 --- a/Assets/Fungus/Scripts/Page.cs +++ b/Assets/Fungus/Scripts/Page.cs @@ -14,19 +14,9 @@ namespace Fungus [ExecuteInEditMode] public class Page : MonoBehaviour { + /// Rectangular bounds used to display page text public Bounds pageBounds = new Bounds(Vector3.zero, new Vector3(0.25f, 0.25f, 0f)); - // The font size for title, say and option text is calculated by multiplying the screen height - // by the corresponding font scale. Text appears the same size across all device resolutions. - public float titleFontScale = 1f / 20f; - public float sayFontScale = 1f / 25f; - public float optionFontScale = 1f / 25f; - - public GUIStyle titleStyle; - public GUIStyle sayStyle; - public GUIStyle optionStyle; - public GUIStyle boxStyle; - string titleText = ""; string originalStoryText = ""; @@ -57,15 +47,6 @@ namespace Fungus List