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); }
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)); }
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)); }