コード例 #1
0
 void Awake()
 {
     if (PlayerSpawnerInstance == null)
     {
         PlayerSpawnerInstance = this;
     }
 }
コード例 #2
0
 private void Awake()
 {
     HasJoined        = false;
     _playerSpawner   = FindObjectOfType <PlayerSpawner>();
     _blockSpawner    = FindObjectOfType <PlayerSelectBlockSpawner>();
     _colorController = FindObjectOfType <PlayerSelectColorController>();
 }
コード例 #3
0
        public void Setup()
        {
            go                         = new GameObject();
            client                     = go.AddComponent <NetworkClient>();
            server                     = go.AddComponent <NetworkServer>();
            spawner                    = go.AddComponent <PlayerSpawner>();
            sceneManager               = go.AddComponent <NetworkSceneManager>();
            serverObjectManager        = go.AddComponent <ServerObjectManager>();
            clientObjectManager        = go.AddComponent <ClientObjectManager>();
            spawner.sceneManager       = sceneManager;
            sceneManager.client        = client;
            sceneManager.server        = server;
            serverObjectManager.server = server;
            clientObjectManager.client = client;
            clientObjectManager.networkSceneManager = sceneManager;
            spawner.client = client;
            spawner.server = server;
            spawner.serverObjectManager = serverObjectManager;
            spawner.clientObjectManager = clientObjectManager;

            playerPrefab = new GameObject();
            NetworkIdentity playerId = playerPrefab.AddComponent <NetworkIdentity>();

            spawner.playerPrefab = playerId;

            pos1 = new GameObject().transform;
            pos2 = new GameObject().transform;
            spawner.startPositions.Add(pos1);
            spawner.startPositions.Add(pos2);
        }
コード例 #4
0
ファイル: Activator.cs プロジェクト: symbol24/ProjectJuice
    void Awake()
    {
        if (_Canvas != null && !_Canvas.gameObject.activeInHierarchy)
        {
            _Canvas.gameObject.SetActive(true);
        }
        else if (_Canvas == null)
        {
            Debug.LogError("Scene " + Application.loadedLevel + " can't find a Canvas, is this normal?");
        }


        if (_Loader != null && !_Loader.gameObject.activeInHierarchy)
        {
            _Loader.gameObject.SetActive(true);
        }
        else if (_Loader == null)
        {
            Debug.LogError("Scene " + Application.loadedLevel + " can't find a Loader, is this normal?");
        }


        _spawner = FindObjectOfType <PlayerSpawner>();
        if (_spawner != null && _Loader != null)
        {
            _spawner.SubscribeToEvents(_Loader);
            _Loader.SubscribeToEvents(_spawner);
        }
    }
コード例 #5
0
    public static void RestartRound()
    {
        PlayerSpawner.RespawnPlayers();

        //respawn weapons
        instance.countdown.StartCountdown();
    }
コード例 #6
0
    public static void InitializeRound(List <PlayerInfo> playersToSpawn)
    {
        PlayerSpawner.SpawnPlayers(playersToSpawn);

        //spawn weapons
        instance.countdown.StartCountdown();
    }
コード例 #7
0
        private void Init()
        {
            var playerTransform = Locator.GetPlayerTransform();

            _playerResources = playerTransform.GetComponent <PlayerResources>();
            _spaceSuit       = playerTransform.GetComponentInChildren <PlayerSpacesuit>(true);
            _playerSpawner   = FindObjectOfType <PlayerSpawner>();
            _fluidDetector   = Locator.GetPlayerCamera().GetComponentInChildren <FluidDetector>();

            var shipTransform = Locator.GetShipTransform();

            if (shipTransform != null)
            {
                _shipComponents    = shipTransform.GetComponentsInChildren <ShipComponent>();
                _hatchController   = shipTransform.GetComponentInChildren <HatchController>();
                _cockpitController = shipTransform.GetComponentInChildren <ShipCockpitController>();
                _shipBody          = Locator.GetShipBody();
                _shipSpawnPoint    = GetSpawnPoint(true);

                // Move debug spawn point to initial ship position.
                _playerSpawnPoint = GetSpawnPoint();
                _shipSpawnPoint.transform.position = shipTransform.position;
                _shipSpawnPoint.transform.rotation = shipTransform.rotation;
            }

            _deathHandler = new MessageHandler <DeathMessage>();
            _deathHandler.OnServerReceiveMessage += OnServerReceiveMessage;
            _deathHandler.OnClientReceiveMessage += OnClientReceiveMessage;
        }
