internal void RemoveWeapons(Guid[] wpnIds) { ComponentInstance[] wpnInstances = new ComponentInstance[wpnIds.Length]; for (int i = 0; i < wpnIds.Length; i++) { wpnInstances[i] = OwningEntity.GetDataBlob <ComponentInstancesDB>().AllComponents[wpnIds[i]]; } RemoveWeapons(wpnInstances); }
public KeplerElements GetElements() { // if there is not a change in Dv then the kepler elements wont have changed, it might be better to store them? double myMass = OwningEntity.GetDataBlob <MassVolumeDB>().MassDry; var sgp = OrbitMath.CalculateStandardGravityParameterInM3S2(myMass, ParentMass); var pos = OwningEntity.GetDataBlob <PositionDB>().RelativePosition_m; var dateTime = OwningEntity.StarSysDateTime; var ke = OrbitMath.KeplerFromPositionAndVelocity(sgp, pos, CurrentVector_ms, dateTime); return(ke); }
private void Deserialized(StreamingContext context) { var instancesDB = OwningEntity.GetDataBlob <ComponentInstancesDB>(); if (instancesDB.TryGetComponentsByAttribute <BeamFireControlAtbDB>(out var fireControlInstances)) { foreach (var fc in fireControlInstances) { FireControlInstances.Add(fc); } } if (instancesDB.TryGetComponentsByAttribute <GenericBeamWeaponAtbDB>(out var weaponInstances)) { foreach (var gun in weaponInstances) { WeaponInstances.Add(gun); } } }
internal void RemoveWeapons(Guid wpnId) { ComponentInstance[] wpnInstances = new ComponentInstance[1]; wpnInstances[0] = OwningEntity.GetDataBlob <ComponentInstancesDB>().AllComponents[wpnId]; RemoveWeapons(wpnInstances); }