protected override JobHandle OnUpdate(JobHandle inputDependencies) { PhaseConfig phaseConfig = default(PhaseConfig); TryGetFirstPhaseConfig(ref phaseConfig); var job = new PhaseRotationTween2DJob() { phaseConfig = phaseConfig, zAxis = new float3(0f, 0f, 1f) }; return(job.Schedule(this, inputDependencies)); }
private bool TryGetFirstPhaseConfig(ref PhaseConfig phaseConfig) { NativeArray <PhaseConfig> phaseConfigs = m_PhaseConfigGroup.ToComponentDataArray <PhaseConfig>( Allocator.TempJob); if (phaseConfigs.Length < 1) { phaseConfigs.Dispose(); return(false); } phaseConfig = phaseConfigs[0]; phaseConfigs.Dispose(); return(true); }
public int ValidateEnergy(float sunEnergy, float moonEnergy, SpriteRenderer sprito = null) { if (sunEnergy < 0) { sunEnergy = 0; } if (moonEnergy < 0) { moonEnergy = 0; } PhaseConfig actualPhase = phases.Where(x => (sunEnergy >= x.sunEnergyReq && moonEnergy >= x.moonEnergyReq)) .OrderBy(x => Mathf.Abs((x.sunEnergyReq - sunEnergy) + (x.moonEnergyReq - moonEnergy))).First(); if (sprito) { sprito.sprite = actualPhase.visualChange; } return(phases.IndexOf(actualPhase)); }
protected override void OnUpdate() { PhaseConfig phaseConfig = default(PhaseConfig); if (!TryGetFirstPhaseConfig(ref phaseConfig)) { return; } if (!phaseConfig.changed) { return; } var sharedJob = new PhaseEnablerSharedJob() { phaseConfig = phaseConfig }; sharedJob.ExecuteEach(EntityManager, m_PhaseEnablerGroup); }
public void Load(TextReader stream) { if (stream == default) { throw new ArgumentNullException(nameof(stream)); } TerrainFile?terrainConfig = _json.Deserialize <TerrainFile>(stream.ReadToEnd()); if (terrainConfig == null) { throw new InvalidOperationException("Unable to parse terrain file."); } foreach (TerrainConfig entry in terrainConfig.Terrain) { PhaseConfig phase = terrainConfig.Phase.Where(p => string.Equals(p.Name, entry.PhaseName, StringComparison.OrdinalIgnoreCase)).First(); var terrain = new Terrain(entry.Id, entry.IdName, phase.Phases.Select(p => { return(transition: p.Transition, attribute: p as ITerrainAttributes); })); _terrain[terrain.Id] = terrain; } }