コード例 #8
0
        private void HandleSpawnedPlayerRemoved()
        {
            int?teamIndexLeft = null;

            for (int i = 0; i < teams_.Length; i++)
            {
                HashSet <Player> team      = teams_[i];
                bool             teamAlive = team.Any(p => PlayerSpawner.IsAlive(p));
                if (teamAlive)
                {
                    // if multiple teams still alive
                    if (teamIndexLeft != null)
                    {
                        return;
                    }

                    teamIndexLeft = i;
                }
            }

            Finish();
            // possible that no teams are left alive
            if (teamIndexLeft != null)
            {
                foreach (Player player in teams_[(int)teamIndexLeft].Where(p => PlayerSpawner.IsAlive(p)))
                {
                    PlayerScores.IncrementPendingScoreFor(player);
                }
            }
        }
コード例 #9
0
        protected override void Activate()
        {
            CleanupGhostModeAddOns();
            PlayerSpawner.SpawnAllPlayers();

            List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>();

            foreach (Player player in RegisteredPlayers.AllPlayers)
            {
                icons.Add(GameModeIntroView.Icon.Player);
                icons.Add(GameModeIntroView.Icon.Swords);
            }
            icons.RemoveLast();

            GameModeIntroView.Show(DisplayTitle, icons);

            foreach (BattlePlayer battlePlayer in PlayerSpawner.AllSpawnedBattlePlayers)
            {
                ghostModeAddOns_[battlePlayer] = new GhostModePlayerAddOn(battlePlayer);
            }

            PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved;
            BattlePlayerInputDash.OnPlayerDash   += HandlePlayerDash;
            GameNotifications.OnBattlePlayerShotLaser.AddListener(HandlePlayerShotLaser);
        }
コード例 #10
0
ファイル: TagGameMode.cs プロジェクト: shuaibimran/laserbeak
        protected override void Activate()
        {
            AIIdleState.SetShouldCheckDashAttackPredicate(ShouldBattlePlayerDashAttack);
            PlayerSpawner.SpawnAllPlayers();

            List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>();

            foreach (Player player in RegisteredPlayers.AllPlayers)
            {
                icons.Add(GameModeIntroView.Icon.Player);
                icons.Add(GameModeIntroView.Icon.Swords);
            }
            icons.RemoveLast();

            BattlePlayerHealth.LaserDamage      = 0;
            InGameConstants.AllowChargingLasers = false;

            // NOTE (darren): avoid showing shields to have less visual noise with exploding object
            InGameConstants.ShowShields = false;

            GameModeIntroView.Show(DisplayTitle, icons, onFinishedCallback: () => {
                SetItPlayer(PlayerSpawner.AllSpawnedBattlePlayers.Random());
            });

            GameNotifications.OnBattlePlayerLaserHit.AddListener(HandleBattlePlayerHit);
            PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved;
        }
コード例 #11
0
        public void Init()
        {
            var playerTransform = Locator.GetPlayerTransform();

            _playerResources = playerTransform.GetComponent <PlayerResources>();
            _spaceSuit       = playerTransform.GetComponentInChildren <PlayerSpacesuit>(true);
            _playerSpawner   = FindObjectOfType <PlayerSpawner>();
            _fluidDetector   = Locator.GetPlayerCamera().GetComponentInChildren <FluidDetector>();

            var shipTransform = Locator.GetShipTransform();

            if (shipTransform == null)
            {
                return;
            }
            _shipComponents    = shipTransform.GetComponentsInChildren <ShipComponent>();
            _hatchController   = shipTransform.GetComponentInChildren <HatchController>();
            _cockpitController = shipTransform.GetComponentInChildren <ShipCockpitController>();
            _shipBody          = Locator.GetShipBody();
            _shipSpawnPoint    = GetSpawnPoint(true);

            // Move debug spawn point to initial ship position.
            _playerSpawnPoint = GetSpawnPoint();
            _shipSpawnPoint.transform.position = shipTransform.position;
            _shipSpawnPoint.transform.rotation = shipTransform.rotation;
        }
