private void Event_SaveGameLoaded() { byte[] data = (api as ICoreServerAPI).WorldManager.SaveGame.GetData("blockreinforcementprivileges"); if (data != null) { try { privGrantsByOwningPlayerUid = SerializerUtil.Deserialize <Dictionary <string, ReinforcedPrivilegeGrants> >(data); } catch { api.World.Logger.Notification("Unable to load player->group privileges for the block reinforcement system. Exception thrown when trying to deserialize it. Will be discarded."); } } data = (api as ICoreServerAPI).WorldManager.SaveGame.GetData("blockreinforcementprivilegesgroup"); if (data != null) { try { privGrantsByOwningGroupUid = SerializerUtil.Deserialize <Dictionary <int, ReinforcedPrivilegeGrantsGroup> >(data); } catch { api.World.Logger.Notification("Unable to load group->player privileges for the block reinforcement system. Exception thrown when trying to deserialize it. Will be discarded."); } } }
private string SaveData(string nodeJson, int ptn_pk) { string result = string.Empty; ResponseType ObjResponse = new ResponseType(); try { HIVCE.Common.Entities.TreatmentPreparation treatmentpreparation = SerializerUtil.ConverToObject <HIVCE.Common.Entities.TreatmentPreparation>(nodeJson); BLTreatmentPreparation blTP = new BLTreatmentPreparation(); treatmentpreparation.Ptn_pk = ptn_pk; bool flag = blTP.SaveUpdateTreatmentPreparation(treatmentpreparation); if (flag) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.True); } else { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } } catch (Exception ex) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } finally { } result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
public IEnumerable <T> FindSoredEntityByKey <T>(string key, int take) { foreach (var row in RedisDb.SortedSetRangeByRankWithScores(key, 0, take)) { yield return(SerializerUtil.JavaScriptJosnDeserialize <T>(row.Element)); } }
protected void Serialize(WriteTarget target) { Type type = target.item.GetType(); context = target.item; int id; if (type.IsClass) { id = GetRefId(target.item); outputTargets[id] = target; } else { id = -1; } //string creationType = SerializerUtil.GetCreationType(type, context); TypeSerializer serializer = SerializerUtil.GetTypeSerializer(type); builder.Length = 0; writeCalls = 0; serializer.Serialize(target.item, this); target.id = id; target.fieldCount = writeCalls; target.fields = builder.ToString(); target.version = serializer.GetVersion(); }
public static void Postfix(WaypointMapLayer __instance, byte[] data) { string currentHash = FloatyWaypointManagement.GetWaypointsHash(); if (currentHash != null) { var incomingWaypoints = SerializerUtil.Deserialize <List <Waypoint> >(data); string str = ""; for (int i = 0; i < incomingWaypoints.Count; i++) { str += incomingWaypoints[i].Title; str += i; } string incomingHash = ExtraMath.Sha512Hash(str); if (currentHash == incomingHash) { return; } } FloatyWaypointManagement.TriggerRepopulation(); }
public void TestOperationRequest() { ConfigurationPropertiesImpl configProperties = new ConfigurationPropertiesImpl(); configProperties.Properties = (new List <ConfigurationPropertyImpl>()); APIConfigurationImpl apiImpl = new APIConfigurationImpl(); apiImpl.ConfigurationProperties = (configProperties); IList <object> args = new List <object>(); args.Add("my arg"); OperationRequest v1 = new OperationRequest(new ConnectorKey("my bundle", "my version", "my connector"), SerializerUtil.SerializeBase64Object(apiImpl), SafeType <APIOperation> .Get <CreateApiOp>(), "mymethodName", args); OperationRequest v2 = (OperationRequest)CloneObject(v1); Assert.AreEqual("my bundle", v2.ConnectorKey.BundleName); Assert.AreEqual("my version", v2.ConnectorKey.BundleVersion); Assert.AreEqual("my connector", v2.ConnectorKey.ConnectorName); Assert.IsNotNull(v2.ConnectorFacadeKey); Assert.AreEqual(SafeType <APIOperation> .Get <CreateApiOp>(), v2.Operation); Assert.AreEqual("mymethodName", v2.OperationMethodName); Assert.IsTrue( CollectionUtil.Equals( args, v2.Arguments)); }
private string SaveCIFData(string jsonString, int patientID, int userID) { bool responseStatus; ResponseType ObjResponse = new ResponseType(); try { // HTSClientIntake CIform = SerializerUtil.ConverToObject<HTSClientIntake>(jsonString); IHTSClientIntake clientIntake; clientIntake = (IHTSClientIntake)ObjectFactory.CreateInstance("BusinessProcess.Clinical.BHTSClientIntake, BusinessProcess.Clinical"); responseStatus = clientIntake.SaveClientIntakeFormData(jsonString, patientID, userID); ObjResponse.Success = responseStatus.ToString(); } catch (Exception ex) { CLogger.WriteLog(ELogLevel.ERROR, "GetClientIntakeFormData() exception: " + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; responseStatus = Convert.ToBoolean(SerializerUtil.ConverToJson <ResponseType>(response.ToString())); ObjResponse.Success = responseStatus.ToString(); } string result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
private string GetPrEPInitiation(int ptn_pk, int visitPK, int locationId) { string result = string.Empty; try { IPrEP ipatientPrEP; ipatientPrEP = (IPrEP)ObjectFactory.CreateInstance("BusinessProcess.Clinical.BPrEP, BusinessProcess.Clinical"); Entities.Common.PrEP patientPrEP = ipatientPrEP.GetPrEPInitiationData(ptn_pk, visitPK, locationId); //PrEP patientPrEP = ipatientPrEP.GetPrEPInitiationData(ptn_pk, visitPK, locationId); result = SerializerUtil.ConverToJson <Entities.Common.PrEP>(patientPrEP); } catch (Exception ex) { string str = "ptn_pk: " + ptn_pk.ToString() + ",visitPK: " + visitPK.ToString() + ",locationId:" + locationId.ToString(); CLogger.WriteLog(ELogLevel.ERROR, "GetPrEPInitiation() exception: " + str + "-" + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private string GetOIChronicDiseaseData(int ptn_pk, int locationId) { string result = string.Empty; try { IClinicalEncounter clinicalencounter = (IClinicalEncounter)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLClinicalEncounter, HIVCE.BusinessLayer"); HIVCE.Common.Entities.OIChronicDiseaseData oiCD = clinicalencounter.GetOIChronicDiseaseData(ptn_pk, locationId); result = SerializerUtil.ConverToJson <HIVCE.Common.Entities.OIChronicDiseaseData>(oiCD); } catch (Exception ex) { CLogger.WriteLog(ELogLevel.ERROR, "frmPatientCEOIChronicDisease() exception: " + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private string SaveData(string nodeJson, int ptn_pk, int visitPK) { string result = string.Empty; ResponseType ObjResponse = new ResponseType(); try { MAdherence adcObj = SerializerUtil.ConverToObject <MAdherence>(nodeJson); IClinicalEncounter blObj = (IClinicalEncounter)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLClinicalEncounter, HIVCE.BusinessLayer"); adcObj.Ptn_pk = ptn_pk; adcObj.Visit_Id = visitPK; int flag = blObj.SaveUpdateMoriskyData(adcObj, ptn_pk, visitPK, userId, locationId, DateTime.Now); if (flag == 1) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.True); } else { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } } catch (Exception ex) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } finally { } result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
private string SavePresentingComplaintsData(string nodeJson, int ptn_pk, int visitPK, int locationId, int userId) { string result = string.Empty; ResponseType ObjResponse = new ResponseType(); try { HIVCE.Common.Entities.PresentingComplaint obj = SerializerUtil.ConverToObject <HIVCE.Common.Entities.PresentingComplaint>(nodeJson); BLClinicalEncounter blTP = new BLClinicalEncounter(); obj.Ptn_pk = ptn_pk; obj.Visit_Id = visitPK; obj.LocationId = locationId; bool flag = blTP.SaveUpdatePresentingComplaintsData(obj, userId, locationId); if (flag) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.True); } else { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } } catch (Exception ex) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } finally { } result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
private string GetPatientAdherenceBarriers(int ptn_pk, int visitPK, int locationId) { string result = string.Empty; try { IPatientAdherence ipatientadherence; ipatientadherence = (IPatientAdherence)ObjectFactory.CreateInstance("BusinessProcess.Clinical.BPatientAdherence, BusinessProcess.Clinical"); PatientAdherenceBarrier patientadherencebarrier = ipatientadherence.GetPatientAdherenceBarriers(ptn_pk, visitPK, locationId); result = SerializerUtil.ConverToJson <PatientAdherenceBarrier>(patientadherencebarrier); } catch (Exception ex) { string str = "ptn_pk: " + ptn_pk.ToString() + ",visitPK: " + visitPK.ToString() + ",locationId:" + locationId.ToString(); CLogger.WriteLog(ELogLevel.ERROR, "GetPatientAdherenceBarriers() exception: " + str + "-" + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private object SetList(string typeName, int count, byte[] inputBytes, int startOffset) { var listType = SerializerUtil.GetType(typeName); if (listType.DeclaringType != null && listType.DeclaringType == typeof(Enumerable)) { var list = new List <int>(); if (count > 0) { for (int i = 0; i < count; i++) { var value = SerializerFactory.Deserializer(inputBytes, startOffset, out int nextStartOffset); startOffset = nextStartOffset; list.Add((int)value); } } return(list); } else { var list = Activator.CreateInstance(listType); if (count > 0) { for (int i = 0; i < count; i++) { var value = SerializerFactory.Deserializer(inputBytes, startOffset, out int nextStartOffset); startOffset = nextStartOffset; listType.InvokeMember("Add", BindingFlags.InvokeMethod, null, list, new object[] { value }); } } return(list); } }
public T DeserializeInto <T>(string id, T instance) where T : class { TypeReadResult init = tagMap.Get(id); //temporarily swap ref id to point at instance, be sure to put it back //for the next call to CreateItem or it will crash if (init == null) { return(null); } init.instance = instance; context = init; TypeReadResult currentContext = context; SerializerUtil.GetTypeSerializer(init.type).Deserialize(instance, this); init.instance = instance; context = currentContext; toClear.Add(init); for (int i = 0; i < toClear.Count; i++) { IEntityDeserializable d = toClear[i].instance as IEntityDeserializable; if (d != null) { d.AfterDeserialize(); } toClear[i].instance = null; } toClear.Clear(); return(instance); }
private string GetVisitDetailsData(int ptn_pk, int visitPK, int locationId) { string result = string.Empty; try { IKNHMEI iANC = (IKNHMEI)ObjectFactory.CreateInstance("BusinessProcess.Clinical.BKNHMEI, BusinessProcess.Clinical"); Entities.Common.ANCVisitDetails anc = iANC.GetANCVisitDetailsData(ptn_pk, locationId, visitPK); result = SerializerUtil.ConverToJson <Entities.Common.ANCVisitDetails>(anc); } catch (Exception ex) { CLogger.WriteLog(ELogLevel.ERROR, "GetVisitDetailsData() exception: " + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private bool OnButtonSave() { byte[] data = SerializerUtil.Serialize(spawnerData); capi.Network.SendBlockEntityPacket(blockEntityPos.X, blockEntityPos.Y, blockEntityPos.Z, 1001, data); return(true); }
private string SaveData(string nodeJson, int ptn_pk, int visitPK) { string result = string.Empty; ResponseType ObjResponse = new ResponseType(); try { HIVCE.Common.Entities.AlcoholDepressionScreeningObj adcObj = SerializerUtil.ConverToObject <HIVCE.Common.Entities.AlcoholDepressionScreeningObj>(nodeJson); IAlcoholDepressionScreening blObj = (IAlcoholDepressionScreening)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLAlcoholDepressionScreening, HIVCE.BusinessLayer"); adcObj.Ptn_pk = ptn_pk; adcObj.Visit_Id = visitPK; bool flag = blObj.SaveUpdateAlcoholDepressionScreening(adcObj); if (flag) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.True); } else { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } } catch (Exception ex) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } finally { } result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
internal void processBlockUpdates(Vec2i coord, UpdateSnowLayerChunk updateChunk, IBulkBlockAccessor ba) { int chunkX = coord.X; int chunkZ = coord.Y; var setblocks = updateChunk.SetBlocks; double lastSnowAccumUpdateTotalHours = updateChunk.LastSnowAccumUpdateTotalHours; IMapChunk mc = sapi.WorldManager.GetMapChunk(chunkX, chunkZ); if (mc == null) { return; // No longer loaded, we can just ditch it and re-do the thing again next time it gets loaded again } Vec2i tmpVec = new Vec2i(); foreach (var sval in setblocks) { Block newblock = sval.Value.Block; float snowLevel = sval.Value.SnowLevel; Block hereblock = ba.GetBlock(sval.Key); tmpVec.Set(sval.Key.X, sval.Key.Z); if (snowLevel > 0 && !mc.SnowAccum.ContainsKey(tmpVec)) { continue; // Must have gotten removed since we last checked in our seperate thread } hereblock.PerformSnowLevelUpdate(ba, sval.Key, newblock, snowLevel); } mc.SetData("lastSnowAccumUpdateTotalHours", SerializerUtil.Serialize <double>(lastSnowAccumUpdateTotalHours)); mc.MarkDirty(); }
///<summary> /// reads the object class info definitions from xml ///</summary> ///<returns>Dictionary of object classes</returns> protected internal static IDictionary <ObjectClass, ObjectClassInfo> GetOCInfo(string name) { Assembly assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream(name); Assertions.NullCheck(stream, "stream"); //we just read TextReader streamReader = new StreamReader(stream); String xml; try { xml = streamReader.ReadToEnd(); } finally { streamReader.Close(); } //read from xml var ret = (ICollection <object>)SerializerUtil.DeserializeXmlObject(xml, true); Assertions.NullCheck(ret, "ret"); //create map of object infos var map = new Dictionary <ObjectClass, ObjectClassInfo>(ret.Count); foreach (ObjectClassInfo o in ret) { map.Add(new ObjectClass(o.ObjectType.ToString()), o); } return(map); }
internal void processBlockUpdates(IMapChunk mc, UpdateSnowLayerChunk updateChunk, IBulkBlockAccessor ba) { var setblocks = updateChunk.SetBlocks; double lastSnowAccumUpdateTotalHours = updateChunk.LastSnowAccumUpdateTotalHours; Vec2i tmpVec = new Vec2i(); foreach (var sval in setblocks) { Block newblock = sval.Value.Block; float snowLevel = sval.Value.SnowLevel; Block hereblock = ba.GetBlock(sval.Key); tmpVec.Set(sval.Key.X, sval.Key.Z); if (snowLevel > 0 && !mc.SnowAccum.ContainsKey(tmpVec)) { continue; // Must have gotten removed since we last checked in our seperate thread } hereblock.PerformSnowLevelUpdate(ba, sval.Key, newblock, snowLevel); } mc.SetModdata("lastSnowAccumUpdateTotalHours", SerializerUtil.Serialize <double>(lastSnowAccumUpdateTotalHours)); mc.MarkDirty(); }
private string SaveData(string nodeJson, int ptn_pk, int visitPK) { string result = string.Empty; ResponseType ObjResponse = new ResponseType(); try { HIVCE.Common.Entities.ARTReadinessAssessment treatmentpreparation = SerializerUtil.ConverToObject <HIVCE.Common.Entities.ARTReadinessAssessment>(nodeJson); IARTReadinessAssessment blObj = (IARTReadinessAssessment)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLARTReadinessAssessment, HIVCE.BusinessLayer"); treatmentpreparation.Ptn_pk = ptn_pk; treatmentpreparation.Visit_Id = visitPK; bool flag = blObj.SaveUpdateARTReadinessAssessment(treatmentpreparation); if (flag) { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.True); } else { ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } } catch (Exception ex) { ObjResponse.ErrorMessage = ex.Message; ObjResponse.Success = EnumUtil.GetEnumDescription(Success.False); } finally { } result = SerializerUtil.ConverToJson <ResponseType>(ObjResponse); return(result); }
MergeIntoBean(ConfigurationPropertiesImpl properties, Configuration config) { SafeType <Configuration> configType = SafeType <Configuration> .Get(config); IDictionary <string, PropertyInfo> descriptors = GetFilteredProperties(configType); foreach (ConfigurationPropertyImpl property in properties.Properties) { String name = property.Name; PropertyInfo desc = CollectionUtil.GetValue(descriptors, name, null); if (desc == null) { String FMT = "Class ''{0}'' does not have a property ''{1}''."; String MSG = String.Format(FMT, configType.RawType.Name, name); throw new ArgumentException(MSG); } object val = property.Value; //some value types such as arrays //are mutable. make sure the config object //has its own copy val = SerializerUtil.CloneObject(val); desc.SetValue(config, val, null); } }
public override void OnReceivedServerPacket(int packetid, byte[] data) { if (packetid == 1025) { AssetLocation loc = SerializerUtil.Deserialize <AssetLocation>(data); if (alarmSound == null) { alarmSound = capi.World.LoadSound(new SoundParams() { Location = loc, Position = Pos.XYZ.ToVec3f(), Range = 48, ShouldLoop = true, SoundType = EnumSoundType.Sound, Volume = 0, DisposeOnFinish = false }); } if (!alarmSound.IsPlaying) { alarmSound.Start(); alarmSound.FadeIn(0.25f, null); } } if (packetid == 1026) { alarmSound?.FadeOutAndStop(0.25f); } base.OnReceivedServerPacket(packetid, data); }
private string GetClinicalSummaryData(int ptn_pk, int visitPK, int locationId) { string result = string.Empty; try { IClinicalSummaryForm ipatientClinicalSummary; ipatientClinicalSummary = (IClinicalSummaryForm)ObjectFactory.CreateInstance("BusinessProcess.Clinical.BClinicalSummary, BusinessProcess.Clinical"); ClinicalSummary patientClinicalSummary = ipatientClinicalSummary.GetClinicalSummaryData(ptn_pk, visitPK, locationId); result = SerializerUtil.ConverToJson <ClinicalSummary>(patientClinicalSummary); } catch (Exception ex) { string str = "ptn_pk: " + ptn_pk.ToString() + ",visitPK: " + visitPK.ToString() + ",locationId:" + locationId.ToString(); CLogger.WriteLog(ELogLevel.ERROR, "GetClinicalSummaryData() exception: " + str + "-" + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private string GetRefillEncounter(int ptn_pk, int visitPK, int locationId) { string result = string.Empty; try { IClinicalEncounter clinicalencounter = (IClinicalEncounter)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLClinicalEncounter, HIVCE.BusinessLayer"); HIVCE.Common.Entities.RefillEncounter cl = clinicalencounter.GetRefillEncounter(ptn_pk, visitPK, locationId); result = SerializerUtil.ConverToJson <HIVCE.Common.Entities.RefillEncounter>(cl); } catch (Exception ex) { CLogger.WriteLog(ELogLevel.ERROR, "GetClinicalEnounter() exception: " + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private string GetTransition(int ptn_pk, int visitPK) { string result = string.Empty; try { BLTransition bl = new BLTransition(); ITransition blObj = (ITransition)ObjectFactory.CreateInstance("HIVCE.BusinessLayer.BLTransition, HIVCE.BusinessLayer"); HIVCE.Common.Entities.Transition objTP = blObj.GetTransition(ptn_pk, visitPK); result = SerializerUtil.ConverToJson <HIVCE.Common.Entities.Transition>(objTP); } catch (Exception ex) { ///CLogger.WriteLog(ELogLevel.ERROR, "GetAnnouncements() exception: " + ex.ToString()); ResponseType response = new ResponseType() { Success = EnumUtil.GetEnumDescription(Success.False) }; result = SerializerUtil.ConverToJson <ResponseType>(response); } finally { } return(result); }
private static IDictionary <ObjectClass, ObjectClassInfo> GetOCInfoInternal(Stream stream, bool dump) { Assertions.NullCheck(stream, "stream"); //we just read TextReader streamReader = new StreamReader(stream); String xml; try { xml = streamReader.ReadToEnd(); } finally { streamReader.Close(); } if (dump) { LOGGER.TraceEvent(TraceEventType.Verbose, CAT_DEFAULT, "XML = {0}", xml); } //read from xml var ret = (ICollection <object>)SerializerUtil.DeserializeXmlObject(xml, true); Assertions.NullCheck(ret, "ret"); //create map of object infos var map = new Dictionary <ObjectClass, ObjectClassInfo>(ret.Count); foreach (ObjectClassInfo o in ret) { map.Add(new ObjectClass(o.ObjectType.ToString()), o); } return(map); }
public override void OnReceivedServerPacket(int packetid, byte[] data) { if (packetid == PacketIdAnimUpdate) { var packet = SerializerUtil.Deserialize <FruitPressAnimPacket>(data); compressAnimMeta.AnimationSpeed = packet.AnimationSpeed; if (packet.AnimationActive) { if (!MashSlot.Empty && juiceableLitresLeft > 0 && !CompressAnimActive) { Api.World.PlaySoundAt(new AssetLocation("sounds/player/wetclothsqueeze.ogg"), Pos.X + 0.5, Pos.Y + 0.5, Pos.Z + 0.5, null, false); } animUtil.StartAnimation(compressAnimMeta); if (listenerId == 0) { listenerId = RegisterGameTickListener(onTick25msClient, 25); } } else { animUtil.StopAnimation("compress"); if (listenerId != 0) { UnregisterGameTickListener(listenerId); listenerId = 0; } } } base.OnReceivedServerPacket(packetid, data); }
private void OnLoadGame() { try { sapi.World.Logger.ModNotification("Start loading data"); byte[] data = sapi.WorldManager.SaveGame.GetData("TPNetData"); sapi.WorldManager.SaveGame.StoreData("test", new byte[] { 0x1 }); if (data != null) { Teleports = SerializerUtil.Deserialize <Dictionary <BlockPos, TeleportData> >(data); } foreach (var tp in Teleports) { sapi.World.Logger.ModDebug($"Loaded teleport data for {tp.Value.Name} at {tp.Key}"); } sapi.World.Logger.ModNotification("Data loaded"); } catch (Exception e) { sapi.World.Logger.ModError($"Failed loading data: {e}"); } }
private void onCharacterSelection(IServerPlayer fromPlayer, CharacterSelectionPacket p) { bool didSelectBefore = SerializerUtil.Deserialize(fromPlayer.GetModdata("createCharacter"), false); if (didSelectBefore && fromPlayer.WorldData.CurrentGameMode != EnumGameMode.Creative) { fromPlayer.BroadcastPlayerData(true); fromPlayer.Entity.WatchedAttributes.MarkPathDirty("skinConfig"); return; } if (p.DidSelect) { fromPlayer.SetModdata("createCharacter", SerializerUtil.Serialize <bool>(p.DidSelect)); setCharacterClass(fromPlayer.Entity, p.CharacterClass, !didSelectBefore || fromPlayer.WorldData.CurrentGameMode == EnumGameMode.Creative); var bh = fromPlayer.Entity.GetBehavior <EntityBehaviorExtraSkinnable>(); bh.ApplyVoice(p.VoiceType, p.VoicePitch, false); foreach (var skinpart in p.SkinParts) { bh.selectSkinPart(skinpart.Key, skinpart.Value, false); } } fromPlayer.Entity.WatchedAttributes.MarkPathDirty("skinConfig"); fromPlayer.BroadcastPlayerData(true); }