private void SaveProperty_fieldChangeEvent(Netcode.NetString field, string oldValue, string newValue) { if (newValue != LastUpdate) { ParseDataString(newValue); } }
public PyDataSync(Netcode.NetString field, Dictionary <string, string> data) { Data = data; Field = field; Field.fieldChangeEvent += SaveProperty_fieldChangeEvent; Update(); }
public PyDataSync(Netcode.NetString field, string key = "", string value = "") { Data = new Dictionary <string, string>(); if (key != "") { Data.Add(key, value); } Field = field; Field.fieldChangeEvent += SaveProperty_fieldChangeEvent; Update(); }
public void InitNetFields() { if (Game1.IsMultiplayer == false && (Game1.IsClient == false || Game1.IsClient == false)) { return; } this.initNetFields(); this.syncObject = new PySync(this); this.NetFields.AddField(this.syncObject); this.netItemInfo = new Netcode.NetString(this.ItemInfo); this.NetFields.AddField(this.netItemInfo); }
private void RandomButtonPressed() { if (GetNumberOfLocalMiniJukeboxes() == 0) // this shouldn't happen! { Monitor.Log("RandomButtonPressed() despite no mini-jukeboxes!", LogLevel.Error); return; } ChooseAction("random"); // NOTE: this will not include "typically removed" tracks even if enabled // above sets GameLocation.randomMiniJukeboxTrack.Value // vanilla bug(?): only happens IF miniJukeboxTrack is "random", which is set AFTER the randomize attempt is made Netcode.NetString randomTrack = Game1.player.currentLocation.randomMiniJukeboxTrack; if (randomTrack.Value is null || randomTrack.Value.Equals("")) { ChooseAction("random"); // do it again } PlayingIndex = -1; IsRandom = true; Monitor.Log("Random selected! Now playing: " + Game1.player.currentLocation.randomMiniJukeboxTrack.Value); // Game1.playSound("select"); }