コード例 #12
0
    void Start()
    {
        DontDestroyOnLoad(this);

        SceneManager.sceneLoaded += SetUpNewLevel;

        //references to player scripts
        GameObject playerObj = FindObjectOfType <Player>().gameObject;

        player      = playerObj.GetComponent <Player>();
        playerInput = playerObj.GetComponent <PlayerInput>();

        //cameraController = FindObjectOfType<CameraController>();
        playerSpawner = FindObjectOfType <PlayerSpawner>();

        //hitManager is child 0
        //projectileManager child 1
        //FXmanager child 2
        //levelManager child 3
        //hitManager = transform.GetChild(0).GetComponent<HitManager>();
        //projectileManager = transform.GetChild(1).GetComponent<ProjectileManager>();
        //effectsManager = transform.GetChild(2).GetComponent<ManagerFX>();
        //levelManager = transform.GetChild(3).GetComponent<LevelManager>();
        //AIManager = transform.GetChild(4).GetComponent<AIManager>();
    }
コード例 #13
0
    private void OnEnable()
    {
        playerSpawner = GameObject.FindGameObjectWithTag("PlayerSpawner").GetComponent <PlayerSpawner>();
        image.sprite  = item.icon;
        image.color   = item.color;
        if (playerSpawner.ChosenPlayerItem == item)
        {
            chosenImage.enabled = true;
        }
        else
        {
            chosenImage.enabled = false;
        }
        Debug.Log($"{item.isOwned}");

        if (item.isOwned)
        {
            SetAlpha(1.0f);
            priceText.text = "Owned";
        }
        else
        {
            SetAlpha(0.4f);
            priceText.text = item.price.ToString();
        }
    }
コード例 #14
0
        protected virtual void Awake()
        {
            if (gameObject.scene.name.ToLower() != "master")
            {
                current = this;
            }
            if (!playerStart)
            {
                PlayerSpawner playerSpawner = GameObject.FindObjectOfType <PlayerSpawner>();
                if (playerSpawner)
                {
                    playerStart = playerSpawner.transform;
                }
            }
#if DUNGEN
            dungeonNavMeshAdapter = this.GetComponentInChildren <UnityNavMeshAdapter>();
            if (dungeonNavMeshAdapter)
            {
                // Prevent Unity to crash when generating dungeon
                dungeonNavMeshAdapter.enabled = false;
            }
            dungeonGenerator = this.GetComponentInChildren <RuntimeDungeon>();
            if (dungeonGenerator)
            {
                dungeonGenerator.Generator.OnGenerationStatusChanged += OnGenerationStatusChanged;
                GenerateDungeon();
            }
#endif
        }
コード例 #15
0
ファイル: GenerateItems.cs プロジェクト: igorawratu/smcd
    public void playerDied(KeyCode _tag, Color _col, GameObject lastCollision)
    {
        GameObject    wc       = GameObject.Find("WinnerChecker");
        WinnerChecker wcscript = wc.GetComponent <WinnerChecker>();

        if (lastCollision != null && lastCollision.tag == "deadplayer" && wcscript.getNumPlayersActive() > 1)
        {
            KeyCode    rpk;
            Color      rpc;
            DeadPlayer rpscript = lastCollision.GetComponent <DeadPlayer>();
            rpscript.getInfo(out rpk, out rpc);
            DeadPlayerInfo respawnPlayerInfo = new DeadPlayerInfo(rpk, rpc);
            if (!mDeadPlayers.Contains(respawnPlayerInfo))
            {
                obstaclePrefabs.Add(deadPlayer);
            }
            else
            {
                mDeadPlayers.Remove(respawnPlayerInfo);
                GameObject    ps       = GameObject.Find("PlayerSpawner");
                PlayerSpawner psscript = ps.GetComponent <PlayerSpawner>();
                psscript.respawnPlayer(rpk, rpc);
            }

            mDeadPlayers.Add(new DeadPlayerInfo(_tag, _col));
        }
        else
        {
            mDeadPlayers.Add(new DeadPlayerInfo(_tag, _col));
            obstaclePrefabs.Add(deadPlayer);
        }
    }
