public void RegisterEntity(RulesetEntity rulesetEntity) { try { if (rulesetEntity is RulesetItem) { var ri = rulesetEntity as RulesetItem; Main.Log($"RegisterEntity: Type= {rulesetEntity.GetType().FullName}, Name={ri?.ItemDefinition?.Name}, Guid={ri?.ItemDefinition?.GUID}"); } else if (rulesetEntity is RulesetItemProperty) { var ri = rulesetEntity as RulesetItemProperty; Main.Log($"RegisterEntity: Type= {rulesetEntity.GetType().FullName}, Name={ri?.FeatureDefinition?.Name}, Guid={ri?.FeatureDefinition?.GUID}"); } else { Main.Log($"RegisterEntity: Type={rulesetEntity.GetType().FullName}, {rulesetEntity?.Name}"); } RulesetEntities.Add(rulesetEntity.Guid, rulesetEntity); } catch (Exception ex) { Main.Log($"RegisterEntity: {ex}"); } }
public void UnregisterEntity(RulesetEntity rulesetEntity) { Main.Log($"UnregisterEntity: {rulesetEntity?.Guid}"); if (rulesetEntity != null) { RulesetEntities.Remove(rulesetEntity.Guid); } }
internal static void Postfix(RulesetEntity __instance, string attributeName, ref int __result) { var hero = __instance as RulesetCharacterHero; if (hero != null)// && hero.HasClass("MyClass")) { var originalResult = __result; switch (attributeName) { case "AHE:1": case "ADE:1": __result = 1; break; case "AHE:2": case "ADE:2": __result = 1; break; case "AHE:3": case "ADE:3": __result = 2; break; case "AHE:4": case "ADE:4": __result = 2; break; case "AHE:5": case "ADE:5": __result = 3; break; case "AHE:6": case "ADE:6": __result = 3; break; case "AHE:7": case "ADE:7": __result = 4; break; } Main.Log($"Get '{attributeName}' for '{hero.Name}'. Original value={originalResult}, new value={__result}."); } }
public static void Prefix(RulesetEntity __instance, IAttributesSerializer serializer, IVersionProvider versionProvider) { string name; try { name = __instance.Name; } catch (NullReferenceException) { name = "exception"; } Main.Log($"RE_SA: Name={name}, Guid={__instance.Guid}, Att cnt={__instance.Attributes?.Count ?? 0}"); }
public void SwapEntities(RulesetEntity oldRulesetEntity, RulesetEntity newRulesetEntity) { }
public bool TryGetEntityByGuid(ulong guid, out RulesetEntity rulesetEntity) { Main.Log($"TryGetEntityByGuid: {guid}"); return(RulesetEntities.TryGetValue(guid, out rulesetEntity)); }
public void SwapEntities(RulesetEntity oldRulesetEntity, RulesetEntity newRulesetEntity) { // Nothing to do }