private void OnExamined(EntityUid uid, SeedComponent component, ExaminedEvent args) { if (!args.IsInDetailsRange) { return; } if (!TryGetSeed(component, out var seed)) { return; } args.PushMarkup(Loc.GetString($"seed-component-description", ("seedName", seed.DisplayName))); args.PushMarkup(Loc.GetString($"seed-component-plant-yield-text", ("seedYield", seed.Yield))); args.PushMarkup(Loc.GetString($"seed-component-plant-potency-text", ("seedPotency", seed.Potency))); }
public bool TryGetSeed(SeedComponent comp, [NotNullWhen(true)] out SeedData?seed) { if (comp.Seed != null) { seed = comp.Seed; return(true); } if (comp.SeedId != null && _prototypeManager.TryIndex(comp.SeedId, out SeedPrototype? protoSeed)) { seed = protoSeed; return(true); } seed = null; return(false); }
public void Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex) { NativeArray <CoordinatesComponent> coordinatesArray = chunk.GetNativeArray(Coordinates); NativeArray <BlockTypesComponent> blockTypesArray = chunk.GetNativeArray(BlockTypes); SeedComponent seed = chunk.GetChunkComponentData(Seed); for (int i = 0; i < chunk.Count; i++) { int3 coordinates = coordinatesArray[i].Coordinates; ReadonlyVector3Int heights = TerrainGenerator.CalculateHeights_NoiseSampler(seed.Seed, coordinates.x, coordinates.z); blockTypesArray[i] = new BlockTypesComponent() { BlockType = TerrainGenerator.DetermineType_NoiseSampler(seed.Seed, coordinates.x, coordinates.y, coordinates.z, in heights) }; } } }
private void OnExamined(EntityUid uid, SeedComponent component, ExaminedEvent args) { if (!args.IsInDetailsRange) { return; } if (!_prototypeManager.TryIndex <SeedPrototype>(component.SeedName, out var seed)) { return; } args.PushMarkup(Loc.GetString($"seed-component-description", ("seedName", seed.DisplayName))); if (!seed.RoundStart) { args.PushMarkup(Loc.GetString($"seed-component-has-variety-tag", ("seedUid", seed.Uid))); } else { args.PushMarkup(Loc.GetString($"seed-component-plant-yield-text", ("seedYield", seed.Yield))); args.PushMarkup(Loc.GetString($"seed-component-plant-potency-text", ("seedPotency", seed.Potency))); } }