コード例 #16
0
        void ParseForServerMode()
        {
            if (!string.IsNullOrEmpty(GetArg("-server")))
            {
                var serverGo = new GameObject($"Server", typeof(NetworkServer), typeof(ServerObjectManager), typeof(NetworkSceneManager), typeof(PlayerSpawner));

                server = serverGo.GetComponent <NetworkServer>();
                server.MaxConnections = 9999;
                server.Transport      = transport;
                serverObjectManager   = serverGo.GetComponent <ServerObjectManager>();

                NetworkSceneManager networkSceneManager = serverGo.GetComponent <NetworkSceneManager>();
                networkSceneManager.Server = server;

                serverObjectManager.Server = server;
                serverObjectManager.NetworkSceneManager = networkSceneManager;
                serverObjectManager.Start();

                PlayerSpawner spawner = serverGo.GetComponent <PlayerSpawner>();
                spawner.PlayerPrefab        = PlayerPrefab.GetComponent <NetworkIdentity>();
                spawner.ServerObjectManager = serverObjectManager;
                spawner.Server = server;

                server.Started.AddListener(OnServerStarted);
                server.Authenticated.AddListener(conn => serverObjectManager.SetClientReady(conn));
                _ = server.ListenAsync();
                Console.WriteLine("Starting Server Only Mode");
            }
        }
コード例 #17
0
 // Use this for initialization
 private void Awake()
 {
     m_PlayerSpawnerBeh = m_PlayerSpawner.GetComponent <PlayerSpawner>();
     m_InputManagerBeh  = m_InputManager.GetComponent <InputManager>();
     m_CamBeh           = m_Camera.GetComponent <CameraBeh>();
     if (m_NumPlayers == -1)
     {
         m_NumPlayers = 1;
     }
     m_InfoToRead = FindObjectOfType <InfoPasser>();
     if (m_InfoToRead != null)
     {
         m_NumPlayers = m_InfoToRead.MyInfo.GetNumPlayers();
         m_HowToPlay  = m_InfoToRead.MyInfo.GetHowToPlay();
     }
     else
     {
         m_NumPlayers = (int)1;
         m_HowToPlay  = InfoPasser.Controls.OneXbox;
     }
     if (m_NumPlayers == 1 && m_HowToPlay == InfoPasser.Controls.OneKeyboard)
     {
         SinglePlayerController = false;
     }
 }
コード例 #18
0
ファイル: SpawnManager.cs プロジェクト: talford2/SpaceX
 public static void AddSpawner(PlayerSpawner spawner)
 {
     if (_spawners==null)
         _spawners = new List<PlayerSpawner>();
     if (!_spawners.Contains(spawner))
         _spawners.Add(spawner);
 }
コード例 #19
0
        async UniTask StartClient(int i, string networkAddress)
        {
            var                 clientGo            = new GameObject($"Client {i}", typeof(NetworkClient), typeof(ClientObjectManager), typeof(PlayerSpawner), typeof(NetworkSceneManager));
            NetworkClient       client              = clientGo.GetComponent <NetworkClient>();
            ClientObjectManager objectManager       = clientGo.GetComponent <ClientObjectManager>();
            PlayerSpawner       spawner             = clientGo.GetComponent <PlayerSpawner>();
            NetworkSceneManager networkSceneManager = clientGo.GetComponent <NetworkSceneManager>();

            networkSceneManager.Client = client;

            objectManager.Client = client;
            objectManager.NetworkSceneManager = networkSceneManager;
            objectManager.Start();
            objectManager.RegisterPrefab(MonsterPrefab.GetComponent <NetworkIdentity>());
            objectManager.RegisterPrefab(PlayerPrefab.GetComponent <NetworkIdentity>());

            spawner.Client              = client;
            spawner.PlayerPrefab        = PlayerPrefab.GetComponent <NetworkIdentity>();
            spawner.ClientObjectManager = objectManager;
            spawner.SceneManager        = networkSceneManager;

            client.Transport = transport;

            try
            {
                await client.ConnectAsync(networkAddress);
            }
            catch (Exception ex)
            {
                Debug.LogException(ex);
            }
        }
