Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2be8e64

Browse files
committed
Added example of the Facade pattern
1 parent 785977a commit 2be8e64

17 files changed

+611
-4
lines changed

‎Assets/Patterns/22. Facade.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Assets/Patterns/22. Facade/Random numbers.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Assets/Patterns/22. Facade/Random numbers/Facade.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
using System.Collections;
2+
using System.Collections.Generic;
3+
using UnityEngine;
4+
5+
namespace Facade.RandomNumbers
6+
{
7+
public class RandomNumberFacade
8+
{
9+
private static IRandomNumberGenerator rng;
10+
11+
12+
static RandomNumberFacade()
13+
{
14+
//rng = new RandomNumbersNative();
15+
rng = new RandomNumbersUnity();
16+
}
17+
18+
19+
public static void InitSeed(int seed)
20+
{
21+
rng.InitSeed(seed);
22+
}
23+
24+
25+
public static float GetRandom01()
26+
{
27+
return rng.GetRandom01();
28+
}
29+
30+
31+
public static float GetRandom(float min, float max)
32+
{
33+
return rng.GetRandom(min, max);
34+
}
35+
36+
37+
public static int GetRandomInt(int min, int max)
38+
{
39+
return rng.GetRandomInt(min, max);
40+
}
41+
}
42+
}

‎Assets/Patterns/22. Facade/Random numbers/Facade/RandomNumberFacade.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Assets/Patterns/22. Facade/Random numbers/Facade/RandomNumberGenerators.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System.Collections;
2+
using System.Collections.Generic;
3+
using UnityEngine;
4+
5+
namespace Facade.RandomNumbers
6+
{
7+
public interface IRandomNumberGenerator
8+
{
9+
public void InitSeed(int seed);
10+
11+
public float GetRandom01();
12+
13+
public float GetRandom(float min, float max);
14+
15+
public int GetRandomInt(int min, int max);
16+
}
17+
}

‎Assets/Patterns/22. Facade/Random numbers/Facade/RandomNumberGenerators/IRandomNumberGenerator.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using System.Collections;
2+
using System.Collections.Generic;
3+
using UnityEngine;
4+
5+
namespace Facade.RandomNumbers
6+
{
7+
//Generate random numbers by using C#'s System.Random
8+
public class RandomNumbersNative : IRandomNumberGenerator
9+
{
10+
private System.Random rng;
11+
12+
public RandomNumbersNative()
13+
{
14+
rng = new System.Random();
15+
}
16+
17+
public float GetRandom(float min, float max)
18+
{
19+
return (float)((rng.NextDouble() * (max - min)) + min);
20+
}
21+
22+
public float GetRandom01()
23+
{
24+
return (float)rng.NextDouble();
25+
}
26+
27+
public int GetRandomInt(int min, int max)
28+
{
29+
return rng.Next(min, max);
30+
}
31+
32+
public void InitSeed(int seed)
33+
{
34+
rng = new System.Random(seed);
35+
}
36+
}
37+
}

‎Assets/Patterns/22. Facade/Random numbers/Facade/RandomNumberGenerators/RandomNumbersNative.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /