Elin Decompiled Documentation
EA 23.102 Nightly
Loading...
Searching...
No Matches
Critter.cs
Go to the documentation of this file.
1
using
UnityEngine;
2
3
public
class
Critter
:
EClass
4
{
5
public
const
float
R
= 0.12f;
6
7
public
int
tile
;
8
9
public
int
index
;
10
11
public
Vector2
dir
;
12
13
public
float
x
;
14
15
public
float
y
;
16
17
public
float
dirTimer
;
18
19
public
float
animeTimer
;
20
21
public
float
speed
= 0.1f;
22
23
public
bool
reverse
;
24
25
public
virtual
int
[]
animeTiles
=>
null
;
26
27
public
virtual
int
[]
idleTiles
=>
null
;
28
29
public
virtual
int
AnimeTile
=>
animeTiles
[
index
%
animeTiles
.Length];
30
31
public
virtual
int
IdleTile
=>
idleTiles
[
index
%
idleTiles
.Length];
32
33
public
virtual
int
SnowTile
=> 0;
34
35
public
virtual
int
Interval
=> 5;
36
37
public
virtual
float
BaseSpeed
=> 1f;
38
39
public
static
Critter
Create
(
Cell
cell)
40
{
41
BiomeProfile
biomeProfile = cell.sourceFloor.biome ??
EClass
.
core
.
refs
.
biomes
.
Plain
;
42
if
(biomeProfile ==
null
)
43
{
44
return
null
;
45
}
46
if
(cell.
IsTopWater
)
47
{
48
if
(
EClass
.
rnd
(12) == 0)
49
{
50
return
new
CritterFish
();
51
}
52
return
null
;
53
}
54
if
(biomeProfile.
id
==
BiomeID
.Snow)
55
{
56
return
null
;
57
}
58
if
(
EClass
.
rnd
(12) == 0)
59
{
60
return
new
CritterFrog
();
61
}
62
if
(
EClass
.
rnd
(6) == 0)
63
{
64
return
new
CritterFrogSmall
();
65
}
66
if
(
EClass
.
rnd
(12) == 0)
67
{
68
return
new
CritterCancer
();
69
}
70
if
(
EClass
.
rnd
(6) == 0)
71
{
72
return
new
CritterCancerSmall
();
73
}
74
if
(
EClass
.
rnd
(12) == 0)
75
{
76
return
new
CritterRat
();
77
}
78
if
(
EClass
.
rnd
(6) == 0)
79
{
80
return
new
CritterRatSmall
();
81
}
82
if
(
EClass
.
rnd
(12) == 0)
83
{
84
return
new
CritterRoach
();
85
}
86
if
(
EClass
.
rnd
(6) == 0)
87
{
88
return
new
CritterRoachSmall
();
89
}
90
return
new
CritterRandom
();
91
}
92
93
public
static
void
RebuildCritter
(
Cell
cell)
94
{
95
cell.critter =
null
;
96
if
(cell.
sourceObj
.id == 68)
97
{
98
cell.critter =
new
CritterFish
();
99
}
100
}
101
102
public
void
Update
()
103
{
104
float
gameDelta =
Core
.
gameDelta
;
105
animeTimer
-= gameDelta *
speed
* 100f;
106
if
(
animeTimer
< 0f)
107
{
108
index
++;
109
animeTimer
= 2f;
110
}
111
if
(
dir
.x != 0f ||
dir
.y != 0f)
112
{
113
tile
=
AnimeTile
;
114
}
115
else
116
{
117
tile
=
IdleTile
;
118
}
119
dirTimer
-= gameDelta;
120
if
(
dirTimer
< 0f)
121
{
122
dirTimer
=
Interval
+
EClass
.
rnd
(
Interval
) / 2;
123
dir.x =
EClass
.
rnd
(3) - 1;
124
dir.y =
EClass
.
rnd
(3) - 1;
125
speed
= 0.01f * (float)(
EClass
.
rnd
(20) + 1) *
BaseSpeed
;
126
reverse
= dir.x > 0f;
127
}
128
x
+= dir.x * gameDelta *
speed
;
129
if
(
x
> 0.12f)
130
{
131
x
= 0.12f;
132
dir.x = 0f;
133
}
134
else
if
(
x
< -0.12f)
135
{
136
x
= -0.12f;
137
dir.x = 0f;
138
}
139
y
+= dir.y * gameDelta *
speed
;
140
if
(
y
> 0.12f)
141
{
142
y
= 0.12f;
143
dir.y = 0f;
144
}
145
else
if
(
y
< -0.12f)
146
{
147
y
= -0.12f;
148
dir.y = 0f;
149
}
150
}
151
}
BiomeID
BiomeID
Definition:
BiomeID.cs:2
BiomeProfile
Definition:
BiomeProfile.cs:8
BiomeProfile.id
BiomeID id
Definition:
BiomeProfile.cs:621
Cell
Definition:
Cell.cs:7
Cell.IsTopWater
bool IsTopWater
Definition:
Cell.cs:700
Cell.sourceObj
SourceObj.Row sourceObj
Definition:
Cell.cs:1072
CoreRef.Biomes.Plain
BiomeProfile Plain
Definition:
CoreRef.cs:144
CoreRef.biomes
Biomes biomes
Definition:
CoreRef.cs:325
Core
Definition:
Core.cs:14
Core.refs
CoreRef refs
Definition:
Core.cs:51
Core.gameDelta
static float gameDelta
Definition:
Core.cs:21
CritterCancerSmall
Definition:
CritterCancerSmall.cs:2
CritterCancer
Definition:
CritterCancer.cs:2
CritterFish
Definition:
CritterFish.cs:2
CritterFrogSmall
Definition:
CritterFrogSmall.cs:2
CritterFrog
Definition:
CritterFrog.cs:2
CritterRandom
Definition:
CritterRandom.cs:2
CritterRatSmall
Definition:
CritterRatSmall.cs:2
CritterRat
Definition:
CritterRat.cs:2
CritterRoachSmall
Definition:
CritterRoachSmall.cs:2
CritterRoach
Definition:
CritterRoach.cs:2
Critter
Definition:
Critter.cs:4
Critter.speed
float speed
Definition:
Critter.cs:21
Critter.idleTiles
virtual int[] idleTiles
Definition:
Critter.cs:27
Critter.animeTimer
float animeTimer
Definition:
Critter.cs:19
Critter.IdleTile
virtual int IdleTile
Definition:
Critter.cs:31
Critter.index
int index
Definition:
Critter.cs:9
Critter.Interval
virtual int Interval
Definition:
Critter.cs:35
Critter.animeTiles
virtual int[] animeTiles
Definition:
Critter.cs:25
Critter.AnimeTile
virtual int AnimeTile
Definition:
Critter.cs:29
Critter.reverse
bool reverse
Definition:
Critter.cs:23
Critter.Update
void Update()
Definition:
Critter.cs:102
Critter.SnowTile
virtual int SnowTile
Definition:
Critter.cs:33
Critter.R
const float R
Definition:
Critter.cs:5
Critter.dirTimer
float dirTimer
Definition:
Critter.cs:17
Critter.x
float x
Definition:
Critter.cs:13
Critter.Create
static Critter Create(Cell cell)
Definition:
Critter.cs:39
Critter.dir
Vector2 dir
Definition:
Critter.cs:11
Critter.tile
int tile
Definition:
Critter.cs:7
Critter.BaseSpeed
virtual float BaseSpeed
Definition:
Critter.cs:37
Critter.y
float y
Definition:
Critter.cs:15
Critter.RebuildCritter
static void RebuildCritter(Cell cell)
Definition:
Critter.cs:93
EClass
Definition:
EClass.cs:5
EClass.rnd
static int rnd(int a)
Definition:
EClass.cs:50
EClass.core
static Core core
Definition:
EClass.cs:6
Elin
Critter.cs
Generated by
1.9.6