-
- using AiState;
- using Godot;
-
- /// <summary>
- /// boss用于召唤小怪的投射物
- /// </summary>
- [Tool]
- public partial class Summons : ActivityObject
- {
- private ActivityObject _target;
-
- public void InitTarget(ActivityObject target)
- {
- _target = target;
- }
-
- protected override void OnFirstFallToGround()
- {
- var id = Utils.Random.RandomChoose(Ids.Id_enemy0001);
- var enemy = Create<Enemy>(id);
- var randomWeapon = World.RandomPool.GetRandomWeapon();
- enemy.PickUpWeapon(Create<Weapon>(randomWeapon));
-
- if (_target != null)
- {
- var stateBase = (AiAstonishedState)enemy.StateController.GetState(AIStateEnum.AiAstonished);
- stateBase.IsEntred = true;
- enemy.LookTarget = _target;
- }
- enemy.PutDown(Position, RoomLayerEnum.YSortLayer);
-
- //出生特效
- var effect = ObjectManager.GetPoolItem<IEffect>(ResourcePath.prefab_effect_common_Effect1_tscn);
- var node = (Node2D)effect;
- node.Position = Position + new Vector2(0, -5);
- node.AddToActivityRoot(RoomLayerEnum.YSortLayer);
- effect.PlayEffect();
-
-
- Destroy();
- }
- }