コード例 #20
0
    private void Awake()
    {
        if (_instance == null)
        {
            _instance = this;
            DontDestroyOnLoad(this.gameObject);
            SceneManager.sceneLoaded += OnSceneLoaded;
            player         = FindObjectOfType <PlayerSpawner>();
            cineCam        = FindObjectOfType <CinemachineVirtualCamera>();
            courageBar     = FindObjectOfType <CourageBar>();
            playerStartPos = player.transform.position;
            //Invoke ExitScene.cs
            LevelEvent.onChangeScene.AddListener(OnEnteredExitTrigger);

            //couragebar.cs
            LevelEvent.onVictory.AddListener(ShowVictoryScreen);
            LevelEvent.onDefeat.AddListener(ShowDefeatScreen);
            LevelEvent.gotMaxCourage.AddListener(ShowVictoryScreen);

            //finalText.cs
            LevelEvent.onReplay.AddListener(StartReplay);
        }
        else
        {
            Destroy(this.gameObject);
        }
    }
コード例 #21
0
    // Update is called once per frame
    void Update()
    {
        Vector2 pos           = transform.position;
        Vector2 cameraLeftPos = Camera.main.ScreenToWorldPoint(new Vector2(0, 0));

        if (pos.x < cameraLeftPos.x)
        {
            PlayerMovement pm = gameObject.GetComponent <PlayerMovement>();

            GameObject    winnerChecker = GameObject.Find("WinnerChecker");
            WinnerChecker script        = winnerChecker.GetComponent <WinnerChecker>();
            script.removePlayer(gameObject.name, pm);

            GameObject    itemGenerator = GameObject.Find("ItemGenerator");
            GenerateItems igScript      = itemGenerator.GetComponent <GenerateItems>();

            PlayerCollision pc = gameObject.GetComponent <PlayerCollision>();

            GameObject    playerSpawner = GameObject.Find("PlayerSpawner");
            PlayerSpawner psScript      = playerSpawner.GetComponent <PlayerSpawner>();

            psScript.registerInactivePlayer(gameObject, pm.playerKey);

            igScript.playerDied(pm.playerKey, gameObject.GetComponent <PlayerMovement>().playerColour, pc.getLastCollidedObstacle());

            gameObject.SetActive(false);
            Instantiate(bloodEffect,
                        new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, bloodEffect.transform.position.z),
                        bloodEffect.transform.rotation);
            RandomShake.randomShake.PlayShakeX();

            //Instantiate(deathSoundObject,transform.position,transform.rotation);
            LevelSounds.inst.playDeath(gameObject.transform.position);
        }
    }
コード例 #22
0
    void Start()
    {
        // Using Strategy Pattern: to create a component that takes in the the stores the sprite render in the component only if its null
        correctlayer = gameObject.layer;
        spriteRend   = GetComponent <SpriteRenderer>();

        if (spriteRend == null)
        {
            spriteRend = transform.GetComponentInChildren <SpriteRenderer>();
            if (spriteRend == null)
            {
                Debug.LogError("Object" + gameObject.name + "has no spring renderer");
            }
        }
        // Using Strategy Pattern: to create gameobject that takes in the gamecontroller everytime the mini game starts and storing it in a private variable instead(encaplustion)
        GameObject gameControllerObject = GameObject.FindWithTag("GameController");

        if (gameControllerObject != null)
        {
            gameController = gameControllerObject.GetComponent <PlayerSpawner>();
        }
        if (gameController == null)
        {
            Debug.Log("Cannot Find player spawner script");
        }
    }
コード例 #23
0
ファイル: TankHealth.cs プロジェクト: mabry1985/TankCommander
    private void OnDeath()
    {
        dead = true;

        m_ExplosionParticles.transform.position = transform.position;
        m_ExplosionParticles.gameObject.SetActive(true);

        m_ExplosionParticles.Play();
        m_ExplosionAudio.Play();

        if (gameObject.name.Contains("Player"))
        {
            GameObject    playerSpawnerObj = GameObject.Find("PlayerSpawner");
            PlayerSpawner playerSpawner    = playerSpawnerObj.GetComponent <PlayerSpawner>();
            gameObject.SetActive(false);
            GameObject  gameManagerObject = GameObject.Find("GameManager");
            GameManager gameManager       = gameManagerObject.GetComponent <GameManager>();
            if (gameManager.coinCount >= 5)
            {
                gameManager.coinCount -= 5;
            }

            playerSpawner.SpawnPlayer();
        }

        if (!gameObject.name.Contains("Player"))
        {
            gameObject.GetComponent <TankAI>().StopFiring();
            Instantiate(coinPrefab, transform.position + new Vector3(0, 1, 0), Quaternion.identity);
            gameObject.SetActive(false);
        }
    }
