- using Godot;
-
- /// <summary>
- /// 普通的枪
- /// </summary>
- [Tool]
- public partial class Gun : Weapon
- {
- protected override void OnFire()
- {
- if (Master == Player.Current)
- {
- //创建抖动
- GameCamera.Main.DirectionalShake(Vector2.Right.Rotated(GlobalRotation) * Attribute.CameraShake);
- }
-
- //创建开火特效
- var packedScene = ResourceManager.Load<PackedScene>(ResourcePath.prefab_effect_weapon_ShotFire_tscn);
- var sprite = packedScene.Instantiate<AutoDestroySprite>();
- // sprite.GlobalPosition = FirePoint.GlobalPosition;
- // sprite.GlobalRotation = FirePoint.GlobalRotation;
- // sprite.AddToActivityRoot(RoomLayerEnum.YSortLayer);
- sprite.Position = GetLocalFirePosition();
- AddChild(sprite);
- }
-
- protected override void OnShoot(float fireRotation)
- {
- ShootBullet(fireRotation, Attribute.BulletId);
- }
-
- protected override void OnRemove(Role master)
- {
- base.OnRemove(master);
-
- if (master.IsDie && master.IsEnemyWithPlayer())
- {
- this.CallDelay(0, () =>
- {
- Debug.Log("敌人扔掉武器触发攻击");
- Trigger(master);
- });
- }
- }
- }