public BriefCaseController(Vector3 nodePos, InteractableManager interactableManager
                                   , InteractableView briefCasePrefab)
        {
            this.interactableManager = interactableManager;
            GameObject briefCase = GameObject.Instantiate <GameObject>(briefCasePrefab.gameObject);

            interactableView = briefCase.GetComponent <BriefCaseView>();
            interactableView.transform.position = nodePos;
        }
Exemple #2
0
        public DualGunInteractableController(Vector3 nodePos, InteractableManager interactableManager
                                             , InteractableView dualGunPrefab)
        {
            this.interactableManager = interactableManager;
            GameObject dualGun = GameObject.Instantiate <GameObject>(dualGunPrefab.gameObject);

            interactableView = dualGun.GetComponent <DualGunInteractableView>();
            interactableView.transform.position = nodePos;
        }
Exemple #3
0
        public GuardUniformController(Vector3 nodePos, InteractableManager interactableManager
                                      , InteractableView guardUniformPrefab, EnemyType enemyType)
        {
            this.currentEnemyType    = enemyType;
            this.interactableManager = interactableManager;
            GameObject guardUniform = GameObject.Instantiate <GameObject>(guardUniformPrefab.gameObject);

            interactableView = guardUniform.GetComponent <GuardUniformView>();
            interactableView.SetController(this);
            interactableView.transform.position = nodePos;
        }
Exemple #4
0
        public SniperController(Vector3 nodePos, InteractableManager interactableManager, InteractableView sniperPrefab)
        {
            this.interactableManager = interactableManager;
            GameObject sniper = GameObject.Instantiate <GameObject>(sniperPrefab.gameObject);

            interactableView = sniper.GetComponent <SniperView>();
            interactableView.SetController(this);
            interactableView.transform.position = nodePos;
        }
Exemple #5
0
        public KeyController(Vector3 nodePos, InteractableManager interactableManager, InteractableView keyPrefab, KeyTypes keyType)
        {
            this.interactableManager = interactableManager;
            this.keyType             = keyType;
            GameObject key = GameObject.Instantiate <GameObject>(keyPrefab.gameObject);

            interactableView = key.GetComponent <KeyView>();
            interactableView.SetController(this);
            interactableView.transform.position = nodePos;
        }
Exemple #6
0
        public AmbushPlantController(Vector3 nodePos, InteractableManager interactableManager, InteractableView ambushPlantPrefab)
        {
            this.interactableManager = interactableManager;
            GameObject anbushPlant = GameObject.Instantiate <GameObject>(ambushPlantPrefab.gameObject);

            interactableView = anbushPlant.GetComponent <AmbushPlantView>();
            interactableView.SetController(this);
            interactableView.transform.position = nodePos;
        }
        public RockInteractableController(Vector3 nodePos, InteractableManager interactableManager, InteractableView rockPrefab)
        {
            this.interactableManager = interactableManager;
            GameObject rock = GameObject.Instantiate <GameObject>(rockPrefab.gameObject);

            interactableView = rock.GetComponent <RockInteractableView>();
            interactableView.SetController(this);
            interactableView.transform.position = nodePos;
        }
        void SpawnInteractables(InteractablePickup interactablePickup, InteractableScriptableObj interactableScriptableObj)
        {
            List <int> nodeID = new List <int>();

            nodeID.Clear();
            int k = (int)interactablePickup;

            nodeID = interactableManager.GetNodeIDOfController(interactablePickup);
            switch (interactablePickup)
            {
            case InteractablePickup.NONE:
                break;

            case InteractablePickup.BREIFCASE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView briefCaseView = interactableScriptableObj.interactableItems[k]
                                                     .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController briefCaseController = new BriefCaseController(position
                                                                                         , interactableManager
                                                                                         , briefCaseView);
                    interactableManager.AddInteractable(nodeID[i], briefCaseController);
                }
                break;

            case InteractablePickup.STONE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView stoneView = interactableScriptableObj.interactableItems[k]
                                                 .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController rockController = new RockInteractableController(position
                                                                                           , interactableManager
                                                                                           , stoneView);
                    interactableManager.AddInteractable(nodeID[i], rockController);
                }
                break;

            case InteractablePickup.BONE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView boneView = interactableScriptableObj.interactableItems[k]
                                                .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController boneController = new BoneController(position
                                                                               , interactableManager
                                                                               , boneView);
                    interactableManager.AddInteractable(nodeID[i], boneController);
                }
                break;

            case InteractablePickup.SNIPER_GUN:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView sniperView = interactableScriptableObj.interactableItems[k]
                                                  .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController sniperController = new SniperController(position
                                                                                   , interactableManager
                                                                                   , sniperView);
                    interactableManager.AddInteractable(nodeID[i], sniperController);
                }
                break;

            case InteractablePickup.DUAL_GUN:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView dualGunView = interactableScriptableObj.interactableItems[k]
                                                   .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController dualGunController = new DualGunInteractableController(position
                                                                                                 , interactableManager
                                                                                                 , dualGunView);
                    interactableManager.AddInteractable(nodeID[i], dualGunController);
                }
                break;

            case InteractablePickup.COLOR_KEY:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView keyView = interactableScriptableObj.interactableItems[k]
                                               .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController keyController = new KeyController(position
                                                                             , interactableManager
                                                                             , keyView, interactableManager.ReturnPathService().GetKeyType(nodeID[i]));
                    interactableManager.AddInteractable(nodeID[i], keyController);
                }
                break;

            case InteractablePickup.AMBUSH_PLANT:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView ambushPlantView = interactableScriptableObj.interactableItems[k]
                                                       .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    InteractableController ambushPlantController = new AmbushPlantController(position
                                                                                             , interactableManager
                                                                                             , ambushPlantView);
                    interactableManager.AddInteractable(nodeID[i], ambushPlantController);
                }
                break;

            case InteractablePickup.GUARD_DISGUISE:
                for (int i = 0; i < nodeID.Count; i++)
                {
                    InteractableView guardView = interactableScriptableObj.interactableItems[k]
                                                 .interactableView;
                    Vector3 position = interactableManager.ReturnPathService()
                                       .GetNodeLocation(nodeID[i]);
                    EnemyType enemyType = interactableManager.ReturnPathService()
                                          .GetDisguise(nodeID[i]);

                    InteractableController guardController = new GuardUniformController(position
                                                                                        , interactableManager
                                                                                        , guardView
                                                                                        , enemyType);
                    interactableManager.AddInteractable(nodeID[i], guardController);
                }
                break;

            default:
                break;
            }
        }