Exemplo n.º 1
0
        public static void SetCurrentMansus(Mansus mansus)
        {
            if (mansus == CurrentMansus)
            {
                return;
            }
            if (mansus != DefaultMansus)
            {
                SetCurrentMansus(DefaultMansus); // Reset to default, and then apply modification
            }

            CurrentMansus = mansus;
            var tabletop = Registry.Get <TabletopManager>();

            if (mansus.Map != null)
            {
                var mapAnimation =
                    MansusAnim.GetValue(tabletop) as MapAnimation;
                mapAnimation.GetComponent <Image>().sprite = mansus.Map;
            }

            var doorSlots =
                DoorSlots.GetValue(tabletop.mapTokenContainer) as DoorSlot[];

            foreach (var door in doorSlots)
            {
                var doorName = door.portalType.ToString().ToLower();
                if (mansus.Doors.ContainsKey(doorName))
                {
                    ModifyDoor(door, mansus.Doors[doorName]);
                }
            }
        }
Exemplo n.º 2
0
        private static void OnLegacyLoad(ServiceInitializationEvent <TabletopManager> .PostInit e)
        {
            BackupDefaultMansus(e.Service);
            var legacy = Registry.Get <Character>().ActiveLegacy.Extra();

            if (legacy.ContainsKey("mansus") && legacy["mansus"].ToString() != "")
            {
                LegacyMansus = Registry.Get <Compendium>().GetEntityById <Mansus>(legacy["mansus"].ToString());
            }
            else
            {
                LegacyMansus = DefaultMansus;
            }
            SetCurrentMansus(LegacyMansus);
        }
Exemplo n.º 3
0
        private static void BackupDefaultMansus(TabletopManager tabletop)
        {
            if (DefaultMansus != null)
            {
                return;
            }
            var mapAnimation =
                MansusAnim.GetValue(tabletop) as MapAnimation;
            var doorSlots =
                DoorSlots.GetValue(tabletop.mapTokenContainer) as DoorSlot[];

            DefaultMansus = new Mansus("default")
            {
                Map   = mapAnimation.GetComponent <Image>().sprite,
                Doors = new Dictionary <string, Door>()
            };
            foreach (var door in doorSlots)
            {
                var doorName = door.portalType.ToString().ToLower();
                DefaultMansus.Doors[doorName] = BackupDoor(door);
            }

            Registry.Get <Compendium>().TryAddEntity(DefaultMansus);
        }