コード例 #24
0
    void Start()
    {
        playerSpawner      = GameObject.FindGameObjectWithTag("PlayerCreator").GetComponent <PlayerSpawner>();
        backgroundMovement = GameObject.FindGameObjectWithTag("Background").GetComponent <BackgroundMovement>();

        SetVisibility(false);
    }
コード例 #25
0
    /// <summary>
    /// /// Called when the local player object has been set up.
    /// </summary>
    public override void OnStartLocalPlayer()
    {
        base.OnStartLocalPlayer();
        PlayerSpawner = GetComponent <PlayerSpawner>();

        OnPlayerInstance?.Invoke(this);
    }
コード例 #26
0
    // Use this for initialization
    public void Start()
    {
        bc = GetComponent <BaseController> ();
        if (bc == null)
        {
            Debug.LogError("Base Controller is null");
        }

        ps = GameObject.FindObjectOfType <PlayerSpawner> ();
        if (ps == null)
        {
            Debug.LogError("Player Spawner is null");
        }

        tm = GameObject.FindObjectOfType <TextManager> ();
        if (tm == null)
        {
            Debug.LogError("Text Manager is null");
        }

        hitPoints     = bc.GetHealth();
        currentPoints = hitPoints;

        // @DEBUG(sdsmith): Add entry to debug overlay
        DebugOverlay.AddAttr("Max health", hitPoints.ToString());
        DebugOverlay.AddAttr("Current health", currentPoints.ToString());
    }
コード例 #27
0
        // PRAGMA MARK - Internal
        protected override void Activate()
        {
            PlayerSpawner.SpawnAllPlayers();

            List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>();

            foreach (Player player in RegisteredPlayers.AllPlayers)
            {
                icons.Add(GameModeIntroView.Icon.Player);
                icons.Add(GameModeIntroView.Icon.Swords);
            }
            icons.RemoveLast();

            BattlePlayerHealth.LaserDamage         = 0;
            BattlePlayerHealth.KnockbackMultiplier = 0.1f;

            GameModeIntroView.Show(DisplayTitle, icons);

            foreach (Player player in RegisteredPlayers.AllPlayers.Where(p => p.IsAI))
            {
                BattlePlayer battlePlayer = PlayerSpawner.GetBattlePlayerFor(player);
                battlePlayer.Rigidbody.constraints |= RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ;
            }

            PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved;
        }
コード例 #28
0
    public void Begin()
    {
        // Reset all the values
        delay             = 0;
        mazeGridGenerator = null;
        playerSpawner     = null;
        currentCell       = null;
        newStartCell      = null;
        directedCells     = new Dictionary <GameObject, Direction>();
        remaining         = new List <GameObject>();
        foundMaze         = false;

        mazeGridGenerator = GetComponent <MazeGridGenerator>();
        playerSpawner     = GetComponent <PlayerSpawner>();

        delay = MazeInput.Instance.Delay;

        foreach (KeyValuePair <GameObject, Cell> pair in mazeGridGenerator.MazeCells)
        {
            // We need to add all the cells into the remaining list to loop through
            remaining.Add(mazeGridGenerator.MazeCells[pair.Key].gameObject);
        }

        // Start generating the maze
        if (currentSolve != null)
        {
            StopCoroutine(currentSolve);
        }

        currentSolve = SolveMaze(delay);
        StartCoroutine(currentSolve);
    }
