Пример #1
0
        public void Convert
        (
            Entity entity,
            EntityManager manager,
            GameObjectConversionSystem conversionSystem)
        {
            var data = new SetPlaceOwnerConsiderer
            {
                Distance       = new ConsiderationBase(0.75f, 0, 100, true),
                SamePlaceCount = new ConsiderationBase(1, 0, 2, true)
            };

            manager.AddComponentData(entity, data);
        }
Пример #2
0
            private float ConsiderPlaceCount(int i, ref SetPlaceOwnerConsiderer c0, ref Place c1)
            {
                var ownerEntity    = OwnersPos[i].OwnerEntity;
                var ownPlaces      = OwnPlacesBuffer[ownerEntity];
                var samePlaceCount = 0;

                foreach (var place in ownPlaces)
                {
                    if (place.Type == c1.PlaceType)
                    {
                        samePlaceCount++;
                    }
                }
                return(c0.SamePlaceCount.Output(samePlaceCount));
            }
Пример #3
0
            private float ConsiderDistance(int i, ref SetPlaceOwnerConsiderer c0, ref Translation c2)
            {
                var distance = math.distance(OwnersPos[i].Positions, c2.Value);

                return(c0.Distance.Output(distance));
            }