private static void Prefix(ref MissileProjectile __instance) { if (MissileSmokePrefab.ContainsKey(__instance)) { m_SmokeTrailPrefab.SetValue(__instance, MissileSmokePrefab[__instance]); MissileSmokePrefab.Remove(__instance); } }
private static void Prefix(ref MissileProjectile __instance) { var prefab = (Transform)m_SmokeTrailPrefab.GetValue(__instance); if (prefab != null && !MissileSmokePrefab.ContainsKey(__instance)) { MissileSmokePrefab.Add(__instance, prefab); } if (displayMissileSmokeBool) { if (MissileSmokePrefab[__instance] != prefab) { m_SmokeTrailPrefab.SetValue(__instance, MissileSmokePrefab[__instance]); } } else if (prefab != null) { m_SmokeTrailPrefab.SetValue(__instance, null); } }