void Start() { /*Person ResetCharacter = new Person(1, 7, 1, 1, * 1, 1, 1, "Assets/Prefabs/PlayerCharacter.prefab"); * GameObject avatar = Instantiate(avatarPrefab) as GameObject; * avatar.transform.SetParent(characterCreationImage.transform, false);*/ audioSource = this.GetComponent <AudioSource>(); story = new Story(inkAsset.text); // ------------------ Observeable Variables // Stats story.ObserveVariable("energy", (string varName, object newValue) => { StatController.UpdateEnergyStat((int)newValue); }); story.ObserveVariable("health", (string varName, object newValue) => { StatController.UpdateHealthStat((int)newValue); }); story.ObserveVariable("wellness", (string varName, object newValue) => { StatController.UpdateWellnessStat((int)newValue); }); // Date / UI Stuff story.ObserveVariable("fullDate", (string varName, object newValue) => { LabelController.UpdateDate((string)newValue); }); story.ObserveVariable("today", (string varName, object newValue) => { LabelController.UpdateWeekday(newValue); }); story.ObserveVariable("time", (string varName, object newValue) => { LabelController.UpdateTimeSlot(newValue); }); story.ObserveVariable("location", (string varName, object newValue) => { LabelController.UpdateLocation((string)newValue); }); story.ObserveVariable("background", (string varName, object newValue) => { LabelController.UpdateBackground((string)newValue); }); // Inventory story.ObserveVariable("money", (string varName, object newValue) => { InventoryController.UpdateMoneyQuantity((float)newValue); }); story.ObserveVariable("prepackagedMealCount", (string varName, object newValue) => { InventoryController.UpdatePrepackagedFoodQuantity((int)newValue); }); story.ObserveVariable("foodIngredientsCount", (string varName, object newValue) => { InventoryController.UpdateIngredientsSet((int)newValue); }); // Store story.ObserveVariable("storePrompt", (string varName, object newValue) => { StoreController.StoreState((int)newValue); }); story.ObserveVariable("purchaseResponse", (string varName, object newValue) => { StoreController.UpdatePurchaseResponse((string)newValue); }); // Conversation story.ObserveVariable("conversationActive", (string varName, object newValue) => { ConversationToggle((int)newValue); }); story.ObserveVariable("relationshipWithPlayer", (string varName, object newValue) => { UpdateRelationships((int)newValue); }); // ------------------ External Functions story.BindExternalFunction("EndGame", () => EndGame()); story.BindExternalFunction("UpdateNPCs", () => UpdateNPCs()); // ------------------ Font Options userFont = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as TMP_FontAsset; storyText.fontSize = userFontSize; storyText.font = userFont; // ------------------ Start Loop StoryLoop(); }