void Entity_ChangeEvent(EntityChangeData.EntityChangeType changeType, BaseDataBlob db) { if (changeType == EntityChangeData.EntityChangeType.DBAdded) { if (db is OrbitDB) { _orbitDB = (OrbitDB)db; var i = _orbitDB.Inclination; var aop = _orbitDB.ArgumentOfPeriapsis; var loan = _orbitDB.LongitudeOfAscendingNode; _lop = (float)OrbitMath.GetLongditudeOfPeriapsis(i, aop, loan); } else if (db is WarpMovingDB) { _warpMoveDB = (WarpMovingDB)db; } } else if (changeType == EntityChangeData.EntityChangeType.DBRemoved) { if (db is OrbitDB) { _orbitDB = null; } else if (db is WarpMovingDB) { _warpMoveDB = null; } } }
public ShipIcon(Entity entity) : base(entity.GetDataBlob <PositionDB>()) { _shipInfo = entity.GetDataBlob <ShipInfoDB>(); _componentInstances = entity.GetDataBlob <ComponentInstancesDB>(); if (entity.HasDataBlob <OrbitDB>()) { _orbitDB = entity.GetDataBlob <OrbitDB>(); var i = _orbitDB.Inclination; var aop = _orbitDB.ArgumentOfPeriapsis; var loan = _orbitDB.LongitudeOfAscendingNode; _lop = (float)OrbitMath.GetLongditudeOfPeriapsis(i, aop, loan); } else if (entity.HasDataBlob <NewtonMoveDB>()) { _newtonMoveDB = entity.GetDataBlob <NewtonMoveDB>(); } else if (entity.HasDataBlob <WarpMovingDB>()) { _warpMoveDB = entity.GetDataBlob <WarpMovingDB>(); } entity.ChangeEvent += Entity_ChangeEvent; _entity = entity; BasicShape(); OnPhysicsUpdate(); }