You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
52 lines
1.6 KiB
using PaintCraft.Canvas.Configs;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
namespace UltraCombos.Marvel.DrawHeroes
|
|
{
|
|
public class PageManager : MonoBehaviour
|
|
{
|
|
public List<string> names = new List<string>();
|
|
|
|
[Space(10)]
|
|
public UnityEvent onSelected = new UnityEvent();
|
|
|
|
private void Start()
|
|
{
|
|
var pages = AppData.Instance.pages;
|
|
foreach (var n in names)
|
|
{
|
|
if (pages.ContainsKey(n))
|
|
continue;
|
|
string id = $"{n}";
|
|
var config = ScriptableObject.CreateInstance<ColoringPageConfig>();
|
|
config.name = $"Page-{id}";
|
|
config.UniqueId = $"{id}";
|
|
config.startImagePath = $"Marvel/start_{id}";
|
|
config.outlinePath = $"Marvel/outline_{id}";
|
|
config.RegionPath = $"Marvel/regions_{id}";
|
|
config.IconPath = $"Marvel/icon";
|
|
pages.Add(id, config);
|
|
}
|
|
Debug.Log($"<b>[Page Manager]</b> Add {pages.Count} pages.");
|
|
}
|
|
|
|
public void SetSelectedPage(string page)
|
|
{
|
|
var pages = AppData.Instance.pages;
|
|
if (pages.ContainsKey(page))
|
|
{
|
|
global::PaintCraft.Canvas.AppData.SelectedPageConfig = pages[page];
|
|
onSelected.Invoke();
|
|
}
|
|
else
|
|
{
|
|
Debug.Log($"<b>[Page Manager]</b> Page-{page} is not found.");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|