コード例 #1
0
        public bool  ProcessMessage(DamageEventArgs message)
        {
            if (message == null)
            {
                return(false);
            }

            Part part = PartUtils.GetPart(message.VesselId, message.PartFlightId, message.PartCraftId);

            if (part == null)
            {
                return(false);
            }

            if (message.Operation == DamageOperation.Add)
            {
                Dependencies.Get <IDamageService>().AddDamageToPart(part, message.Damage);
            }
            else
            {
                Dependencies.Get <IDamageService>().SetDamageToPart(part, message.Damage);
            }

            return(true);
        }
コード例 #2
0
        public bool ProcessMessage(ArmorEventArgs message)
        {
            if (message == null)
            {
                return(false);
            }

            Part part = PartUtils.GetPart(message.VesselId, message.PartFlightId, message.PartCraftId);

            if (part == null)
            {
                return(false);
            }

            Dependencies.Get <IDamageService>().ReduceArmor(part, message.ArmorMassToReduce);

            return(true);
        }
コード例 #3
0
        public bool ProcessMessage(ForceEventArgs message)
        {
            if (message == null)
            {
                return(false);
            }

            Part part = PartUtils.GetPart(message.VesselId, message.PartFlightId, message.PartCraftId);

            if (part == null)
            {
                return(false);
            }

            part.AddForceToPart(new Vector3(message.ForceX, message.ForceY, message.ForceZ),
                                new Vector3(message.PositionX, message.PositionY, message.PositionZ), message.Mode, false);

            return(true);
        }