public override void Update()
{
if (isControllable)
{
xMove = 0;
yMove = 0;
if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
{
yMove = controlSpeed * UnityEngine.Time.deltaTime;
}
if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
{
yMove = -(controlSpeed * UnityEngine.Time.deltaTime);
}
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
{
xMove = -(controlSpeed * UnityEngine.Time.deltaTime);
}
if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
{
xMove = controlSpeed * UnityEngine.Time.deltaTime;
}
if (Input.GetMouseButton(0))
{
state = State.SHOOTING;
}
else
{
state = State.IDLE;
}
rotation = 0;
rotation = this.GetLocalMousePosition().GetAngle() + 90;
}
else
{
if (RXRandom.Double() < .03)
{
xMove = (RXRandom.Float() * speed * 2 - speed) * UnityEngine.Time.deltaTime;
yMove = (RXRandom.Float() * speed * 2 - speed) * UnityEngine.Time.deltaTime;
rotation = new Vector2(xMove, yMove).GetAngle() + 90;
}
else if (RXRandom.Double() < .01)
{
xMove = 0;
yMove = 0;
}
}
tryMove();
if (this.powerupClock.percentage <= 0 && this.powerUpType != Powerup.PowerupType.NONE)
{
collectPowerUp(Powerup.PowerupType.NONE);
}
if (lastShoot < minShoot)
{
lastShoot += UnityEngine.Time.deltaTime;
}
switch (state)
{
case State.IDLE:
break;
case State.SHOOTING:
if (lastShoot >= minShoot || (powerUpType == Powerup.PowerupType.MACHINEGUN && lastShoot >= minShoot * .05f))
{
lastShoot = 0;
foreach (Bullet b in shootBullet())
{
world.addBullet(b);
}
}
break;
}
if (isControllable)
{
switch (this.powerUpType)
{
case Powerup.PowerupType.NONE:
play("pistol");
break;
case Powerup.PowerupType.SHOTGUN:
play("shotgun");
break;
case Powerup.PowerupType.MACHINEGUN:
play("machinegun");
break;
}
}
shadow.rotation = this.rotation;
shadow.SetPosition(this.GetPosition());
shadow.y -= 3;
hair.SetPosition(this.GetPosition());
hair.rotation = this.rotation;
playerBlip.SetPosition(GetPosition() * Minimap.BLIP_POS_MULT);
playerBlip.rotation = this.rotation;
playerBlip.scale = this.scale * .5f;
base.Update();
}