9 public virtual int[] animeTiles
19 public virtual int[] idleTiles
29 public virtual int AnimeTile
33 return this.animeTiles[this.index % this.animeTiles.Length];
39 public virtual int IdleTile
43 return this.idleTiles[this.index % this.idleTiles.Length];
49 public virtual int SnowTile
59 public virtual int Interval
69 public virtual float BaseSpeed
81 if (biomeProfile ==
null)
95 if (biomeProfile.id == BiomeID.Snow)
136 public static void RebuildCritter(
Cell cell)
139 if (cell.sourceObj.id == 68)
148 float gameDelta = Core.gameDelta;
149 this.animeTimer -= gameDelta * this.speed * 100f;
150 if (this.animeTimer < 0f)
153 this.animeTimer = 2f;
155 if (this.dir.x != 0f ||
this.dir.y != 0f)
157 this.tile = this.AnimeTile;
161 this.tile = this.IdleTile;
163 this.dirTimer -= gameDelta;
164 if (this.dirTimer < 0f)
166 this.dirTimer = (float)(this.Interval +
EClass.rnd(
this.Interval) / 2);
167 this.dir.x = (float)(
EClass.rnd(3) - 1);
168 this.dir.y = (float)(
EClass.rnd(3) - 1);
169 this.speed = 0.01f * (float)(
EClass.rnd(20) + 1) * this.BaseSpeed;
170 this.reverse = (this.dir.x > 0f);
172 this.x += this.dir.x * gameDelta * this.speed;
178 else if (this.x < -0.12f)
183 this.y += this.dir.y * gameDelta * this.speed;
198 public const float R = 0.12f;
216 public float dirTimer;
219 public float animeTimer;
222 public float speed = 0.1f;