コード例 #29
0
    public void Begin()
    {
        // Reset all the values
        delay             = 0;
        mazeGridGenerator = null;
        playerSpawner     = null;
        currentCell       = null;
        cells             = new Dictionary <GameObject, Cell>();
        walls             = new List <GameObject>();

        mazeGridGenerator = GetComponent <MazeGridGenerator>();
        playerSpawner     = GetComponent <PlayerSpawner>();

        delay = MazeInput.Instance.Delay;
        cells = mazeGridGenerator.MazeCells;

        foreach (KeyValuePair <GameObject, Cell> pair in cells)
        {
            // We also need to inject the dictionary with all the cells into every cell to find neighbours
            cells[pair.Key].MazeCells = cells;
        }

        // Start generating the maze
        if (currentSolve != null)
        {
            StopCoroutine(currentSolve);
        }

        currentSolve = SolveMaze(delay);
        StartCoroutine(currentSolve);
    }
コード例 #30
0
ファイル: RoomBuilder.cs プロジェクト: oclipa/TheMorningAfter
    private void Update()
    {
        if (isGameOver)
        {
            isGameOver = false;
            this.gameOverEvent.Invoke(GameConstants.TotalTreasures);
        }
        else if (constructNewRoom)
        {
            constructNewRoom = false;

            this.currentRoom.Visited = true;

            // now create the scoreboard
            ConstructScoreBoard();

            // now rebuild room from scratch
            ConstructRoomContents();

            // spawn the player at the correct state position
            PlayerSpawner.SpawnNewPlayer(this.nextStartPosition);

            UnityEngine.Object.Instantiate(Resources.Load("ScoreBoard/MapCanvas"));

            // start the background music
            PlayMusic();
        }
    }
コード例 #31
0
    private void FixedUpdate()
    {
        // if player has lost a life, blank the screen for the timer period
        // and then respawn the player.
        if (died)
        {
            if (!isBlank)
            {
                deathTimer.Run();
                Color color = blankScreen.color;
                color.a           = 255f;
                blankScreen.color = color;
                isBlank           = true;
            }

            if (deathTimer.Finished)
            {
                died = false;
                Color color = blankScreen.color;
                color.a           = 0f;
                blankScreen.color = color;
                isBlank           = false;
                PlayerSpawner.SpawnNewPlayer(RestartPosition);
            }
        }
    }
コード例 #32
0
ファイル: HFTGamepadHelper.cs プロジェクト: hubatish/hftMaze
 void Awake()
 {
     if (s_helper != null)
     {
         throw new System.InvalidProgramException("there is more than one HFTGamepadHelper component!");
     }
     s_helper = this;
     playerSpawner = GetComponent<PlayerSpawner>();
 }
コード例 #33
0
 void Awake()
 {
     if (s_settings != null)
     {
         throw new System.InvalidProgramException("there is more than one level settings object!");
     }
     s_settings = this;
     playerSpawner = GetComponent<PlayerSpawner>();
 }
コード例 #34
0
ファイル: GameManager.cs プロジェクト: MiloBuwalda/wizard
	void Start(){
		movementManager = 	GetComponent<MovementManager> ();
		playerSpawner = 	GetComponent<PlayerSpawner> ();
		player = 			GetComponent<Player> ();
		elementSpawner = 	GetComponent<ElementSpawner> ();
		spellSpawner = 		GetComponent<SpellSpawner> ();
		shieldSpawner = 	GetComponent<ShieldSpawner> ();
		audioManager = 		GetComponent<AudioManager> ();
	}
コード例 #35
0
ファイル: PlayerSpawner.cs プロジェクト: ZaikMD/ImagineNation
    void Awake()
    {
        //if theres another instance (there shouldnt be) destroy this
        if(Instance != null && Instance != this)
        {
            //destroy all other instances
            Destroy(gameObject);
        }

        //set the instance
        Instance = this;
    }
コード例 #36
0
    void Awake()
    {
        if (s_settings != null)
        {
            throw new System.InvalidProgramException("there is more than one level settings object!");
        }
        s_settings = this;

        HFTArgParser p = new HFTArgParser();
        p.TryGet<int>("hft-numgames", ref numGames);

        m_playerSpawner = GetComponent<PlayerSpawner>();
    }
コード例 #37
0
	void Start ()
	{	
		playerSpawner = FindObjectOfType<PlayerSpawner>();

		initialHealth = playerHealth;
		float zDistance = transform.position.z - Camera.main.transform.position.z;
		Vector3 leftMost = Camera.main.ViewportToWorldPoint(new Vector3(0,0,zDistance));
		Vector3 rightMost = Camera.main.ViewportToWorldPoint(new Vector3(1,0,zDistance));
		healthbar = GameObject.Find("GreenBar");

		minX = leftMost.x + padding;
		maxX = rightMost.x - padding;
	}
