コード例 #1
0
ファイル: Ship.cs プロジェクト: bsed/Freecon-Galactic
 public void CargoRemoved(object sender, ITransactionRemoveStatefulCargo transaction)
 {
     if (transaction.CargoType == StatefulCargoTypes.Module)
     {
         RemoveModule((Module)transaction.RemovedCargo);
     }
 }
コード例 #2
0
ファイル: KillManager.cs プロジェクト: bsed/Freecon-Galactic
        /// <summary>
        /// TODO: clean this nasty mess up.
        /// </summary>
        void _addCargoToArea(object sender, ITransactionRemoveStatefulCargo tr)
        {
            IFloatyAreaObject fa = (IFloatyAreaObject)tr.RemovedCargo;

            List <IFloatyAreaObject> l = new List <IFloatyAreaObject> {
                fa
            };
            IArea a = _areaLocator.GetArea(fa.NextAreaID);

            a.AddFloatyAreaObjects(l);
            ConsoleManager.WriteLine("NPC dropped " + tr.RemovedCargo.GetType().Name, ConsoleMessageType.Notification);
        }
コード例 #3
0
 public void NotifyCargoRemoved(object sender, ITransactionRemoveStatefulCargo transaction)
 {
     if (transaction.CargoHolder is IShip)
     {
         IShip  s = transaction.CargoHolder as IShip;
         Player p = s.GetPlayer();
         if (p.IsOnline)
         {
             var data = new MessageRemoveCargoFromShip {
                 ShipID = s.Id
             };
             data.StatefulCargoIDs.Add((int)transaction.CargoID);
             p.SendMessage(new NetworkMessageContainer(data, MessageTypes.RemoveCargoFromShip));
         }
     }
 }