Пример #1
0
        public override void OnConstruction(IPlatoHelper helper, object linkedObject)
        {
            base.OnConstruction(helper, linkedObject);
            SaveIndex.ValidateIndex();

            CheckParentSheetIndex();

            if (string.IsNullOrEmpty(ComicId))
            {
                ComicId = "244342";
            }

            if (linkedObject is StardewValley.Object obj)
            {
                Issue issue = AssetManager.Instance.GetIssue(ComicId);
#if ANDROID
                obj.netName.Value = obj.netName.Value.Split(';')[0] + ';' + ComicId;
#else
                SetModData("Volume", issue.Volume.Name, obj);
                SetModData("Number", issue.IssueNumber, obj);
                SetModData("SmallImage", issue.Image.SmallUrl.ToString(), obj);
                SetModData("BigImage", issue.Image.MediumUrl.ToString(), obj);
                SetModData("Name", $"{Volume} #{Number}", obj);
                SetModData("Description", issue.Name + " (Comic Book)", obj);
                SetModData("Id", ComicId);
#endif
                Helper.SetTickDelayedUpdateAction(1, () => checkLoad());
            }
        }
Пример #2
0
 private void CheckParentSheetIndex()
 {
     if (SaveIndex.Index != Base?.parentSheetIndex.Value)
     {
         SaveIndex.ValidateIndex();
         Base?.parentSheetIndex.Set(SaveIndex.Index);
     }
 }
Пример #3
0
 private void CheckParentSheetIndex()
 {
     if (SaveIndex.Index != Base?.parentSheetIndex.Value)
     {
         SaveIndex.ValidateIndex();
         Base?.parentSheetIndex.Set(SaveIndex.Index);
         Base?.defaultSourceRect.Set(new Rectangle(SaveIndex.Index * 16 % Furniture.furnitureTexture.Width, SaveIndex.Index * 16 / Furniture.furnitureTexture.Width * 16, 16, 16));
         Base?.sourceRect.Set(Base.defaultSourceRect.Value);
     }
 }
Пример #4
0
        public static Item GetNew(StardewValley.Object obj)
        {
            SaveIndex.ValidateIndex();
            var newFrame = new Furniture(SaveIndex.Index, Vector2.Zero);

            newFrame.netName.Value    = "Plato:IsComicFrameObject=true|ComicId=216384";
            newFrame.heldObject.Value = (StardewValley.Object)obj?.getOne();

            return(newFrame);
        }
Пример #5
0
        public static StardewValley.Object GetNew(string id)
        {
            SaveIndex.ValidateIndex();

            var newComic = new StardewValley.Object(SaveIndex.Index, 1);

            newComic.netName.Set("Plato:IsComicBookObject=true|Id=" + id);

            return(newComic);
        }
Пример #6
0
        public override void OnConstruction(IPlatoHelper helper, object linkedObject)
        {
            base.OnConstruction(helper, linkedObject);
            SaveIndex.ValidateIndex();
            CheckParentSheetIndex();

#if ANDROID
            if (Base?.heldObject.Value is StardewValley.Object obj && obj.netName.Value.Split(';') is string[] split && split.Length > 1)
            {
                Base?.heldObject.Set(ComicBook.GetNew(split[1]));
            }
Пример #7
0
        public static StardewValley.Object GetNew(string id)
        {
            SaveIndex.ValidateIndex();

            var newComic = new StardewValley.Object(SaveIndex.Index, 1);

            PlatoObject <StardewValley.Object> .SetIdentifier(newComic, typeof(ComicBook));

#if ANDROID
            newComic.netName.Value = newComic.netName.Value.Split(';')[0] + ";" + id;
#else
            newComic.modDataForSerialization.Add("Id", id);
#endif

            return(newComic);
        }
Пример #8
0
        public override void OnConstruction(IPlatoHelper helper, object linkedObject)
        {
            base.OnConstruction(helper, linkedObject);
            SaveIndex.ValidateIndex(Base?.parentSheetIndex.Value ?? -1);
            Data?.Set("IsComicFrameObject", true);
            CheckParentSheetIndex();

            if (!(Base?.heldObject.Value is StardewValley.Object))
            {
                if (Data != null && Data.TryGet("ComicId", out string comicId))
                {
                    Base?.heldObject.Set(ComicBook.GetNew(comicId));
                }
                else
                {
                    Base?.heldObject.Set(ComicBook.GetNew("216384"));
                }
            }

            Base?.updateDrawPosition();
        }
Пример #9
0
        public override void OnConstruction(IPlatoHelper helper, object linkedObject)
        {
            base.OnConstruction(helper, linkedObject);
            SaveIndex.ValidateIndex();
            Data?.Set("IsComicBookObject", true);

            CheckParentSheetIndex();

            if (!string.IsNullOrEmpty(ComicId))
            {
                Issue issue = AssetManager.Instance.GetIssue(ComicId);
                Data.Set("Volume", issue.Volume.Name);
                Data.Set("Number", issue.IssueNumber);
                Data.Set("SmallImage", issue.Image.SmallUrl.ToString());
                Data.Set("BigImage", issue.Image.MediumUrl.ToString());
                Data.Set("Name", $"{Volume} #{Number}");
                Data.Set("Description", issue.Name + " (Comic Book)");
                Data.Set("IsComicBookObject", true);
                Helper.SetDelayedAction(1, () => checkLoad());
            }
        }