private static void Post_LoadAsset() { foreach (var proj in ConfigManager.Current.ProjectileCustom.ProjectileDefinitions) { CustomProjectileManager.GenerateProjectile(proj); } }
private static bool Pre_SpawnProjectile(ref GameObject __result, ref ProjectileType type, Vector3 pos, Quaternion rot) { if (Enum.IsDefined(typeof(ProjectileType), (byte)type)) { return(true); } var projectilePrefab = CustomProjectileManager.GetProjectile((byte)type); if (projectilePrefab == null) { Logger.Error($"CANT FIND PREFAB WITH ID: {(int)type}"); type = ProjectileType.TargetingSmall; return(true); } var gameObject = GameObject.Instantiate(projectilePrefab, pos, rot, ProjectileManager.Current.m_root.transform); gameObject.SetActive(true); __result = gameObject; return(false); }