Пример #1
0
 public void RaiseDiedEvent()
 {
     // TODO: stop all orders
     this.Weapon.IsActive = false;
     Corpse();
     AnyDiedEvent?.Invoke(this);
     DiedEvent?.Invoke(this);
 }
Пример #2
0
 internal DiedEvent InvokeEvent(DiedEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         Died?.Invoke(_api, arg);
     }
     return(arg);
 }
Пример #3
0
 private void handleDiedEvent(DiedEvent @event)
 {
     if (@event.timestamp > updateDat)
     {
         updateDat = @event.timestamp;
         _handleDiedEvent(@event);
         writeRecord();
     }
 }
Пример #4
0
 private void AssertEvent(DiedEvent @event)
 {
     Assert.NotNull(@event);
     Assert.Equal(DateTime.Parse("2019-09-04T14:30:18Z"), @event.Timestamp);
     Assert.Equal(EventName, @event.Event);
     Assert.Equal("$ShipName_Police_Federation;", @event.KillerName);
     Assert.Equal("Федеральная служба безопасности", @event.KillerNameLocalised);
     Assert.Equal("viper_mkiv", @event.KillerShip);
     Assert.Equal(ShipModel.ViperMkIV, @event.KillerShipModel);
     Assert.Equal(CombatRank.Master, @event.KillerRank);
 }
Пример #5
0
        protected override bool HandleDeath(DiedEvent d)
        {
            if (Rnd.Chance(30))
            {
                var slime = new SimpleSlime();
                Area.Add(slime);
                slime.BottomCenter = BottomCenter;
            }

            return(base.HandleDeath(d));
        }
Пример #6
0
        protected override bool HandleDeath(DiedEvent d)
        {
            for (var i = 0; i < Rnd.Int(2, 5); i++)
            {
                var bee = new Bee();
                Area.Add(bee);
                bee.Center = Center;
            }

            return(base.HandleDeath(d));
        }
Пример #7
0
        protected override void CreateGore(DiedEvent d)
        {
            var head = new Snowball();

            Area.Add(head);
            head.TopCenter = TopCenter;

            var body = new SnowmanBody();

            Area.Add(body);
            body.BottomCenter = BottomCenter;
        }
Пример #8
0
        protected override bool HandleDeath(DiedEvent d)
        {
            for (var i = 0; i < 2; i++)
            {
                var slime = new MotherSlime();
                Area.Add(slime);
                slime.Center = Center + new Vector2(Rnd.Float(-4, 4), Rnd.Float(-4, 4));
                slime.GetComponent <HealthComponent>().InvincibilityTimer = 0.1f;

                slime.GetAnyComponent <BodyComponent>().KnockbackFrom(d.From, Rnd.Float(1f, 2f), 2);
            }

            return(base.HandleDeath(d));
        }
Пример #9
0
    virtual public Unit SummonUnit(GameObject _object, Land _Pos)
    {
        Unit monster;

        if (monster = Instantiate(_object).GetComponent <Unit>())
        {
            Vector3 pos   = Vector3.zero;
            Vector3 Scale = monster.transform.localScale;
            monster.transform.SetParent(_Pos.transform);
            monster.transform.localPosition = pos;
            monster.transform.localScale    = Scale;
            monster.Faction  = Faction;
            monster.playable = false;
            diedEvent       += monster.DeadEvent;//주인이 죽으면 소환수도 죽음
        }
        return(null);
    }
        private async void CombatEventsOnDiedAsync(object sender, DiedEvent e)
        {
            var cmd = new AddCommanderCombatDeath(_eliteAPI.Location?.StarSystem?.Name);

            if (e.Killers != null && e.Killers.Length > 0)
            {
                cmd.WingOpponentNames = e.Killers.Select(k => k.Name);
            }
            else
            {
                cmd.OpponentName = e.KillerName;
                cmd.IsPlayer     = e.KillerNameLocalised == null;
            }

            await AddCommand(cmd)
            .SendAsync()
            .ConfigureAwait(false);
        }
Пример #11
0
        private void _handleDiedEvent(DiedEvent @event)
        {
            List <FactionReport> reports = new List <FactionReport>();

            // Remove all pending claims from criminal record
            foreach (FactionRecord record in criminalrecord.ToList())
            {
                reports = record.factionReports
                          .Where(r => r.crimeDef == Crime.None || r.crimeDef == Crime.Claim)
                          .ToList();
                if (reports != null)
                {
                    // Remove all pending claims from faction
                    record.factionReports = record.factionReports.Except(reports).ToList();
                }
                record.claims = 0;
            }
        }
