Got custom furniture to sync before and after saves!

This commit is contained in:
JoshuaNavarro 2019-08-27 19:42:05 -07:00
parent b53379736d
commit a752503964
10 changed files with 22 additions and 33 deletions

View File

@ -112,7 +112,7 @@ namespace Revitalize.Framework.Objects
if (this.info == null)
{
ModCore.log("Info was null when getting data.");
//ModCore.log("Info was null when getting data.");
this.updateInfo();
}

View File

@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Newtonsoft.Json;
using PyTK.CustomElementHandler;
using Revitalize.Framework.Objects.InformationFiles.Furniture;
using StardewValley;
@ -22,11 +23,12 @@ namespace Revitalize.Framework.Objects.Furniture
/// <summary>
/// Checks if the player can sit "on" this component.
/// </summary>
[JsonIgnore]
public bool CanSitHere
{
get
{
return (this.furnitureInfo as InformationFiles.Furniture.ChairInformation).canSitHere;
return this.furnitureInfo.canSitHere;
}
}

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Newtonsoft.Json;
using PyTK.CustomElementHandler;
using Revitalize.Framework.Illuminate;
using Revitalize.Framework.Utilities.Serialization;
@ -15,6 +16,7 @@ namespace Revitalize.Framework.Objects.Furniture
{
public class LampTileComponent:FurnitureTileComponent
{
[JsonIgnore]
public bool canTurnOn
{
get

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Newtonsoft.Json;
using PyTK.CustomElementHandler;
using Revitalize.Framework.Objects.InformationFiles.Furniture;
using Revitalize.Framework.Utilities.Serialization;
@ -18,6 +19,7 @@ namespace Revitalize.Framework.Objects.Furniture
public TableInformation furnitureInfo;
[JsonIgnore]
public bool CanPlaceItemsHere
{
get

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Revitalize.Framework.Objects.InformationFiles.Furniture
{
public class ChairInformation:FurnitureInformation
public class ChairInformation
{
public bool canSitHere;

View File

@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Revitalize.Framework.Objects.InformationFiles.Furniture
{
public class FurnitureInformation
{
public FurnitureInformation()
{
}
}
}

View File

@ -365,7 +365,7 @@ namespace Revitalize.Framework.Objects
if (this.info == null || this.containerObject==null)
{
this.ItemInfo = this.text;
ModCore.log("Updated item info!");
//ModCore.log("Updated item info!");
return;
}

View File

@ -18,17 +18,17 @@ namespace Revitalize.Framework.Utilities
public static string RequestALLModObjects = "Revitalize.EndOfDayRequestAllObjects";
public static void GetModMessage(object o, StardewModdingAPI.Events.ModMessageReceivedEventArgs e)
{
ModCore.log("Get a mod message: "+e.Type);
//ModCore.log("Get a mod message: "+e.Type);
if (e.Type.Equals(RequestGUIDMessage))
{
ModCore.log("Send GUID Request");
//ModCore.log("Send GUID Request");
Guid request = Guid.Parse(e.ReadAs<string>());
SendGuidObject(request);
}
if (e.Type.Equals(ReceieveGUIDMessage))
{
ModCore.log("Receieve GUID Request");
//ModCore.log("Receieve GUID Request");
string objStr = e.ReadAs <string>();
CustomObject v=(CustomObject)ModCore.Serializer.DeserializeFromJSONString<Item>(objStr);
if (ModCore.CustomObjects.ContainsKey((v as CustomObject).guid) == false)
@ -45,13 +45,13 @@ namespace Revitalize.Framework.Utilities
if(e.Type.Equals(RequestGUIDMessage_Tile))
{
ModCore.log("Send GUID Request FOR TILE");
//odCore.log("Send GUID Request FOR TILE");
Guid request = Guid.Parse(e.ReadAs<string>());
SendGuidObject_Tile(request);
}
if(e.Type.Equals(ReceieveGUIDMessage_Tile))
{
ModCore.log("Receieve GUID Request FOR TILE");
//ModCore.log("Receieve GUID Request FOR TILE");
string objStr = e.ReadAs<string>();
CustomObject v =(CustomObject)ModCore.Serializer.DeserializeFromJSONString<Item>(objStr);
if (ModCore.CustomObjects.ContainsKey((v as CustomObject).guid) == false)
@ -81,13 +81,13 @@ namespace Revitalize.Framework.Utilities
{
if (ModCore.CustomObjects.ContainsKey(request))
{
ModCore.log("Send guid request!");
//ModCore.log("Send guid request!");
//ModCore.CustomObjects[request].forceUpdate();
ModCore.ModHelper.Multiplayer.SendMessage<string>(ModCore.Serializer.ToJSONString(ModCore.CustomObjects[request]), ReceieveGUIDMessage, new string[] { Revitalize.ModCore.Manifest.UniqueID.ToString() });
}
else
{
ModCore.log("This mod doesn't have the guid object");
//ModCore.log("This mod doesn't have the guid object");
}
}
@ -95,7 +95,7 @@ namespace Revitalize.Framework.Utilities
{
if (ModCore.CustomObjects.ContainsKey(request))
{
ModCore.log("Send guid tile request!");
//ModCore.log("Send guid tile request!");
//(ModCore.CustomObjects[request] as MultiTiledComponent).forceUpdate();
//(ModCore.CustomObjects[request] as MultiTiledComponent).containerObject.forceUpdate();
(ModCore.CustomObjects[request] as MultiTiledComponent).containerObject.updateInfo();
@ -103,7 +103,7 @@ namespace Revitalize.Framework.Utilities
}
else
{
ModCore.log("This mod doesn't have the guid tile");
//ModCore.log("This mod doesn't have the guid tile");
}
}

View File

@ -263,14 +263,14 @@ namespace Revitalize.Framework.Utilities
{
//ModCore.log("Found a custom object in a chest!");
string jsonString = JsonName;
ModCore.log(JsonName);
//ModCore.log(JsonName);
string dataSplit= jsonString.Split(new string[] { "<" }, StringSplitOptions.None)[1];
string backUpGUID = dataSplit.Split('|')[0];
string[] guidArr = jsonString.Split(new string[] { "|" }, StringSplitOptions.None);
foreach(string s in guidArr)
{
ModCore.log(s);
//ModCore.log(s);
}
string guidName = guidArr[guidArr.Length - 1];
@ -285,7 +285,7 @@ namespace Revitalize.Framework.Utilities
Guid d = Guid.Parse(backUpGUID);
guidName = backUpGUID;
}
ModCore.log("THE GUID IS:"+ guidName);
//ModCore.log("THE GUID IS:"+ guidName);
//ModCore.log(jsonString);
string type = jsonString.Split('|')[2];

View File

@ -127,7 +127,6 @@
<Compile Include="Framework\Objects\Furniture\TableTileComponent.cs" />
<Compile Include="Framework\Objects\InformationFiles\Furniture\ArcadeCabinetInformation.cs" />
<Compile Include="Framework\Objects\InformationFiles\Furniture\ChairInformation.cs" />
<Compile Include="Framework\Objects\InformationFiles\Furniture\FurnitureInformation.cs" />
<Compile Include="Framework\Objects\InformationFiles\Furniture\TableInformation.cs" />
<Compile Include="Framework\Objects\InformationFiles\ObjectGUIDInfo.cs" />
<Compile Include="Framework\Objects\InformationFiles\ResourceInformaton.cs" />