Revert "Applied gitignore"

This reverts commit a675aefd06.
This commit is contained in:
2015-05-08 13:18:46 +03:00
parent 0915388800
commit 53dbf25843
137 changed files with 3092 additions and 207 deletions

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 44471b44c7c4ac24da59e339e3d53ef4
folderAsset: yes
DefaultImporter:
userData:

View File

@ -1,54 +1,54 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using TransportGame.Model;
using TransportGame.Utils;
namespace TransportGame.Business
{
public static class BiomeManager
{
private static List<Biome> biomes = new List<Biome>();
/// <summary>
/// Gets all the loaded biomes
/// </summary>
public static IEnumerable<Biome> Biomes
{
get
{
return biomes;
}
}
/// <summary>
/// Loads the biomes from the Biome directory.
/// </summary>
public static void LoadBiomes()
{
foreach (var file in Directory.GetFiles(ConfigurationManager.BiomeDirectory, "*.xml", SearchOption.AllDirectories))
{
try
{
// Open file
var stream = File.OpenRead(file);
// Try to deserialize biome
XmlSerializer serializer = new XmlSerializer(typeof(Biome));
var biome = (Biome)serializer.Deserialize(stream);
// Add it to biome list
biomes.Add(biome);
Logger.Info("Loaded biome '{0}' from file '{1}'.", biome.Name, file);
}
catch (Exception ex)
{
Logger.Exception(ex);
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using TransportGame.Model;
using TransportGame.Utils;
namespace TransportGame.Business
{
public static class BiomeManager
{
private static List<Biome> biomes = new List<Biome>();
/// <summary>
/// Gets all the loaded biomes
/// </summary>
public static IEnumerable<Biome> Biomes
{
get
{
return biomes;
}
}
/// <summary>
/// Loads the biomes from the Biome directory.
/// </summary>
public static void LoadBiomes()
{
foreach (var file in Directory.GetFiles(ConfigurationManager.BiomeDirectory, "*.xml", SearchOption.AllDirectories))
{
try
{
// Open file
var stream = File.OpenRead(file);
// Try to deserialize biome
XmlSerializer serializer = new XmlSerializer(typeof(Biome));
var biome = (Biome)serializer.Deserialize(stream);
// Add it to biome list
biomes.Add(biome);
Logger.Info("Loaded biome '{0}' from file '{1}'.", biome.Name, file);
}
catch (Exception ex)
{
Logger.Exception(ex);
}
}
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 82e9dc6ef4e61c2468a98567ff4d4a17
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e18c16459f0ad3b4aa2ce07825b41222
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 48bbce5a58e77054b8048679600cd5d8
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f4042531a480f4149bdda36c67975b0c
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: a9b1f8f4e926c744ca43952af763e85b
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 15c4c7a1393cf2b4e9520d38705830a3
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 976fce089fd84a043888fb58c4c5580a
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8a3817f3a7058cc41b46eb849acf069b
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fc6d250254fab4447aa1b764a56d3373
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: d0f8f06d46c43004e86c37ef7faed5f3
folderAsset: yes
DefaultImporter:
userData:

View File

@ -1,137 +1,137 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using TransportGame.Utils;
namespace TransportGame.Noise
{
public abstract class NoiseGenerator
{
public float Scale { get; set; }
public float Low { get; set; }
public float High { get; set; }
public float NonLinearPower { get; set; }
public int Octaves { get; set; }
public float Persistence { get; set; }
private float seedX, seedY;
public NoiseGenerator()
{
System.Random random = new System.Random();
seedX = random.NextSingle(-10000f, 10000f);
seedY = random.NextSingle(-10000f, 10000f);
Scale = 1f;
Low = -1f;
High = 1f;
NonLinearPower = 1f;
Octaves = 1;
Persistence = .5f;
}
/// <summary>
/// Produces noise in the [-1,1] interval
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
protected abstract float GenerateNoise(float x, float y);
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <param name="octaves">Number of octaves (layers)</param>
/// <param name="persistence">Persistence (impact of each layer)</param>
/// <param name="nonLinearPower">Non-linearity</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale, int octaves, float persistence, float nonLinearPower)
{
float value = 0;
int freq = 1;
float amp = 1;
float maxAmp = 0;
for (int i = 0; i < octaves; ++i)
{
value += GenerateNoise(seedX + freq * scale * x, seedY + freq * scale * y) * amp;
maxAmp += amp;
amp *= persistence;
freq *= 2;
}
// Bring to [0,1]
value = (value / maxAmp) / 2f + .5f;
// Raise to non-linear power
value = Mathf.Pow(value, nonLinearPower);
// Bring to required interval
value = value * (high - low) + low;
// Done
return value;
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <param name="octaves">Number of octaves (layers)</param>
/// <param name="persistence">Persistence (impact of each layer)</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale, int octaves, float persistence)
{
return Generate(x, y, low, high, scale, octaves, persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale)
{
return Generate(x, y, low, high, scale, Octaves, Persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high)
{
return Generate(x, y, low, high, Scale, Octaves, Persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <returns>Noise</returns>
public float Generate(float x, float y)
{
return Generate(x, y, Low, High, Scale, Octaves, Persistence, NonLinearPower);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using TransportGame.Utils;
namespace TransportGame.Noise
{
public abstract class NoiseGenerator
{
public float Scale { get; set; }
public float Low { get; set; }
public float High { get; set; }
public float NonLinearPower { get; set; }
public int Octaves { get; set; }
public float Persistence { get; set; }
private float seedX, seedY;
public NoiseGenerator()
{
System.Random random = new System.Random();
seedX = random.NextSingle(-10000f, 10000f);
seedY = random.NextSingle(-10000f, 10000f);
Scale = 1f;
Low = -1f;
High = 1f;
NonLinearPower = 1f;
Octaves = 1;
Persistence = .5f;
}
/// <summary>
/// Produces noise in the [-1,1] interval
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
protected abstract float GenerateNoise(float x, float y);
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <param name="octaves">Number of octaves (layers)</param>
/// <param name="persistence">Persistence (impact of each layer)</param>
/// <param name="nonLinearPower">Non-linearity</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale, int octaves, float persistence, float nonLinearPower)
{
float value = 0;
int freq = 1;
float amp = 1;
float maxAmp = 0;
for (int i = 0; i < octaves; ++i)
{
value += GenerateNoise(seedX + freq * scale * x, seedY + freq * scale * y) * amp;
maxAmp += amp;
amp *= persistence;
freq *= 2;
}
// Bring to [0,1]
value = (value / maxAmp) / 2f + .5f;
// Raise to non-linear power
value = Mathf.Pow(value, nonLinearPower);
// Bring to required interval
value = value * (high - low) + low;
// Done
return value;
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <param name="octaves">Number of octaves (layers)</param>
/// <param name="persistence">Persistence (impact of each layer)</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale, int octaves, float persistence)
{
return Generate(x, y, low, high, scale, octaves, persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <param name="scale">Scale</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high, float scale)
{
return Generate(x, y, low, high, scale, Octaves, Persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <param name="low">Minimum value</param>
/// <param name="high">Maximum value</param>
/// <returns>Noise</returns>
public float Generate(float x, float y, float low, float high)
{
return Generate(x, y, low, high, Scale, Octaves, Persistence, NonLinearPower);
}
/// <summary>
/// Generates noise
/// </summary>
/// <param name="x">X coordinate</param>
/// <param name="y">Y coordinate</param>
/// <returns>Noise</returns>
public float Generate(float x, float y)
{
return Generate(x, y, Low, High, Scale, Octaves, Persistence, NonLinearPower);
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1b305f77f2146ba4ab22c5c2eb8848e4
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -1,16 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace TransportGame.Noise
{
public class PerlinNoiseGenerator : NoiseGenerator
{
protected override float GenerateNoise(float x, float y)
{
return Mathf.PerlinNoise(x, y) * 2 - 1.0f;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace TransportGame.Noise
{
public class PerlinNoiseGenerator : NoiseGenerator
{
protected override float GenerateNoise(float x, float y)
{
return Mathf.PerlinNoise(x, y) * 2 - 1.0f;
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: db1266b6bfc5ebf42834bd9355eb7975
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: baad3629baf40e54694152a7dd8f97f1
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 67f24adfb8b21234184d0caf81f424ea
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 4fccffaafa6b9b0418cbdec944cef4ec
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 033176dc0e4c5594bbf5d1ec0034fbad
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ec6caa7302e5ebd49815993ec3b07516
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ab20d455f95d206489bf47b3c54fea3a
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1f49fb05c61ea6943963db5618373c75
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b436281f9c7d49f4d935ae009d4559a8
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e07530e47d7019b418499d12a7c29f35
timeCreated: 1425923206
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9d8f9264c2fb7e4459a82d533613c0f1
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a4d12846fa3e22f4fbd829e42582d6a9
timeCreated: 1425647029
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: