Example #1
0
    public static void EnsurePrefabIsVessel(string name, out ControllablePrefab.VesselInfo vi)
    {
        byte vesselCompatibility = ControllablePrefab.GetVesselCompatibility(name);

        if ((vesselCompatibility & 1) != 1)
        {
            if ((vesselCompatibility & 64) != 64)
            {
                throw new NonControllableException(name);
            }
            throw new NonVesselControllableException(name);
        }
        if ((vesselCompatibility & 24) == 0)
        {
            throw new NonControllableException("The vessel has not been marked for either ai and/or player control. not bothering to spawn it.");
        }
        vi = new ControllablePrefab.VesselInfo(vesselCompatibility);
    }
Example #2
0
 public static void EnsurePrefabIsVessel(string name, Controllable forControllable, out ControllablePrefab.VesselInfo vi)
 {
     ControllablePrefab.EnsurePrefabIsVessel(name, out vi);
     if (forControllable && forControllable.controlled)
     {
         if (forControllable.aiControlled)
         {
             if (!vi.supportsAI)
             {
                 throw new NonAIVesselControllableException(name);
             }
         }
         else if (forControllable.playerControlled && !vi.supportsPlayer)
         {
             throw new NonPlayerVesselControllableException(name);
         }
     }
 }
Example #3
0
 public static void EnsurePrefabIsVessel(string name, out ControllablePrefab.VesselInfo vi)
 {
     byte vesselCompatibility = ControllablePrefab.GetVesselCompatibility(name);
     if ((vesselCompatibility & 1) != 1)
     {
         if ((vesselCompatibility & 64) != 64)
         {
             throw new NonControllableException(name);
         }
         throw new NonVesselControllableException(name);
     }
     if ((vesselCompatibility & 24) == 0)
     {
         throw new NonControllableException("The vessel has not been marked for either ai and/or player control. not bothering to spawn it.");
     }
     vi = new ControllablePrefab.VesselInfo(vesselCompatibility);
 }