Example #1
0
        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);
            }
        }