Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Dynamic Story Scripting with the ink Scripting Language

You're reading from   Dynamic Story Scripting with the ink Scripting Language Create dialogue and procedural storytelling systems for Unity projects

Arrow left icon
Product type Paperback
Published in Nov 2021
Publisher Packt
ISBN-13 9781801819329
Length 272 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Daniel Cox Daniel Cox
Author Profile Icon Daniel Cox
Daniel Cox
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Section 1: ink Language Basics
2. Chapter 1: Text, Flow, Choices, and Weaves FREE CHAPTER 3. Chapter 2: Knots, Diverts, and Looping Patterns 4. Chapter 3: Sequences, Cycles, and Shuffling Text 5. Chapter 4: Variables, Lists, and Functions 6. Chapter 5: Tunnels and Threads 7. Section 2: ink Unity API
8. Chapter 6: Adding and Working with the ink-Unity Integration Plugin 9. Chapter 7: Unity API – Making Choices and Story Progression 10. Chapter 8: Story API – Accessing ink Variables and Functions 11. Chapter 9: Story API – Observing and Reacting to Story Events 12. Section 3: Narrative Scripting with ink
13. Chapter 10: Dialogue Systems with ink 14. Chapter 11: Quest Tracking and Branching Narratives 15. Chapter 12: Procedural Storytelling with ink 16. Assessments 17. Other Books You May Enjoy

Calling ink functions externally

As with variables, functions are also global in ink. This means they can be accessed as part of any ink code that is part of the same story. As part of the Unity API provided by the Story class, the EvaluateFunction() method calls a function in the ink code based on the name passed to it. Because functions in ink are global, they can be called from outside the story itself. However, unlike working with the variablesState property and only accessing a single value, multiple values can be passed to an ink function at one time. Additionally, the EvaluateFunction() method can be configured to return the text output within the ink function or any returning data, too.

In this section, we will begin by testing whether an ink function exists using the HasFunction() method. Next, we will examine how the EvaluateFunction() method is the preferred option for complex data or multiple data values when communicating between Unity and ink. Finally, we will review...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image