public void UpdateMagicAuras() { PropagateNecromancyAuro.Apply(Necromancy, CurrentData, CurrentUnits, Output: Temp1); CoreMath.Swap(ref Temp1, ref Necromancy); PropagateAntiMagicAuro.Apply(AntiMagic, CurrentData, CurrentUnits, Output: Temp1); CoreMath.Swap(ref Temp1, ref AntiMagic); }
private static double GradCoord3D(long seed, int x, int y, int z, double xd, double yd, double zd) { uint hash = CoreMath.Hash32(x, y, z, seed) * 3; return(xd * Grad3d[hash] + yd * Grad3d[hash + 1] + zd * Grad3d[hash + 2]); }
public void UpdateMagicFields() { UpdateMagic.Apply(Magic, CurrentData, PreviousData, Corpses, Necromancy, Output: Temp1); CoreMath.Swap(ref Temp1, ref Magic); }
public Metal(Color albedo, double roughness) { this.albedo = albedo; this.roughness = CoreMath.Clamp(roughness, 0f, 1f); }