- Barotrauma's projects are in the Barotrauma directory - All libraries are in the Libraries directory - MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?) - NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred - Removed Content/effects.mgfx as it didn't seem to be used anywhere - Removed some references to Subsurface directory - Renamed Launcher2 to Launcher
51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Xml.Linq;
|
|
using Microsoft.Xna.Framework;
|
|
using Barotrauma.Particles;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
partial class Attack
|
|
{
|
|
private Sound sound;
|
|
|
|
private ParticleEmitterPrefab particleEmitterPrefab;
|
|
|
|
partial void InitProjSpecific(XElement element)
|
|
{
|
|
string soundPath = ToolBox.GetAttributeString(element, "sound", "");
|
|
if (!string.IsNullOrWhiteSpace(soundPath))
|
|
{
|
|
sound = Sound.Load(soundPath);
|
|
}
|
|
|
|
foreach (XElement subElement in element.Elements())
|
|
{
|
|
switch (subElement.Name.ToString().ToLowerInvariant())
|
|
{
|
|
case "particleemitter":
|
|
particleEmitterPrefab = new ParticleEmitterPrefab(subElement);
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
partial void DamageParticles(Vector2 worldPosition)
|
|
{
|
|
if (particleEmitterPrefab != null)
|
|
{
|
|
particleEmitterPrefab.Emit(worldPosition);
|
|
}
|
|
|
|
if (sound != null)
|
|
{
|
|
sound.Play(1.0f, 500.0f, worldPosition);
|
|
}
|
|
}
|
|
}
|
|
}
|