Пример #1
0
        public static InteractableInfo AddToStages(InteractableTemplate interactable, Stages stages, String contentPackIdentifier = null)
        {
            contentPackIdentifier = contentPackIdentifier ?? Assembly.GetCallingAssembly().GetName().Name;
            var sceneNames = GetSceneNames(stages);

            return(AddToStages(interactable, sceneNames, contentPackIdentifier));
        }
Пример #2
0
        public static InteractableInfo AddToStage(InteractableTemplate interactable, string sceneName, String contentPackIdentifier = null)
        {
            contentPackIdentifier = contentPackIdentifier ?? Assembly.GetCallingAssembly().GetName().Name;
            var sceneNames = new List <string>();

            sceneNames.Add(sceneName);
            return(AddToStages(interactable, sceneNames, contentPackIdentifier));
        }
Пример #3
0
 public InteractableInfo(DirectorCard directorCard, Category category, List <string> scenes, InteractableTemplate template, bool multiplayerOnly, int minimumCount)
 {
     this.directorCard    = directorCard;
     this.category        = category;
     this.scenes          = scenes;
     this.template        = template;
     this.multiplayerOnly = multiplayerOnly;
     this.minimumCount    = minimumCount;
 }
Пример #4
0
        public static DirectorCard GenerateDirectorCard(InteractableTemplate interactable, SpawnCard spawnCard)
        {
            var interactableDirectorCard = new DirectorCard();

            interactableDirectorCard.spawnCard       = spawnCard;
            interactableDirectorCard.selectionWeight = interactable.selectionWeight;
            interactableDirectorCard.spawnDistance   = interactable.spawnDistance;
            //interactableDirectorCard.allowAmbushSpawn = interactable.allowAmbushSpawn;
            interactableDirectorCard.preventOverhead         = interactable.preventOverhead;
            interactableDirectorCard.minimumStageCompletions = interactable.minimumStageCompletions;
            interactableDirectorCard.requiredUnlockableDef   = interactable.requiredUnlockableDef;
            interactableDirectorCard.forbiddenUnlockableDef  = interactable.forbiddenUnlockableDef;

            return(interactableDirectorCard);
        }
Пример #5
0
        public static InteractableInfo AddToStages(InteractableTemplate interactable, List <string> sceneNames, String contentPackIdentifier = null)
        {
            contentPackIdentifier = contentPackIdentifier ?? Assembly.GetCallingAssembly().GetName().Name;
            var spawnCard = GenerateSpawnCard(interactable);
            var interactableDirectorCard = GenerateDirectorCard(interactable, spawnCard);

            InteractableInfo info = new InteractableInfo(interactableDirectorCard, interactable.interactableCategory, sceneNames, interactable, interactable.multiplayerOnly, interactable.minimumCount);

            if (interactable.interactablePrefab.GetComponent <NetworkIdentity>())
            {
                NetworkedPrefabs.Add(interactable.interactablePrefab, contentPackIdentifier);
            }

            registeredInteractables.Add(info);

            return(info);
        }
Пример #6
0
        public static InteractableSpawnCard GenerateSpawnCard(InteractableTemplate interactable)
        {
            var interactableSpawnCard = ScriptableObject.CreateInstance <InteractableSpawnCard>();

            interactableSpawnCard.prefab                                = interactable.interactablePrefab;
            interactableSpawnCard.sendOverNetwork                       = interactable.sendOverNetwork;
            interactableSpawnCard.hullSize                              = interactable.hullSize;
            interactableSpawnCard.nodeGraphType                         = interactable.nodeGraphType;
            interactableSpawnCard.requiredFlags                         = interactable.requiredFlags;
            interactableSpawnCard.forbiddenFlags                        = interactable.forbiddenFlags;
            interactableSpawnCard.directorCreditCost                    = interactable.directorCreditCost;
            interactableSpawnCard.occupyPosition                        = interactable.occupyPosition;
            interactableSpawnCard.eliteRules                            = interactable.eliteRules;
            interactableSpawnCard.orientToFloor                         = interactable.orientToFloor;
            interactableSpawnCard.slightlyRandomizeOrientation          = interactable.slightlyRandomizeOrientation;
            interactableSpawnCard.skipSpawnWhenSacrificeArtifactEnabled = interactable.skipSpawnWhenSacrificeArtifactEnabled;

            return(interactableSpawnCard);
        }
Пример #7
0
 public static InteractableInfo AddToStages(InteractableTemplate interactable, List <string> sceneNames)
 {
     return(AddToStages(interactable, sceneNames, Assembly.GetCallingAssembly().GetName().Name));
 }
Пример #8
0
 public static InteractableInfo AddToStage(InteractableTemplate interactable, string sceneName)
 {
     return(AddToStage(interactable, sceneName, Assembly.GetCallingAssembly().GetName().Name));
 }