private async Task _handleColonyDataPushAsync(MessageColonyDataPush res) { var s = await _shipManager.GetShipAsync(res.ShipID); if (s?.CurrentAreaId == null) { return; } var a = _galaxyManager.GetArea(s.CurrentAreaId); if (a?.AreaType != AreaTypes.Colony) { return; } _handleDataPush(res, (Colony)a, s); }
private void _handleDataPush(MessageColonyDataPush data, Colony colony, IShip requestingShip) { switch (data.UpdateType) { case UpdateTypes.SetSlider: { SliderTypes sliderType = (SliderTypes)(byte)data.FirstIdentifier; //Dunno if the byte cast is necessary float sliderValue = data.Data; colony.Sliders[sliderType].CurrentValue = sliderValue; break; } case UpdateTypes.AddConstructableToQueue: { throw new NotImplementedException(); break; } case UpdateTypes.WithdrawResource: { throw new NotImplementedException(); //TransactionSequence tr = new TransactionSequence(); //tr.AddTransaction //_cargoSynchronizer.RequestAtomicTransactionSequence() break; } case UpdateTypes.DropResource: { throw new NotImplementedException(); break; } } }