Started making comment and documents about some of the modules. Also added Libs dlls to make sure they dnt get lost or messwith in version discrepancies
This commit is contained in:
parent
e397f15f8e
commit
6af98f1fdf
9 changed files with 3926 additions and 67 deletions
BIN
Libs/Assembly-CSharp_publicized.dll
Normal file
BIN
Libs/Assembly-CSharp_publicized.dll
Normal file
Binary file not shown.
BIN
Libs/SRML.Editor.dll
Normal file
BIN
Libs/SRML.Editor.dll
Normal file
Binary file not shown.
BIN
Libs/SRML.dll
Normal file
BIN
Libs/SRML.dll
Normal file
Binary file not shown.
3810
Libs/SRML.xml
Normal file
3810
Libs/SRML.xml
Normal file
File diff suppressed because it is too large
Load diff
20
SRMP/Console/Console Commands.txt
Normal file
20
SRMP/Console/Console Commands.txt
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
The following console Commands work in the pop up console
|
||||||
|
|
||||||
|
cheat money [amount]
|
||||||
|
Add or Remove the given amount from the curret money score
|
||||||
|
|
||||||
|
cheat keys [amount]
|
||||||
|
Add or Remove the given amount of keys from the current amount
|
||||||
|
|
||||||
|
cheat allgadgets
|
||||||
|
Unlocks all of the gagets in the game
|
||||||
|
|
||||||
|
cheat spawn [id] ([amount])
|
||||||
|
|
||||||
|
tp [DestinationPlayer]
|
||||||
|
Teleports the player that entered in the commant to the player entered
|
||||||
|
listplayers
|
||||||
|
Prints the list of current players to the console
|
||||||
|
|
||||||
|
sleep [Hours]
|
||||||
|
Sleep command followed by the time in in game hours to "sleep"". Fast forwards the game the alotted hours.
|
|
@ -10,7 +10,7 @@ namespace SRMultiplayer.Networking
|
||||||
{
|
{
|
||||||
public class NetworkGordo : MonoBehaviour
|
public class NetworkGordo : MonoBehaviour
|
||||||
{
|
{
|
||||||
public string ID { get { return Gordo.id == null ? Gordo.GetComponentInParent<GadgetSite>(true).id : Gordo.id; } }
|
public string ID { get { return Gordo.id == null ? Gordo.GetComponentInParent<GadgetSite>(true).id : Gordo.id; } }
|
||||||
public GordoEat Gordo;
|
public GordoEat Gordo;
|
||||||
public NetworkRegion Region;
|
public NetworkRegion Region;
|
||||||
|
|
||||||
|
@ -33,36 +33,51 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
public void Burst()
|
public void Burst()
|
||||||
{
|
{
|
||||||
|
//if object is in active mark the reach target
|
||||||
if (gameObject.activeInHierarchy)
|
if (gameObject.activeInHierarchy)
|
||||||
{
|
{
|
||||||
StartCoroutine(ReachedTarget());
|
StartCoroutine(ReachedTarget());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//if not just dismiss the gordo completely
|
||||||
Gordo.gameObject.SetActive(false);
|
Gordo.gameObject.SetActive(false);
|
||||||
Gordo.SetEatenCount(-1);
|
Gordo.SetEatenCount(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//process the gordo burst reaction
|
||||||
private IEnumerator ReachedTarget()
|
private IEnumerator ReachedTarget()
|
||||||
{
|
{
|
||||||
|
//start the burst and begin sounds and animations
|
||||||
Gordo.WillStartBurst();
|
Gordo.WillStartBurst();
|
||||||
Gordo.GetComponent<GordoFaceAnimator>().SetTrigger("Strain");
|
Gordo.GetComponent<GordoFaceAnimator>().SetTrigger("Strain");
|
||||||
SECTR_AudioSystem.Play(Gordo.strainCue, Gordo.transform.position, false);
|
SECTR_AudioSystem.Play(Gordo.strainCue, Gordo.transform.position, false);
|
||||||
|
//wait for amination/sounds to finish
|
||||||
yield return new WaitForSeconds(2f);
|
yield return new WaitForSeconds(2f);
|
||||||
SECTR_AudioSystem.Play(Gordo.burstCue, Gordo.transform.position, false);
|
SECTR_AudioSystem.Play(Gordo.burstCue, Gordo.transform.position, false);
|
||||||
|
|
||||||
|
//if the gordo has a destroy effect process it
|
||||||
if (Gordo.destroyFX != null)
|
if (Gordo.destroyFX != null)
|
||||||
{
|
{
|
||||||
|
//play the spawn behavior for destroy events for the gordo that is bursting
|
||||||
GameObject gameObject = SRBehaviour.SpawnAndPlayFX(Gordo.destroyFX, Gordo.transform.position + Vector3.up * 2f, Gordo.transform.rotation);
|
GameObject gameObject = SRBehaviour.SpawnAndPlayFX(Gordo.destroyFX, Gordo.transform.position + Vector3.up * 2f, Gordo.transform.rotation);
|
||||||
|
//get the gordo slime type
|
||||||
Identifiable component = Gordo.gameObject.GetComponent<Identifiable>();
|
Identifiable component = Gordo.gameObject.GetComponent<Identifiable>();
|
||||||
|
//get the color of the current gordo
|
||||||
Color[] colors = SlimeUtil.GetColors(Gordo.gameObject, (component != null) ? component.id : Identifiable.Id.NONE, true);
|
Color[] colors = SlimeUtil.GetColors(Gordo.gameObject, (component != null) ? component.id : Identifiable.Id.NONE, true);
|
||||||
|
//get the slime children spawned by the gordo
|
||||||
RecolorSlimeMaterial[] componentsInChildren = gameObject.GetComponentsInChildren<RecolorSlimeMaterial>();
|
RecolorSlimeMaterial[] componentsInChildren = gameObject.GetComponentsInChildren<RecolorSlimeMaterial>();
|
||||||
for (int i = 0; i < componentsInChildren.Length; i++)
|
for (int i = 0; i < componentsInChildren.Length; i++)
|
||||||
{
|
{
|
||||||
|
//foreach slime in the count spawned by the gordo, set their coloring
|
||||||
componentsInChildren[i].SetColors(colors[0], colors[1], colors[2]);
|
componentsInChildren[i].SetColors(colors[0], colors[1], colors[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//trigger the burst completed event
|
||||||
Gordo.DidCompleteBurst();
|
Gordo.DidCompleteBurst();
|
||||||
|
|
||||||
|
//despawn the bursted gordo from game
|
||||||
Gordo.gameObject.SetActive(false);
|
Gordo.gameObject.SetActive(false);
|
||||||
Gordo.SetEatenCount(-1);
|
Gordo.SetEatenCount(-1);
|
||||||
yield break;
|
yield break;
|
||||||
|
|
|
@ -274,7 +274,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnFireColumnActivate(PacketFireColumnActivate packet)
|
private static void OnFireColumnActivate(PacketFireColumnActivate packet)
|
||||||
{
|
{
|
||||||
if(Globals.FireColumns.TryGetValue(packet.ID, out NetworkFireColumn netColumn))
|
if (Globals.FireColumns.TryGetValue(packet.ID, out NetworkFireColumn netColumn))
|
||||||
{
|
{
|
||||||
netColumn.Column.ActivateFire();
|
netColumn.Column.ActivateFire();
|
||||||
}
|
}
|
||||||
|
@ -321,9 +321,9 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnOasis(PacketOasis packet)
|
private static void OnOasis(PacketOasis packet)
|
||||||
{
|
{
|
||||||
foreach(var oasisData in packet.Oasis)
|
foreach (var oasisData in packet.Oasis)
|
||||||
{
|
{
|
||||||
if(SRSingleton<SceneContext>.Instance.GameModel.AllOases().TryGetValue(oasisData.ID, out OasisModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllOases().TryGetValue(oasisData.ID, out OasisModel model))
|
||||||
{
|
{
|
||||||
model.isLive = oasisData.Model.isLive;
|
model.isLive = oasisData.Model.isLive;
|
||||||
|
|
||||||
|
@ -337,30 +337,44 @@ namespace SRMultiplayer.Networking
|
||||||
#region Exchanges
|
#region Exchanges
|
||||||
private static void OnExchangeTryAccept(PacketExchangeTryAccept packet)
|
private static void OnExchangeTryAccept(PacketExchangeTryAccept packet)
|
||||||
{
|
{
|
||||||
|
//get the exchange type
|
||||||
var type = (ExchangeDirector.OfferType)packet.Type;
|
var type = (ExchangeDirector.OfferType)packet.Type;
|
||||||
|
//check if current scene (view) contains the item in question
|
||||||
if (SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.currOffers.ContainsKey(type))
|
if (SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.currOffers.ContainsKey(type))
|
||||||
{
|
{
|
||||||
|
//handle the scene changes for the given offer
|
||||||
var offer = SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.currOffers[type];
|
var offer = SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.currOffers[type];
|
||||||
|
//cycle through requested items
|
||||||
foreach (ExchangeDirector.RequestedItemEntry requestedItemEntry in offer.requests)
|
foreach (ExchangeDirector.RequestedItemEntry requestedItemEntry in offer.requests)
|
||||||
{
|
{
|
||||||
|
//check if the item can be accespted
|
||||||
|
//is on the board and not already completed
|
||||||
if (requestedItemEntry.id == (Identifiable.Id)packet.ID && !requestedItemEntry.IsComplete())
|
if (requestedItemEntry.id == (Identifiable.Id)packet.ID && !requestedItemEntry.IsComplete())
|
||||||
{
|
{
|
||||||
|
//mark submit to log
|
||||||
SRMP.Log($"Exchange TryAccept for {(Identifiable.Id)packet.ID} ({(ExchangeDirector.OfferType)packet.Type}", "SERVER");
|
SRMP.Log($"Exchange TryAccept for {(Identifiable.Id)packet.ID} ({(ExchangeDirector.OfferType)packet.Type}", "SERVER");
|
||||||
|
//mark progress
|
||||||
requestedItemEntry.progress++;
|
requestedItemEntry.progress++;
|
||||||
|
|
||||||
|
//if the given item completes the necesary quantity
|
||||||
if (offer.IsComplete())
|
if (offer.IsComplete())
|
||||||
{
|
{
|
||||||
foreach(var rewarder in Resources.FindObjectsOfTypeAll<RancherProgressAwarder>())
|
foreach (var rewarder in Resources.FindObjectsOfTypeAll<RancherProgressAwarder>())
|
||||||
{
|
{
|
||||||
rewarder.AwardIfType(type);
|
rewarder.AwardIfType(type);
|
||||||
}
|
}
|
||||||
SRSingleton<SceneContext>.Instance.ExchangeDirector.ClearOffer(type);
|
SRSingleton<SceneContext>.Instance.ExchangeDirector.ClearOffer(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//trigger offer status changed
|
||||||
SRSingleton<SceneContext>.Instance.ExchangeDirector.OfferDidChange();
|
SRSingleton<SceneContext>.Instance.ExchangeDirector.OfferDidChange();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static void OnExchangePrepareDaily(PacketExchangePrepareDaily packet)
|
private static void OnExchangePrepareDaily(PacketExchangePrepareDaily packet)
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.pendingOfferRancherIds = packet.pendingOfferRancherIds;
|
SRSingleton<SceneContext>.Instance.ExchangeDirector.worldModel.pendingOfferRancherIds = packet.pendingOfferRancherIds;
|
||||||
|
@ -414,7 +428,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnTreasurePods(PacketTreasurePods packet)
|
private static void OnTreasurePods(PacketTreasurePods packet)
|
||||||
{
|
{
|
||||||
foreach(var pod in packet.TreasurePods)
|
foreach (var pod in packet.TreasurePods)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllPods().TryGetValue(pod.ID, out TreasurePodModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllPods().TryGetValue(pod.ID, out TreasurePodModel model))
|
||||||
{
|
{
|
||||||
|
@ -446,7 +460,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (model.HasAttached())
|
if (model.HasAttached())
|
||||||
{
|
{
|
||||||
var netDrone = model.attached.transform.GetComponentInChildren<NetworkDrone>(true);
|
var netDrone = model.attached.transform.GetComponentInChildren<NetworkDrone>(true);
|
||||||
if(netDrone != null)
|
if (netDrone != null)
|
||||||
{
|
{
|
||||||
netDrone.PositionRotationUpdate(packet.Position, packet.Rotation, false);
|
netDrone.PositionRotationUpdate(packet.Position, packet.Rotation, false);
|
||||||
}
|
}
|
||||||
|
@ -675,7 +689,7 @@ namespace SRMultiplayer.Networking
|
||||||
extractor.nextProduceTime = packet.nextProduceTime;
|
extractor.nextProduceTime = packet.nextProduceTime;
|
||||||
extractor.queuedToProduce = packet.queuedToProduce;
|
extractor.queuedToProduce = packet.queuedToProduce;
|
||||||
|
|
||||||
if(extractor.cyclesRemaining <= 0)
|
if (extractor.cyclesRemaining <= 0)
|
||||||
{
|
{
|
||||||
var extractorScript = extractor.transform.GetComponent<Extractor>();
|
var extractorScript = extractor.transform.GetComponent<Extractor>();
|
||||||
if (extractorScript != null && extractorScript.gameObject.activeInHierarchy)
|
if (extractorScript != null && extractorScript.gameObject.activeInHierarchy)
|
||||||
|
@ -770,7 +784,7 @@ namespace SRMultiplayer.Networking
|
||||||
private static void OnGadgets(PacketGadgets packet)
|
private static void OnGadgets(PacketGadgets packet)
|
||||||
{
|
{
|
||||||
List<int> regions = new List<int>();
|
List<int> regions = new List<int>();
|
||||||
foreach(var gadgetData in packet.Gadgets)
|
foreach (var gadgetData in packet.Gadgets)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllGadgetSites().TryGetValue(gadgetData.ID, out GadgetSiteModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllGadgetSites().TryGetValue(gadgetData.ID, out GadgetSiteModel model))
|
||||||
{
|
{
|
||||||
|
@ -823,7 +837,7 @@ namespace SRMultiplayer.Networking
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(var region in regions)
|
foreach (var region in regions)
|
||||||
{
|
{
|
||||||
if (Globals.Regions.TryGetValue(region, out NetworkRegion netRegion))
|
if (Globals.Regions.TryGetValue(region, out NetworkRegion netRegion))
|
||||||
{
|
{
|
||||||
|
@ -881,7 +895,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnPuzzleSlots(PacketPuzzleSlots packet)
|
private static void OnPuzzleSlots(PacketPuzzleSlots packet)
|
||||||
{
|
{
|
||||||
foreach(var puzzleSlotData in packet.PuzzleSlots)
|
foreach (var puzzleSlotData in packet.PuzzleSlots)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllSlots().TryGetValue(puzzleSlotData.ID, out PuzzleSlotModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllSlots().TryGetValue(puzzleSlotData.ID, out PuzzleSlotModel model))
|
||||||
{
|
{
|
||||||
|
@ -919,7 +933,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnGordos(PacketGordos packet)
|
private static void OnGordos(PacketGordos packet)
|
||||||
{
|
{
|
||||||
foreach(var gordoData in packet.Gordos)
|
foreach (var gordoData in packet.Gordos)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllGordos().TryGetValue(gordoData.ID, out GordoModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllGordos().TryGetValue(gordoData.ID, out GordoModel model))
|
||||||
{
|
{
|
||||||
|
@ -959,7 +973,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnAccessDoors(PacketAccessDoors packet)
|
private static void OnAccessDoors(PacketAccessDoors packet)
|
||||||
{
|
{
|
||||||
foreach(var doorData in packet.Doors)
|
foreach (var doorData in packet.Doors)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllDoors().TryGetValue(doorData.ID, out AccessDoorModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllDoors().TryGetValue(doorData.ID, out AccessDoorModel model))
|
||||||
{
|
{
|
||||||
|
@ -1216,7 +1230,7 @@ namespace SRMultiplayer.Networking
|
||||||
}
|
}
|
||||||
|
|
||||||
var phaseSiteDirector = GameObject.FindObjectOfType<PhaseSiteDirector>();
|
var phaseSiteDirector = GameObject.FindObjectOfType<PhaseSiteDirector>();
|
||||||
if(phaseSiteDirector != null)
|
if (phaseSiteDirector != null)
|
||||||
{
|
{
|
||||||
phaseSiteDirector.ResetAllSites();
|
phaseSiteDirector.ResetAllSites();
|
||||||
foreach (PhaseSite phaseSite in new List<PhaseSite>(phaseSiteDirector.availablePhaseSites))
|
foreach (PhaseSite phaseSite in new List<PhaseSite>(phaseSiteDirector.availablePhaseSites))
|
||||||
|
@ -1295,7 +1309,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnLandPlotSiloAmmoAdd(PacketLandPlotSiloAmmoAdd packet)
|
private static void OnLandPlotSiloAmmoAdd(PacketLandPlotSiloAmmoAdd packet)
|
||||||
{
|
{
|
||||||
if(NetworkAmmo.All.TryGetValue(packet.ID, out NetworkAmmo ammo))
|
if (NetworkAmmo.All.TryGetValue(packet.ID, out NetworkAmmo ammo))
|
||||||
{
|
{
|
||||||
ammo.MaybeAddToSpecificSlot((Identifiable.Id)packet.Ident, null, packet.Slot, packet.Count, packet.Overflow);
|
ammo.MaybeAddToSpecificSlot((Identifiable.Id)packet.Ident, null, packet.Slot, packet.Count, packet.Overflow);
|
||||||
SRMP.Log($"NetworkAmmo add slot {packet.Slot} (Type: {(Identifiable.Id)packet.Ident} - Count: {packet.Count}) for {packet.ID}", "CLIENT");
|
SRMP.Log($"NetworkAmmo add slot {packet.Slot} (Type: {(Identifiable.Id)packet.Ident} - Count: {packet.Count}) for {packet.ID}", "CLIENT");
|
||||||
|
@ -1488,7 +1502,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnLandPlots(PacketLandplots packet)
|
private static void OnLandPlots(PacketLandplots packet)
|
||||||
{
|
{
|
||||||
foreach(var plotData in packet.LandPlots)
|
foreach (var plotData in packet.LandPlots)
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(plotData.ID, out LandPlotModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(plotData.ID, out LandPlotModel model))
|
||||||
{
|
{
|
||||||
|
@ -1538,7 +1552,7 @@ namespace SRMultiplayer.Networking
|
||||||
{
|
{
|
||||||
var type = (PacketActorFX.FXType)packet.Type;
|
var type = (PacketActorFX.FXType)packet.Type;
|
||||||
var slimeEat = netActor.GetComponentInChildren<SlimeEat>();
|
var slimeEat = netActor.GetComponentInChildren<SlimeEat>();
|
||||||
if(slimeEat != null)
|
if (slimeEat != null)
|
||||||
{
|
{
|
||||||
if (type == PacketActorFX.FXType.SlimeEatFavoriteFX)
|
if (type == PacketActorFX.FXType.SlimeEatFavoriteFX)
|
||||||
{
|
{
|
||||||
|
@ -1748,7 +1762,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnActors(PacketActors packet)
|
private static void OnActors(PacketActors packet)
|
||||||
{
|
{
|
||||||
foreach(var actorData in packet.Actors)
|
foreach (var actorData in packet.Actors)
|
||||||
{
|
{
|
||||||
if (!Globals.Actors.ContainsKey(actorData.ID))
|
if (!Globals.Actors.ContainsKey(actorData.ID))
|
||||||
{
|
{
|
||||||
|
@ -1809,7 +1823,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
Globals.Actors.Add(netActor.ID, netActor);
|
Globals.Actors.Add(netActor.ID, netActor);
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
SRMP.Log($"Could not create actor {actorData.ID}: {ex}");
|
SRMP.Log($"Could not create actor {actorData.ID}: {ex}");
|
||||||
}
|
}
|
||||||
|
@ -1966,7 +1980,7 @@ namespace SRMultiplayer.Networking
|
||||||
SRSingleton<SceneContext>.Instance.PlayerState.model.ammoDict[state].slots = new Ammo.Slot[slotCount];
|
SRSingleton<SceneContext>.Instance.PlayerState.model.ammoDict[state].slots = new Ammo.Slot[slotCount];
|
||||||
for (int j = 0; j < slotCount; j++)
|
for (int j = 0; j < slotCount; j++)
|
||||||
{
|
{
|
||||||
if(reader.ReadBoolean())
|
if (reader.ReadBoolean())
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.PlayerState.model.ammoDict[state].slots[j] = new Ammo.Slot((Identifiable.Id)reader.ReadUInt16(), reader.ReadInt32());
|
SRSingleton<SceneContext>.Instance.PlayerState.model.ammoDict[state].slots[j] = new Ammo.Slot((Identifiable.Id)reader.ReadUInt16(), reader.ReadInt32());
|
||||||
if (reader.ReadBoolean())
|
if (reader.ReadBoolean())
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (!Globals.PacketSize.ContainsKey(type))
|
if (!Globals.PacketSize.ContainsKey(type))
|
||||||
Globals.PacketSize.Add(type, 0);
|
Globals.PacketSize.Add(type, 0);
|
||||||
Globals.PacketSize[type] += im.LengthBytes;
|
Globals.PacketSize[type] += im.LengthBytes;
|
||||||
switch(type)
|
switch (type)
|
||||||
{
|
{
|
||||||
//Player
|
//Player
|
||||||
case PacketType.PlayerLoaded: OnPlayerLoaded(new PacketPlayerLoaded(im), player); break;
|
case PacketType.PlayerLoaded: OnPlayerLoaded(new PacketPlayerLoaded(im), player); break;
|
||||||
|
@ -140,7 +140,7 @@ namespace SRMultiplayer.Networking
|
||||||
#region Race
|
#region Race
|
||||||
private static void OnRaceTrigger(PacketRaceTrigger packet, NetworkPlayer player)
|
private static void OnRaceTrigger(PacketRaceTrigger packet, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
if(Globals.RaceTriggers.TryGetValue(packet.ID, out NetworkRaceTrigger trigger))
|
if (Globals.RaceTriggers.TryGetValue(packet.ID, out NetworkRaceTrigger trigger))
|
||||||
{
|
{
|
||||||
trigger.Activate();
|
trigger.Activate();
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,7 @@ namespace SRMultiplayer.Networking
|
||||||
var generator = QuicksilverEnergyGenerator.allGenerators.FirstOrDefault(g => g.id == packet.ID);
|
var generator = QuicksilverEnergyGenerator.allGenerators.FirstOrDefault(g => g.id == packet.ID);
|
||||||
if (generator)
|
if (generator)
|
||||||
{
|
{
|
||||||
if(Globals.LocalPlayer.CurrentGenerator.id == generator.id)
|
if (Globals.LocalPlayer.CurrentGenerator.id == generator.id)
|
||||||
{
|
{
|
||||||
generator.Activate();
|
generator.Activate();
|
||||||
}
|
}
|
||||||
|
@ -242,9 +242,9 @@ namespace SRMultiplayer.Networking
|
||||||
oasis.SetLive(!model.gameObj.activeInHierarchy);
|
oasis.SetLive(!model.gameObj.activeInHierarchy);
|
||||||
|
|
||||||
var oasisTriggers = GameObject.FindObjectsOfType<OasisWaterTrigger>();
|
var oasisTriggers = GameObject.FindObjectsOfType<OasisWaterTrigger>();
|
||||||
foreach(var trigger in oasisTriggers)
|
foreach (var trigger in oasisTriggers)
|
||||||
{
|
{
|
||||||
if(trigger.oasisToScale == oasis && !trigger.hasAlreadyActivated)
|
if (trigger.oasisToScale == oasis && !trigger.hasAlreadyActivated)
|
||||||
{
|
{
|
||||||
if (trigger.scaleCue != null)
|
if (trigger.scaleCue != null)
|
||||||
{
|
{
|
||||||
|
@ -312,7 +312,7 @@ namespace SRMultiplayer.Networking
|
||||||
{
|
{
|
||||||
SRMP.Log($"Exchange TryAccept for {(Identifiable.Id)packet.ID} ({(ExchangeDirector.OfferType)packet.Type}", "SERVER");
|
SRMP.Log($"Exchange TryAccept for {(Identifiable.Id)packet.ID} ({(ExchangeDirector.OfferType)packet.Type}", "SERVER");
|
||||||
requestedItemEntry.progress++;
|
requestedItemEntry.progress++;
|
||||||
if(offer.IsComplete())
|
if (offer.IsComplete())
|
||||||
{
|
{
|
||||||
foreach (var rewarder in Resources.FindObjectsOfTypeAll<RancherProgressAwarder>())
|
foreach (var rewarder in Resources.FindObjectsOfTypeAll<RancherProgressAwarder>())
|
||||||
{
|
{
|
||||||
|
@ -482,7 +482,7 @@ namespace SRMultiplayer.Networking
|
||||||
{
|
{
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllGadgetSites().TryGetValue(packet.ID, out GadgetSiteModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllGadgetSites().TryGetValue(packet.ID, out GadgetSiteModel model))
|
||||||
{
|
{
|
||||||
if(model.HasAttached())
|
if (model.HasAttached())
|
||||||
{
|
{
|
||||||
model.attached.transform.GetComponent<DroneGadget>().drone.ammo.MaybeAddToSpecificSlot((Identifiable.Id)packet.Ident, null, 0, 1);
|
model.attached.transform.GetComponent<DroneGadget>().drone.ammo.MaybeAddToSpecificSlot((Identifiable.Id)packet.Ident, null, 0, 1);
|
||||||
}
|
}
|
||||||
|
@ -497,7 +497,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite))
|
if (Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite))
|
||||||
{
|
{
|
||||||
var echoNet = netSite.Site.GetComponentInChildren<EchoNet>(true);
|
var echoNet = netSite.Site.GetComponentInChildren<EchoNet>(true);
|
||||||
if(echoNet != null)
|
if (echoNet != null)
|
||||||
{
|
{
|
||||||
echoNet.ResetSpawnTime(echoNet.model);
|
echoNet.ResetSpawnTime(echoNet.model);
|
||||||
}
|
}
|
||||||
|
@ -510,7 +510,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite))
|
if (Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite))
|
||||||
{
|
{
|
||||||
var snare = netSite.Site.GetComponentInChildren<GordoSnare>(true);
|
var snare = netSite.Site.GetComponentInChildren<GordoSnare>(true);
|
||||||
if(snare != null)
|
if (snare != null)
|
||||||
{
|
{
|
||||||
if (!snare.IsBaited() || snare.HasSnaredGordo())
|
if (!snare.IsBaited() || snare.HasSnaredGordo())
|
||||||
{
|
{
|
||||||
|
@ -579,7 +579,7 @@ namespace SRMultiplayer.Networking
|
||||||
{
|
{
|
||||||
Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite);
|
Globals.GadgetSites.TryGetValue(packet.ID, out NetworkGadgetSite netSite);
|
||||||
bool didUnproxy = false;
|
bool didUnproxy = false;
|
||||||
if(netSite != null)
|
if (netSite != null)
|
||||||
{
|
{
|
||||||
if (!netSite.Region.Region.root.activeSelf)
|
if (!netSite.Region.Region.root.activeSelf)
|
||||||
{
|
{
|
||||||
|
@ -622,7 +622,7 @@ namespace SRMultiplayer.Networking
|
||||||
foreach (var data in packet.Amounts)
|
foreach (var data in packet.Amounts)
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] -= data.Value;
|
SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] -= data.Value;
|
||||||
if(SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] < 0)
|
if (SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] < 0)
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] = 0;
|
SRSingleton<SceneContext>.Instance.GameModel.GetGadgetsModel().craftMatCounts[(Identifiable.Id)data.Key] = 0;
|
||||||
}
|
}
|
||||||
|
@ -720,7 +720,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (attachFashions != null)
|
if (attachFashions != null)
|
||||||
{
|
{
|
||||||
var component = SRSingleton<GameContext>.Instance.LookupDirector.GetPrefab((Identifiable.Id)packet.Fashion)?.GetComponent<Fashion>();
|
var component = SRSingleton<GameContext>.Instance.LookupDirector.GetPrefab((Identifiable.Id)packet.Fashion)?.GetComponent<Fashion>();
|
||||||
if(component != null)
|
if (component != null)
|
||||||
{
|
{
|
||||||
attachFashions.Attach(component, !attachFashions.gameObject.activeInHierarchy);
|
attachFashions.Attach(component, !attachFashions.gameObject.activeInHierarchy);
|
||||||
}
|
}
|
||||||
|
@ -821,17 +821,17 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnWorldDecorizer(PacketWorldDecorizer packet, NetworkPlayer player)
|
private static void OnWorldDecorizer(PacketWorldDecorizer packet, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
foreach(var c in packet.Contents)
|
foreach (var c in packet.Contents)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < c.Value; i++)
|
for (int i = 0; i < c.Value; i++)
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.GameModel.decorizer.contents.Increment(c.Key);
|
SRSingleton<SceneContext>.Instance.GameModel.decorizer.contents.Increment(c.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach(var setting in packet.Settings)
|
foreach (var setting in packet.Settings)
|
||||||
{
|
{
|
||||||
var storage = SRSingleton<SceneContext>.Instance.GameModel.decorizer.participants.FirstOrDefault(c => ((DecorizerStorage)c).id == setting.Key);
|
var storage = SRSingleton<SceneContext>.Instance.GameModel.decorizer.participants.FirstOrDefault(c => ((DecorizerStorage)c).id == setting.Key);
|
||||||
if(storage != null)
|
if (storage != null)
|
||||||
{
|
{
|
||||||
((DecorizerStorage)storage).selected = (Identifiable.Id)setting.Value;
|
((DecorizerStorage)storage).selected = (Identifiable.Id)setting.Value;
|
||||||
}
|
}
|
||||||
|
@ -952,7 +952,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(packet.ID, out LandPlotModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(packet.ID, out LandPlotModel model))
|
||||||
{
|
{
|
||||||
var incinerate = model.gameObj.GetComponentInChildren<Incinerate>();
|
var incinerate = model.gameObj.GetComponentInChildren<Incinerate>();
|
||||||
if(incinerate != null)
|
if (incinerate != null)
|
||||||
{
|
{
|
||||||
SRBehaviour.SpawnAndPlayFX(incinerate.ExplosionFX, packet.Position, packet.Rotation);
|
SRBehaviour.SpawnAndPlayFX(incinerate.ExplosionFX, packet.Position, packet.Rotation);
|
||||||
if (packet.Small)
|
if (packet.Small)
|
||||||
|
@ -976,7 +976,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnGlobalFX(PacketGlobalFX packet, NetworkPlayer player)
|
private static void OnGlobalFX(PacketGlobalFX packet, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
if(Globals.FXPrefabs.TryGetValue(packet.Name, out GameObject prefabFX))
|
if (Globals.FXPrefabs.TryGetValue(packet.Name, out GameObject prefabFX))
|
||||||
{
|
{
|
||||||
SRBehaviour.SpawnAndPlayFX(prefabFX, packet.Position, Quaternion.identity);
|
SRBehaviour.SpawnAndPlayFX(prefabFX, packet.Position, Quaternion.identity);
|
||||||
}
|
}
|
||||||
|
@ -1080,7 +1080,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(packet.ID, out LandPlotModel model))
|
if (SRSingleton<SceneContext>.Instance.GameModel.AllLandPlots().TryGetValue(packet.ID, out LandPlotModel model))
|
||||||
{
|
{
|
||||||
var collector = model.gameObj.GetComponentInChildren<PlortCollector>();
|
var collector = model.gameObj.GetComponentInChildren<PlortCollector>();
|
||||||
if(collector != null)
|
if (collector != null)
|
||||||
{
|
{
|
||||||
collector.StartCollection();
|
collector.StartCollection();
|
||||||
}
|
}
|
||||||
|
@ -1268,14 +1268,14 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnRegionOwner(PacketRegionOwner packet, NetworkPlayer player)
|
private static void OnRegionOwner(PacketRegionOwner packet, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
if(Globals.Regions.TryGetValue(packet.ID, out NetworkRegion netRegion))
|
if (Globals.Regions.TryGetValue(packet.ID, out NetworkRegion netRegion))
|
||||||
{
|
{
|
||||||
if(packet.Owner == 0 && netRegion.Owner == player.ID)
|
if (packet.Owner == 0 && netRegion.Owner == player.ID)
|
||||||
{
|
{
|
||||||
netRegion.SetOwnership(0);
|
netRegion.SetOwnership(0);
|
||||||
packet.SendToAll();
|
packet.SendToAll();
|
||||||
}
|
}
|
||||||
else if(packet.Owner != 0 && netRegion.Owner == 0)
|
else if (packet.Owner != 0 && netRegion.Owner == 0)
|
||||||
{
|
{
|
||||||
netRegion.SetOwnership(packet.Owner);
|
netRegion.SetOwnership(packet.Owner);
|
||||||
packet.SendToAll();
|
packet.SendToAll();
|
||||||
|
@ -1338,7 +1338,7 @@ namespace SRMultiplayer.Networking
|
||||||
var slimeFeral = netActor.GetComponentInChildren<SlimeFeral>(true);
|
var slimeFeral = netActor.GetComponentInChildren<SlimeFeral>(true);
|
||||||
if (slimeFeral != null)
|
if (slimeFeral != null)
|
||||||
{
|
{
|
||||||
if(packet.Feral)
|
if (packet.Feral)
|
||||||
{
|
{
|
||||||
slimeFeral.MakeFeral();
|
slimeFeral.MakeFeral();
|
||||||
}
|
}
|
||||||
|
@ -1384,7 +1384,7 @@ namespace SRMultiplayer.Networking
|
||||||
if (Globals.Actors.TryGetValue(packet.ID, out NetworkActor netActor))
|
if (Globals.Actors.TryGetValue(packet.ID, out NetworkActor netActor))
|
||||||
{
|
{
|
||||||
var cycle = netActor.GetComponentInChildren<ResourceCycle>(true);
|
var cycle = netActor.GetComponentInChildren<ResourceCycle>(true);
|
||||||
if(cycle != null)
|
if (cycle != null)
|
||||||
{
|
{
|
||||||
var state = (ResourceCycle.State)packet.State;
|
var state = (ResourceCycle.State)packet.State;
|
||||||
//SRMP.Log($"Resource state for {netActor.name} ({netActor.ID}): {state}", "SERVER");
|
//SRMP.Log($"Resource state for {netActor.name} ({netActor.ID}): {state}", "SERVER");
|
||||||
|
@ -1401,7 +1401,7 @@ namespace SRMultiplayer.Networking
|
||||||
}
|
}
|
||||||
TweenUtil.ScaleTo(cycle.gameObject, cycle.defaultScale, 4f, Ease.InOutQuad);
|
TweenUtil.ScaleTo(cycle.gameObject, cycle.defaultScale, 4f, Ease.InOutQuad);
|
||||||
}
|
}
|
||||||
else if(state == ResourceCycle.State.EDIBLE)
|
else if (state == ResourceCycle.State.EDIBLE)
|
||||||
{
|
{
|
||||||
cycle.MakeEdible();
|
cycle.MakeEdible();
|
||||||
cycle.additionalRipenessDelegate = null;
|
cycle.additionalRipenessDelegate = null;
|
||||||
|
@ -1427,7 +1427,7 @@ namespace SRMultiplayer.Networking
|
||||||
cycle.vacuumable.Pending = false;
|
cycle.vacuumable.Pending = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(state == ResourceCycle.State.ROTTEN)
|
else if (state == ResourceCycle.State.ROTTEN)
|
||||||
{
|
{
|
||||||
cycle.Rot();
|
cycle.Rot();
|
||||||
cycle.SetRotten(!cycle.gameObject.activeInHierarchy);
|
cycle.SetRotten(!cycle.gameObject.activeInHierarchy);
|
||||||
|
@ -1525,7 +1525,7 @@ namespace SRMultiplayer.Networking
|
||||||
netActor.KnownPlayers.AddRange(Globals.Players.Values.Where(p => p.HasLoaded));
|
netActor.KnownPlayers.AddRange(Globals.Players.Values.Where(p => p.HasLoaded));
|
||||||
|
|
||||||
var resourceCycle = actorObj.GetComponentInChildren<ResourceCycle>(true);
|
var resourceCycle = actorObj.GetComponentInChildren<ResourceCycle>(true);
|
||||||
if(resourceCycle != null)
|
if (resourceCycle != null)
|
||||||
{
|
{
|
||||||
resourceCycle.SetInitState(ResourceCycle.State.UNRIPE, double.MaxValue);
|
resourceCycle.SetInitState(ResourceCycle.State.UNRIPE, double.MaxValue);
|
||||||
}
|
}
|
||||||
|
@ -1574,7 +1574,7 @@ namespace SRMultiplayer.Networking
|
||||||
private static void OnPlayerCurrencyDisplay(PacketPlayerCurrencyDisplay packet, NetworkPlayer player)
|
private static void OnPlayerCurrencyDisplay(PacketPlayerCurrencyDisplay packet, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
SRSingleton<SceneContext>.Instance.PlayerState.SetCurrencyDisplay(packet.IsNull ? null : new int?(packet.Currency));
|
SRSingleton<SceneContext>.Instance.PlayerState.SetCurrencyDisplay(packet.IsNull ? null : new int?(packet.Currency));
|
||||||
if(packet.IsNull)
|
if (packet.IsNull)
|
||||||
{
|
{
|
||||||
SRSingleton<PopupElementsUI>.Instance.CreateCoinsPopup(packet.Currency, PlayerState.CoinsType.DRONE);
|
SRSingleton<PopupElementsUI>.Instance.CreateCoinsPopup(packet.Currency, PlayerState.CoinsType.DRONE);
|
||||||
}
|
}
|
||||||
|
@ -1657,7 +1657,7 @@ namespace SRMultiplayer.Networking
|
||||||
|
|
||||||
private static void OnPlayerAnimationLayer(NetIncomingMessage im, NetworkPlayer player)
|
private static void OnPlayerAnimationLayer(NetIncomingMessage im, NetworkPlayer player)
|
||||||
{
|
{
|
||||||
if(player.HasLoaded)
|
if (player.HasLoaded)
|
||||||
{
|
{
|
||||||
byte id = im.ReadByte();
|
byte id = im.ReadByte();
|
||||||
player.ReadAnimatorLayer(im);
|
player.ReadAnimatorLayer(im);
|
||||||
|
@ -1707,7 +1707,7 @@ namespace SRMultiplayer.Networking
|
||||||
Contents = SRSingleton<SceneContext>.Instance.GameModel.decorizer.contents.ToDictionary(c => c.Key, v => v.Value),
|
Contents = SRSingleton<SceneContext>.Instance.GameModel.decorizer.contents.ToDictionary(c => c.Key, v => v.Value),
|
||||||
Settings = SRSingleton<SceneContext>.Instance.GameModel.decorizer.settings.ToDictionary(s => s.Key, v => (ushort)v.Value.selected)
|
Settings = SRSingleton<SceneContext>.Instance.GameModel.decorizer.settings.ToDictionary(s => s.Key, v => (ushort)v.Value.selected)
|
||||||
}.Send(player, NetDeliveryMethod.ReliableOrdered);
|
}.Send(player, NetDeliveryMethod.ReliableOrdered);
|
||||||
|
|
||||||
new PacketLandplots()
|
new PacketLandplots()
|
||||||
{
|
{
|
||||||
LandPlots = Globals.LandPlots.Values.Where(l => l.Plot.model != null).Select(l => new PacketLandplots.LandPlotData() { ID = l.Location.id, Model = l.Plot.model }).ToList()
|
LandPlots = Globals.LandPlots.Values.Where(l => l.Plot.model != null).Select(l => new PacketLandplots.LandPlotData() { ID = l.Location.id, Model = l.Plot.model }).ToList()
|
||||||
|
|
|
@ -74,20 +74,20 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="0Harmony">
|
<Reference Include="0Harmony">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\0Harmony.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\0Harmony.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Assembly-CSharp_publicized">
|
<Reference Include="Assembly-CSharp_publicized">
|
||||||
<HintPath>..\Libs\Assembly-CSharp_publicized.dll</HintPath>
|
<HintPath>..\Libs\Assembly-CSharp_publicized.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="DOTween">
|
<Reference Include="DOTween">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\DOTween.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\DOTween.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="InControl">
|
<Reference Include="InControl">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\InControl.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\InControl.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\Newtonsoft.Json.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\Newtonsoft.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="SRML, Version=0.1.8.2, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="SRML, Version=0.1.8.2, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
@ -103,46 +103,46 @@
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="Unity.TextMeshPro">
|
<Reference Include="Unity.TextMeshPro">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\Unity.TextMeshPro.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\Unity.TextMeshPro.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityCoreMod, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="UnityCoreMod, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityCoreMod.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityCoreMod.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine">
|
<Reference Include="UnityEngine">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.AnimationModule">
|
<Reference Include="UnityEngine.AnimationModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.AssetBundleModule">
|
<Reference Include="UnityEngine.AssetBundleModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.CoreModule">
|
<Reference Include="UnityEngine.CoreModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.IMGUIModule">
|
<Reference Include="UnityEngine.IMGUIModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.InputLegacyModule">
|
<Reference Include="UnityEngine.InputLegacyModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.PhysicsModule">
|
<Reference Include="UnityEngine.PhysicsModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.TextCoreModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="UnityEngine.TextCoreModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.TextRenderingModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="UnityEngine.TextRenderingModule, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.UI">
|
<Reference Include="UnityEngine.UI">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.UI.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="UnityEngine.UIModule">
|
<Reference Include="UnityEngine.UIModule">
|
||||||
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\Slime Rancher\SlimeRancher_Data\Managed\UnityEngine.UIModule.dll</HintPath>
|
<HintPath>C:\Program Files\Epic Games\SlimeRancher\SlimeRancher_Data\Managed\UnityEngine.UIModule.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
Loading…
Reference in a new issue