Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / mark / EnemyMark.cs
@小李xl 小李xl on 29 Aug 2023 2 KB 预生成房间数据
  1. //
  2. // using Godot;
  3. //
  4. // /// <summary>
  5. // /// 针对敌人生成位置的标记
  6. // /// </summary>
  7. // [Tool, GlobalClass]
  8. // public partial class EnemyMark : ActivityMark
  9. // {
  10. // /// <summary>
  11. // /// 脸默认朝向
  12. // /// </summary>
  13. // public enum FaceDirectionValueEnum
  14. // {
  15. // /// <summary>
  16. // /// 随机
  17. // /// </summary>
  18. // Random,
  19. // /// <summary>
  20. // /// 左边
  21. // /// </summary>
  22. // Left,
  23. // /// <summary>
  24. // /// 右边
  25. // /// </summary>
  26. // Right
  27. // }
  28. //
  29. // /// <summary>
  30. // /// 武器1 id, id会自动加上武器前缀
  31. // /// </summary>
  32. // [Export(PropertyHint.Expression), ActivityExpression]
  33. // public string Weapon1Id;
  34. // /// <summary>
  35. // /// 武器2 id, id会自动加上武器前缀
  36. // /// </summary>
  37. // [Export(PropertyHint.Expression), ActivityExpression]
  38. // public string Weapon2Id;
  39. // /// <summary>
  40. // /// 脸默认的朝向
  41. // /// </summary>
  42. // [Export]
  43. // public FaceDirectionValueEnum FaceDirection = FaceDirectionValueEnum.Random;
  44. //
  45. // public override void _Ready()
  46. // {
  47. // Type = ActivityType.Enemy;
  48. // Layer = RoomLayerEnum.YSortLayer;
  49. // Altitude = 0;
  50. // }
  51. //
  52. // public override void Doing(ActivityObjectResult<ActivityObject> result, RoomInfo roomInfo)
  53. // {
  54. // //创建敌人
  55. // var instance = (Enemy)result.ActivityObject;
  56. // var pos = instance.Position;
  57. //
  58. // //脸的朝向
  59. // if (FaceDirection == FaceDirectionValueEnum.Random)
  60. // {
  61. // instance.Face = Random.RandomBoolean() ? global::FaceDirection.Left : global::FaceDirection.Right;
  62. // }
  63. // else if (FaceDirection == FaceDirectionValueEnum.Left)
  64. // {
  65. // instance.Face = global::FaceDirection.Left;
  66. // }
  67. // else
  68. // {
  69. // instance.Face = global::FaceDirection.Right;
  70. // }
  71. //
  72. // if (!string.IsNullOrWhiteSpace(Weapon1Id))
  73. // CreateWeapon(instance, pos, nameof(Weapon1Id));
  74. // if (!string.IsNullOrWhiteSpace(Weapon2Id))
  75. // CreateWeapon(instance, pos, nameof(Weapon2Id));
  76. // }
  77. //
  78. // //生成武器
  79. // private void CreateWeapon(Enemy enemy, Vector2 pos, string fieldName)
  80. // {
  81. // var result = CreateActivityObjectFromExpression<Weapon>(ActivityType.Weapon, fieldName);
  82. // if (result != null)
  83. // {
  84. // //如果不能放下, 则直接扔地上
  85. // if (!enemy.PickUpWeapon(result.ActivityObject))
  86. // {
  87. // result.ActivityObject.PutDown(pos, RoomLayerEnum.NormalLayer);
  88. // }
  89. // }
  90. // }
  91. // }