Пример #12
0
 private void handleDiedEvent(DiedEvent @event)
 {
     inventory.Clear();
     writeInventory();
 }
Пример #13
0
 internal void InvokeDiedEvent(DiedEvent arg) => DiedEvent?.Invoke(null, arg);
Пример #14
0
        protected override void CreateGore(DiedEvent d)
        {
            base.CreateGore(d);

            if (saved)
            {
                return;
            }

            var heinur = new Heinur();

            Area.Add(heinur);
            heinur.Center = Center - new Vector2(0, 32);

            var g = heinur.GetComponent <BkGraphicsComponent>();

            g.Scale = Vector2.Zero;

            Timer.Add(() => {
                Tween.To(1, 0, x => g.Scale.X = x, 3f);
                Tween.To(1, 0, x => g.Scale.Y = x, 3f);
            }, 1f);

            var dm = new DarkMage();

            Area.Add(dm);

            dm.Center = Center + new Vector2(0, 32);
            dm.GetComponent <AnimationComponent>().Animate();

            AnimationUtil.Poof(dm.Center);

            var dmDialog     = dm.GetComponent <DialogComponent>();
            var heinurDialog = heinur.GetComponent <DialogComponent>();

            foreach (var p in Area.Tagged[Tags.Player])
            {
                p.RemoveComponent <PlayerInputComponent>();
            }

            Camera.Instance.Targets.Clear();
            Camera.Instance.Follow(dm, 1f);
            Camera.Instance.Follow(heinur, 1f);

            dmDialog.Start("dm_5", null, () => Timer.Add(() => {
                dmDialog.Close();
                Camera.Instance.Targets.Clear();
                Camera.Instance.Follow(dm, 1f);
                Camera.Instance.Follow(heinur, 1f);

                heinurDialog.Start("heinur_0", null, () => Timer.Add(() => {
                    heinurDialog.Close();
                    heinur.Attract = true;
                    Camera.Instance.Targets.Clear();
                    Camera.Instance.Follow(dm, 1f);
                    Camera.Instance.Follow(heinur, 1f);

                    heinur.Callback = () => {
                        Camera.Instance.Targets.Clear();
                        Camera.Instance.Follow(dm, 1f);

                        foreach (var p in Area.Tagged[Tags.Player])
                        {
                            p.GetComponent <PlayerGraphicsComponent>().Hidden = true;
                        }

                        var bk = new bk.BurningKnight()
                        {
                            Passive = true
                        };

                        Area.Add(bk);
                        bk.Center = Center;

                        bk.GetComponent <BkGraphicsComponent>().Animate();
                        Camera.Instance.Follow(bk, 1f);

                        dmDialog.Start("dm_6", null, () => Timer.Add(() => {
                            dmDialog.Close();
                            Camera.Instance.Targets.Clear();
                            Camera.Instance.Follow(bk, 1f);

                            var nbkDialog = bk.GetComponent <DialogComponent>();

                            nbkDialog.Start("nbk_0", null, () => Timer.Add(() => {
                                nbkDialog.Close();
                                Camera.Instance.Targets.Clear();
                                Camera.Instance.Follow(bk, 1f);
                                Run.Win();
                            }, 2f));
                        }, 2f));
                    };
                }, 1f));
            }, 1f));
        }
Пример #15
0
 public override void AnimateDeath(DiedEvent d)
 {
     base.AnimateDeath(d);
     ExplosionMaker.Make(this);
     OnDeath?.Invoke();
 }
Пример #16
0
 internal void InvokeDiedEvent(DiedEvent arg)
 {
     DiedEvent?.Invoke(this, arg);
 }
Пример #17
0
 protected override void CreateGore(DiedEvent d)
 {
 }
Пример #18
0
 protected override bool HandleDeath(DiedEvent d)
 {
     Become <FallingState>();
     return(true);
 }
Пример #19
0
 protected override bool HandleDeath(DiedEvent d)
 {
     ExplosionMaker.Make(this, 16);
     return(base.HandleDeath(d));
 }
Пример #20
0
 public override void AnimateDeath(DiedEvent d)
 {
     base.AnimateDeath(d);
     CreateGore(d);
 }
Пример #21
0
 void Corpse()
 {
     DiedEvent?.Invoke();
 }