Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SubsystemSeasons.cs
浏览该文件的文档.
1
using
Engine
;
2
using
Engine.Media
;
3
using
Engine.Graphics
;
4
using
GameEntitySystem
;
5
using
TemplatesDatabase
;
6
7
namespace
Game
{
8
public
class
SubsystemSeasons
:
Subsystem
,
IUpdateable
{
9
public
SubsystemGameInfo
m_subsystemGameInfo
;
10
11
public
static
Image
m_seasonsGradient
;
12
13
public
static
float
SummerStart
= 0f;
14
15
public
static
float
AutumnStart
= 0.25f;
16
17
public
static
float
WinterStart
= 0.5f;
18
19
public
static
float
SpringStart
= 0.75f;
20
21
public
static
float
MidSummer
=
IntervalUtils
.
Midpoint
(
SummerStart
,
AutumnStart
);
22
23
public
static
float
MidAutumn
=
IntervalUtils
.
Midpoint
(
AutumnStart
,
WinterStart
);
24
25
public
static
float
MidWinter
=
IntervalUtils
.
Midpoint
(
WinterStart
,
SpringStart
);
26
27
public
static
float
MidSpring
=
IntervalUtils
.
Midpoint
(
SpringStart
,
SummerStart
);
28
29
public
Season
Season
{
get
;
set
; }
30
31
public
float
TimeOfSeason
{
get
;
set
; }
32
33
public
UpdateOrder
UpdateOrder
=>
UpdateOrder
.Default;
34
35
public
const
string
fName
=
"SubsystemSeasons"
;
36
37
public
static
string
GetTimeOfYearName
(
float
timeOfYear) {
38
TimeOfYearToSeason
(timeOfYear, out
Season
season, out
float
timeOfSeason);
39
int
num = timeOfSeason
switch
{
40
< 0.25f => 0,
41
>= 0.75f => 2,
42
_ => 1
43
};
44
return
LanguageControl
.
Get
(
fName
, (
int
)season * 3 + num);
45
}
46
47
public
static
Color
GetTimeOfYearColor
(
float
timeOfYear) {
48
if
(
m_seasonsGradient
==
null
) {
49
m_seasonsGradient
= (
Image
)
ContentManager
.
Get
<
Texture2D
>(
"Textures/Gui/SeasonsSlider"
).
Tag
;
50
}
51
int
x = (int)Math.Clamp(MathF.Round(timeOfYear *
m_seasonsGradient
.Width), 0f,
m_seasonsGradient
.Width - 1);
52
return
m_seasonsGradient
.GetPixel(x, 0);
53
}
54
55
public
override
void
Load
(
ValuesDictionary
valuesDictionary) {
56
m_subsystemGameInfo
=
Project
.FindSubsystem<
SubsystemGameInfo
>(
true
);
57
}
58
59
public
virtual
void
Update
(
float
dt) {
60
TimeOfYearToSeason
(
m_subsystemGameInfo
.WorldSettings.TimeOfYear, out
Season
season, out
float
timeOfSeason);
61
Season
= season;
62
TimeOfSeason
= timeOfSeason;
63
}
64
65
public
static
void
TimeOfYearToSeason
(
float
timeOfYear, out
Season
season, out
float
timeOfSeason) {
66
if
(
IntervalUtils
.
IsBetween
(timeOfYear,
SummerStart
,
AutumnStart
)) {
67
season =
Season
.Summer;
68
timeOfSeason =
IntervalUtils
.
Interval
(
SummerStart
, timeOfYear) /
IntervalUtils
.
Interval
(
SummerStart
,
AutumnStart
);
69
}
70
else
if
(
IntervalUtils
.
IsBetween
(timeOfYear,
AutumnStart
,
WinterStart
)) {
71
season =
Season
.Autumn;
72
timeOfSeason =
IntervalUtils
.
Interval
(
AutumnStart
, timeOfYear) /
IntervalUtils
.
Interval
(
AutumnStart
,
WinterStart
);
73
}
74
else
if
(
IntervalUtils
.
IsBetween
(timeOfYear,
WinterStart
,
SpringStart
)) {
75
season =
Season
.Winter;
76
timeOfSeason =
IntervalUtils
.
Interval
(
WinterStart
, timeOfYear) /
IntervalUtils
.
Interval
(
WinterStart
,
SpringStart
);
77
}
78
else
{
79
season =
Season
.Spring;
80
timeOfSeason =
IntervalUtils
.
Interval
(
SpringStart
, timeOfYear) /
IntervalUtils
.
Interval
(
SpringStart
,
SummerStart
);
81
}
82
}
83
}
84
}
Engine.Graphics.Texture2D
定义
Texture2D.cs:15
Engine.Graphics.Texture2D.Tag
object Tag
定义
Texture2D.cs:72
Engine.Media.Image
定义
Image.cs:16
Game.ContentManager
定义
ContentManager.cs:50
Game.ContentManager.Get
static object Get(Type type, string name)
定义
ContentManager.cs:70
Game.IntervalUtils
定义
IntervalUtils.cs:2
Game.IntervalUtils.IsBetween
static bool IsBetween(float t, float t1, float t2)
定义
IntervalUtils.cs:13
Game.IntervalUtils.Interval
static float Interval(float t1, float t2)
定义
IntervalUtils.cs:7
Game.IntervalUtils.Midpoint
static float Midpoint(float t1, float t2, float factor=0.5f)
定义
IntervalUtils.cs:11
Game.LanguageControl
定义
LanguageControl.cs:8
Game.LanguageControl.Get
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
定义
LanguageControl.cs:247
Game.SubsystemGameInfo
定义
SubsystemGameInfo.cs:5
Game.SubsystemSeasons
定义
SubsystemSeasons.cs:8
Game.SubsystemSeasons.TimeOfSeason
float TimeOfSeason
定义
SubsystemSeasons.cs:31
Game.SubsystemSeasons.SpringStart
static float SpringStart
定义
SubsystemSeasons.cs:19
Game.SubsystemSeasons.SummerStart
static float SummerStart
定义
SubsystemSeasons.cs:13
Game.SubsystemSeasons.AutumnStart
static float AutumnStart
定义
SubsystemSeasons.cs:15
Game.SubsystemSeasons.Load
override void Load(ValuesDictionary valuesDictionary)
定义
SubsystemSeasons.cs:55
Game.SubsystemSeasons.GetTimeOfYearName
static string GetTimeOfYearName(float timeOfYear)
定义
SubsystemSeasons.cs:37
Game.SubsystemSeasons.m_subsystemGameInfo
SubsystemGameInfo m_subsystemGameInfo
定义
SubsystemSeasons.cs:9
Game.SubsystemSeasons.WinterStart
static float WinterStart
定义
SubsystemSeasons.cs:17
Game.SubsystemSeasons.Season
Season Season
定义
SubsystemSeasons.cs:29
Game.SubsystemSeasons.Update
virtual void Update(float dt)
定义
SubsystemSeasons.cs:59
Game.SubsystemSeasons.GetTimeOfYearColor
static Color GetTimeOfYearColor(float timeOfYear)
定义
SubsystemSeasons.cs:47
Game.SubsystemSeasons.MidWinter
static float MidWinter
定义
SubsystemSeasons.cs:25
Game.SubsystemSeasons.m_seasonsGradient
static Image m_seasonsGradient
定义
SubsystemSeasons.cs:11
Game.SubsystemSeasons.MidAutumn
static float MidAutumn
定义
SubsystemSeasons.cs:23
Game.SubsystemSeasons.fName
const string fName
定义
SubsystemSeasons.cs:35
Game.SubsystemSeasons.MidSummer
static float MidSummer
定义
SubsystemSeasons.cs:21
Game.SubsystemSeasons.MidSpring
static float MidSpring
定义
SubsystemSeasons.cs:27
Game.SubsystemSeasons.TimeOfYearToSeason
static void TimeOfYearToSeason(float timeOfYear, out Season season, out float timeOfSeason)
定义
SubsystemSeasons.cs:65
Game.SubsystemSeasons.UpdateOrder
UpdateOrder UpdateOrder
定义
SubsystemSeasons.cs:33
GameEntitySystem.Subsystem
定义
Subsystem.cs:5
GameEntitySystem.Subsystem.ValuesDictionary
ValuesDictionary ValuesDictionary
定义
Subsystem.cs:12
GameEntitySystem.Subsystem.Project
Project Project
定义
Subsystem.cs:10
Game.IUpdateable
定义
IUpdateable.cs:2
Engine.Graphics
定义
BaseBatch.cs:1
Engine.Media
定义
BitmapFont.cs:5
Engine
定义
BaseSound.cs:10
GameEntitySystem
定义
Component.cs:6
Game
定义
ContentFileBridge.cs:4
TemplatesDatabase
定义
Database.cs:6
Engine.Color
定义
Color.cs:2
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Subsystem
SubsystemSeasons.cs
制作者
1.16.1