コード例 #38
0
ファイル: Activator.cs プロジェクト: symbol24/ProjectJuice
    void Awake()
    {
        if (_Canvas != null && !_Canvas.gameObject.activeInHierarchy) _Canvas.gameObject.SetActive(true);
        else if (_Canvas == null) Debug.LogError("Scene " + Application.loadedLevel + " can't find a Canvas, is this normal?");

        if (_Loader != null && !_Loader.gameObject.activeInHierarchy) _Loader.gameObject.SetActive(true);
        else if (_Loader == null) Debug.LogError("Scene " + Application.loadedLevel + " can't find a Loader, is this normal?");

        _spawner = FindObjectOfType<PlayerSpawner>();
        if (_spawner != null && _Loader != null)
        {
            _spawner.SubscribeToEvents(_Loader);
            _Loader.SubscribeToEvents(_spawner);
        }
    }
コード例 #39
0
ファイル: GameManager.cs プロジェクト: Ghust1995/inkrunner
    void Start()
    {
        state = GameState.PLAYING;

        inputManager = gameObject.AddComponent<InputManager>();
        spawner = gameObject.AddComponent<PlayerSpawner>();
        player = spawner.Spawn();

        cameraManager = new CameraManager();
        inkBucket = new InkBucket();
        lineCreator = LineCreator.Create(inkBucket);

        ballSpawner = new BallSpawner();
        ballSpawner.Initialize();

        CreateBackground();
    }
コード例 #40
0
 public void SubscribeToEvents(PlayerSpawner toSub)
 {
     if (!_isSubscribed)
     {
         if (toSub != null)
         {
             toSub.SpawnDone += M_spawner_SpawnDone;
             _isSubscribed = true;
         }
     }
 }
コード例 #41
0
    private void GetObjects()
    {
        m_MenuControls = FindObjectOfType<MenuControls>();
        if (m_MenuControls == null) Debug.LogError("Loading Screen cannot find  Menu control object in scene.");

        _delayManager = GetComponent<DelayManager>();
        if (_delayManager == null) Debug.LogError("No delay manager found on loading screen");

        if (_tipScreenGameObject == null) Debug.LogError("Loading screen is missing the tip screen game object.");
        else
        {
            _tipScreenSprite = _tipScreenGameObject.GetComponent<SpriteRenderer>();
            SetRandomColor();
        }

        _animator = GetComponent<Animator>();
        if (_animator == null) Debug.LogError("Loading Screen is missing its animator. PANIC!");

        if (_isGameplayScene)
        {
            m_spawner = FindObjectOfType<PlayerSpawner>();
            if (m_spawner == null) Debug.LogError("Loading Screen cannot find player spawner. Is this a gameplay scene? If yes, set the IsGameplayScene to true.");
            else SubscribeToEvents(m_spawner);
        }
    }
コード例 #42
0
ファイル: SpawnManager.cs プロジェクト: talford2/SpaceX
 public static void RemoveSpawner(PlayerSpawner spawner)
 {
     _spawners.Remove(spawner);
 }
コード例 #43
0
ファイル: Frog.cs プロジェクト: hectoram/CS113
    void Start()
    {
        menuObject = GameObject.FindGameObjectWithTag ("Menus");
        menu = menuObject.GetComponent<GameOverScript> ();
        gameUI = menuObject.GetComponent<GameUI>();

        networking = GameObject.FindGameObjectWithTag("Networking");
        clientManager = networking.GetComponent<ClientScript>();

        spawner = GameObject.FindGameObjectWithTag("Spawner");
        playerSpawner = spawner.GetComponent<PlayerSpawner>();

        currentPosition = transform.position;
    }
コード例 #44
0
 void Awake()
 {
     instance = this;
 }
コード例 #45
0
ファイル: PositionManager.cs プロジェクト: hectoram/CS113
 // Use this for initialization
 void Start()
 {
     spawner = GameObject.FindGameObjectWithTag("Spawner");
     playerSpawner = spawner.GetComponent<PlayerSpawner>();
 }