コード例 #1
0
 public static void Retouch(EntityFactory factory)
 {
     SequentialMobBase.Retouch(factory);
     Skip.SkipNoPlayerHandlerWrapper.HookTo(factory);
     Skip.SkipBlockedHandlerWrapper.HookTo(factory);
     Reorient.OnActionSuccessHandlerWrapper.HookTo(factory);
 }
コード例 #2
0
 public static void AddComponents(Entity subject)
 {
     SequentialMobBase.AddComponents(subject,
                                     Algos.EnemyAlgo,
                                     new Step
     {
         action = Compose(Attacking.Action, Moving.Action),
         movs   = Movs.Basic
     },
                                     new Step()
                                     );
 }
コード例 #3
0
        public static void AddComponents(Entity subject)
        {
            var steps = new Step[]
            {
                // 0: move. if near player, start exploding
                new Step
                {
                    successFunction = IsPlayerClose(fail: 1, success: 2),
                    action          = Moving.Action,
                    movs            = Movs.Basic,
                    algo            = Algos.EnemyAlgo
                },
                // 1: wait 1 bit. if near player, start exploding
                new Step
                {
                    successFunction = IsPlayerClose(fail: -1, success: 1)
                },
                // 2: exploding, possibly not explode if the player is gone
                new Step
                {
                    successFunction = IsPlayerClose(fail: -1, success:  1),
                },
                // 3: 1 bit delay before the inevitable explosion
                new Step
                {
                    relativeStepIndexSuccess = 1
                },
                // 4: die and explode
                new Step
                {
                    action = DieAndExplodeAction,
                    algo   = Algos.SimpleAlgo
                }
            };

            SequentialMobBase.AddComponents(subject, Algos.StepBased, steps);
        }
コード例 #4
0
 public static void InitComponents(Entity subject)
 {
     SequentialMobBase.InitComponents(subject);
 }
コード例 #5
0
ファイル: Spider.cs プロジェクト: AntonC9018/hopper.cs
 public static void Retouch(EntityFactory factory)
 {
     SequentialMobBase.Retouch(factory);
 }
コード例 #6
0
ファイル: Spider.cs プロジェクト: AntonC9018/hopper.cs
 public static void InitComponents(Entity subject)
 {
     SequentialMobBase.InitComponents(subject);
     subject.GetBinding().DefaultPreset();
 }
コード例 #7
0
ファイル: Spider.cs プロジェクト: AntonC9018/hopper.cs
 public static void AddComponents(Entity subject)
 {
     SequentialMobBase.AddComponents(subject, Algos.EnemyAlgo, Steps);
     Binding.AddTo(subject, Layers.REAL, BoundEntityModifierDefault.Hookable);
 }
コード例 #8
0
ファイル: Robot.cs プロジェクト: AntonC9018/hopper.cs
 public static void AddComponents(Entity subject)
 {
     SequentialMobBase.AddComponents(subject, Algos.EnemyAlgo, Steps);
 }