protected override void UniqueMove() { MainFrame.Instance.NowScene.MainScene.EntryModel(_shootLine); MainFrame.Instance.NowScene.MainScene.EntryModel(Model); var window = FKSettings.GetInstance().MainWindow; if (window.GetSpecialKeyStatus(fk_SpecialKey.LEFT, fk_SwitchStatus.PRESS)) { Position.x -= MoveSpeed; } if (window.GetSpecialKeyStatus(fk_SpecialKey.RIGHT, fk_SwitchStatus.PRESS)) { Position.x += MoveSpeed; } if (window.GetSpecialKeyStatus(fk_SpecialKey.UP, fk_SwitchStatus.PRESS)) { Position.y += MoveSpeed; } if (window.GetSpecialKeyStatus(fk_SpecialKey.DOWN, fk_SwitchStatus.PRESS)) { Position.y -= MoveSpeed; } CorrectPosition(); _shootLine.GlMoveTo(new fk_Vector(Position.x, Position.y, -ShootLineLength / 2)); if (window.GetKeyStatus('Z', fk_SwitchStatus.DOWN)) { var normalBullet = new NormalBullet(CharacterSide.Player, new fk_Vector(Position), new fk_Vector(0, 0, -2), fk_Material.GrassGreen); } if (window.GetKeyStatus('X', fk_SwitchStatus.DOWN)) { var normalBullet = new PierceBullet(CharacterSide.Player, new fk_Vector(Position), new fk_Vector(0, 0, -2)); } if (window.GetKeyStatus('C', fk_SwitchStatus.DOWN)) { var normalBullet = new ClusterBullet(CharacterSide.Player, new fk_Vector(Position), new fk_Vector(0, 0, -2)); } if (window.GetKeyStatus('V', fk_SwitchStatus.PRESS)) { var normalBullet = new NormalBullet(CharacterSide.Player, new fk_Vector(Position), new fk_Vector(0, 0, -2), fk_Material.HolidaySkyBlue, 1.5); } if (window.GetKeyStatus('I', fk_SwitchStatus.DOWN)) { _isImmotal = !_isImmotal; } }
protected override void UniqueMove() { Position.z += MoveSpeed; if (Position.z > 20) { Escape(); } if (AriveFrames != 0 && AriveFrames % 95 == 0) { var targetPosition = GameInfo.GetInstance().ControllableCharacter.Position; var chaseVector = targetPosition - Position; chaseVector.Normalize(); var normalBullet = new NormalBullet(CharacterSide.Enemy, new fk_Vector(Position), chaseVector, fk_Material.Orange); } }