BigRedButtonOfDeath.Library.Controller.connector_ObjectStatusUpdatePacketReceived C# (CSharp) Method

connector_ObjectStatusUpdatePacketReceived() public method

public connector_ObjectStatusUpdatePacketReceived ( object sender, PackageEventArgs e ) : void
sender object
e ArtemisComm.PackageEventArgs
return void
        void connector_ObjectStatusUpdatePacketReceived(object sender, PackageEventArgs e)
        {
            if (GameInProgress)
            {
                if (e != null)
                {

                    if (e.ReceivedPacket != null)
                    {
                        ObjectStatusUpdatePacket objectStat = e.ReceivedPacket.Package as ObjectStatusUpdatePacket;
                        if (objectStat != null)
                        {
                            if (objectStat.SubPacketType == ObjectStatusUpdateSubPacketType.MainPlayerUpdateSubPacket)
                            {
                                MainPlayerUpdateSubPacket mainPlayer = objectStat.SubPacket as MainPlayerUpdateSubPacket;
                                if (mainPlayer != null)
                                {
                                    // || mainPlayer.ShipNumber == null
                                    if (mainPlayer.RedAlert != null && ((mainPlayer.ShipNumber != null && mainPlayer.ShipNumber == (SelectedShip + 1))))
                                    {
                                        
                                        redAlertEnabled = Convert.ToBoolean(mainPlayer.RedAlert.Value);
                                        View.RedAlertEnabled = redAlertEnabled;
                                    }
                                    // || mainPlayer.ShipNumber == null
                                    if (mainPlayer.ShieldState != null && ((mainPlayer.ShipNumber != null && mainPlayer.ShipNumber == (SelectedShip + 1))))
                                    {
                                        shieldsRaised = Convert.ToBoolean(mainPlayer.ShieldState.Value);
                                        View.ShieldsRaised = shieldsRaised;
                                        if (shieldsRaised && ShieldsMustBeDown)
                                        {
                                            SendDropShields();
                                        }
                                    }
                                }
                            }
                        }

                    }
                }
            }
        }