void Awake()
 {
     if (Instance)
     {
         Destroy(gameObject);
         return;
     }
     Instance = this;
     DontDestroyOnLoad(gameObject);
     SceneManager.sceneLoaded += OnSceneLoaded;
 }
Esempio n. 2
0
    void Awake()
    {
        Instance           = this;
        inMenus            = false;
        comingFromMainMenu = false;
        roomManager        = FindObjectOfType <RoomManager>();
        RMO = FindObjectOfType <RoomManagerOffline>();
        float valueE = PlayerPrefs.GetFloat(valueNames[0], 0.5f);
        float valueM = PlayerPrefs.GetFloat(valueNames[1], 0.5f);

        Debug.Log("Cargo el valor " + valueM + " en " + valueNames[1]);
        mixer.SetFloat(valueNames[0], Mathf.Log10(valueE) * 20);
        mixer.SetFloat(valueNames[1], Mathf.Log10(valueM) * 20);
    }
Esempio n. 3
0
    private void Start()
    {
        rigidBody.drag = playerDeceleration;

        life                = maxLife;
        score               = 0;
        canShoot            = true;
        canShield           = true;
        damageable          = true;
        stunSlider.maxValue = stunTime;

        lifeText.text = "Vida: " + life;
        scoreText.GetComponent <TMPro.TextMeshProUGUI>().text = score + " pts";
        hudManager = GetComponent <HUDmanager>();
        GetBalaIndex();
        if (PhotonNetwork.IsConnected && PV.IsMine)
        {
            canvas.SetActive(true);
            mainCamera.enabled      = true;
            playerInput.enabled     = true;
            mobileCharacter.enabled = true;
            audioListener.enabled   = true;
            sAlas.Play();
        }
        if (PhotonNetwork.IsConnected && PhotonNetwork.IsMasterClient)
        {
            matchController = FindObjectOfType <MatchController>();
            matchController.AddPlayer(this);
            teamId = FindObjectOfType <RoomManager>().FindTeamIdByPlayer(PV.Owner);
            if (teamId == -1)
            {
                teamId = 0;
                Debug.Log("No se ha encontrado el teamId, se le ha añadido al equipo 0");
            }
            PV.RPC("GetSpawnpoint_RPC", RpcTarget.All, teamId);
        }
        else if (!PhotonNetwork.IsConnected)
        {
            canvas.SetActive(true);
            mainCamera.enabled      = true;
            playerInput.enabled     = true;
            mobileCharacter.enabled = true;
            RoomManagerOffline RMO = FindObjectOfType <RoomManagerOffline>();
            if (RMO.gamemodeIndex == 3)
            {
                teamId = 0;
            }
            else
            {
                teamId = RMO.jugadoresInfo[GetComponentInChildren <PlayerInput>().playerIndex + 1][1];
            }
            if (playerInput.playerIndex == 0)
            {
                audioListener.enabled = true;
            }
            matchController = FindObjectOfType <MatchController>();
            matchController.AddPlayer(this);
            spawnPoint = matchController.GetSpawnPoint(this);
            GetComponent <Transform>().position = spawnPoint.transform.position;
            hudManager.setBackground();
        }

        movementSM = new StateMachine();

        groundedState = new GroundedState(this, movementSM);
        shootingState = new ShootingState(this, movementSM);
        shieldState   = new ShieldState(this, movementSM);
        deadState     = new DeadState(this, movementSM);
        stunState     = new StunState(this, movementSM);
        feederState   = new FeederState(this, movementSM);

        movementSM.Initialize(groundedState);
    }
Esempio n. 4
0
    public virtual void Start()
    {
        startDictionary();
        if (PhotonNetwork.IsConnected)
        {
            roomManager = FindObjectOfType <RoomManager>();
            mode        = roomManager.gamemodeIndex;
            if (PhotonNetwork.IsMasterClient)
            {
                float dirX = Random.Range(-1.0f, 1.0f);
                float dirZ = Random.Range(-1.0f, 1.0f);
                float posX = Random.Range(GetFeatherSpawn().bounds.min.x, GetFeatherSpawn().bounds.max.x);
                float posZ = Random.Range(GetFeatherSpawn().bounds.min.z, GetFeatherSpawn().bounds.max.z);
                PV.RPC("SpawnCloud_RPC", RpcTarget.All, dirX, dirZ, posX, posZ);
                indiceMapa = Random.Range(0, 2);
                PV.RPC("SpawnMap_RPC", RpcTarget.All, indiceMapa);
            }
        }
        else
        {
            RMO = FindObjectOfType <RoomManagerOffline>();
            RandomizeAndSpawnMapOffline();
            mode = RMO.gamemodeIndex;
            Vector3 cloudDir = new Vector3(
                Random.Range(-1.0f, 1.0f),
                0,
                Random.Range(-1.0f, 1.0f)
                );
            Vector3 cloudPos = new Vector3(
                Random.Range(GetFeatherSpawn().bounds.min.x, GetFeatherSpawn().bounds.max.x),
                0,
                Random.Range(GetFeatherSpawn().bounds.min.z, GetFeatherSpawn().bounds.max.z)
                );
            Instantiate(cloudPrefab, cloudPos, Quaternion.LookRotation(cloudDir));
        }
        switch (mode)
        {
        case (int)modes.DEATHMATCH:
            targetScore    = 10;
            modeController = new DeathmatchController(this);
            break;

        case (int)modes.KING_OF_THE_FEEDER:
            if (PhotonNetwork.IsConnected)
            {
                PV.RPC("SpawnFeeder_RPC", RpcTarget.All);
            }
            else
            {
                Object.Instantiate(feederPrefab, feederPos.transform.position, Quaternion.identity);
            }
            targetScore    = 100;
            modeController = new KingOfTheFeederController(this);
            break;

        case (int)modes.FEATHER_HOARDER:
            for (int i = 0; i < featherSpawns.Count; i++)
            {
                featherSpawns[i].SetActive(true);
            }
            targetScore    = 20;
            modeController = new FeatherHoarderController(this);
            break;

        case (int)modes.TRAINING:
            Object.Instantiate(feederPrefab, feederPos.transform.position, Quaternion.identity);
            for (int i = 0; i < featherSpawns.Count; i++)
            {
                featherSpawns[i].SetActive(true);
            }
            targetScore    = 999999999;
            modeController = new TrainingController(this);
            break;
        }
        numFeatherSpawns = featherSpawns.Count;
    }
    public void EliminarJugador()
    {
        RoomManagerOffline RMO = FindObjectOfType <RoomManagerOffline>();

        RMO.RemovePlayer(ownerId);
    }