Пример #1
0
        public override void DoPreSortLogic(EntitySystem Weapon, List <GameEntity> Targets, ArcenCharacterBuffer TracingBuffer, ArcenSimContext Context)
        {
            base.DoPreSortLogic(Weapon, Targets, TracingBuffer, Context);

            MyLowestSpeedMultiplier = (FInt)999;
            MyPrimaryUnitLocation   = ArcenPoint.ZeroZeroPoint;
            ControlGroup group = Weapon.ParentEntity.EntitySpecificOrders.ControlGroup;

            if (group != null)
            {
                for (int i = 0; i < group.EntityIDs.Count; i++)
                {
                    GameEntity entity = World_AIW2.Instance.GetEntityByID(group.EntityIDs[i]);
                    if (entity == null)
                    {
                        continue;
                    }
                    FInt thisMultiplier = entity.TypeData.Balance_Speed.SpeedMultiplier;
                    if (thisMultiplier <= FInt.Zero)
                    {
                        continue;
                    }
                    MyLowestSpeedMultiplier = Mat.Min(MyLowestSpeedMultiplier, thisMultiplier);
                }

                GameEntity primaryEntity = group.GetPrimaryEntity();
                if (primaryEntity != null)
                {
                    MyPrimaryUnitLocation = primaryEntity.WorldLocation;
                }
            }
        }