Пример #1
0
    private void RpcSetupPlayerOnAllClients()
    {
        if (firstSetup)
        {
            col        = this.GetComponent <Collider>();
            wasEnabled = new bool[disableOnDeath.Length];
            for (int i = 0; i < wasEnabled.Length; i++)
            {
                wasEnabled[i] = disableOnDeath[i].enabled;
            }
            playerUIObj = this.GetComponent <PlayerSetup>().GetPlayerUI();
            SetCurrentPlayerMoney(GameManager.instance.matchSettings.startPersonalMoney);
            if (playerUIObj != null)
            {
                playerUI = playerUIObj.GetComponent <PlayerUIScript>();
            }
            else
            {
                playerUI = null;
            }
            firstSetup = false;
        }

        SetDefaults();
    }
Пример #2
0
 void Awake()
 {
     rig       = GetComponent <Rigidbody2D>();
     sr        = GetComponent <SpriteRenderer>();
     hitEffect = gameObject.GetComponentInChildren <ParticleSystem>();
     playerUI  = FindObjectOfType <PlayerUIScript>();
 }
Пример #3
0
 private void Start()
 {
     ui = this.transform.parent.parent.GetComponent <PlayerUIScript>();
     if (ui == null)
     {
         Debug.LogError("No UI script found in this BuyWeaponButtonScript: " + this.name);
     }
 }
 public void TargetCreateReadyIndicators(GameObject[] connectedPlayers)
 {
     for (int i = 0; i < connectedPlayers.Length; i++)
     {
         PlayerUIScript playerUIScript = connectedPlayers[i].GetComponent <PlayerUIScript>();
         AddReadyIndicators(playerUIScript);
     }
 }
Пример #5
0
 //if all players ready, can start game
 public void CheckGameStart()
 {
     foreach (GameObject player in GameObject.FindGameObjectsWithTag("Player"))
     {
         PlayerUIScript playerUIScript = player.GetComponent <PlayerUIScript>();
         if (!playerUIScript.isReady)
         {
             return;
         }
     }
     StartGame();
 }
    private void CmdCreateReadyIndicators()
    {
        GameObject[] connectedPlayers = gm.GetPlayers();
        TargetCreateReadyIndicators(connectedPlayers);        //creating all the existing ready indicators with the array of all players

        GameObject lastPlayer = connectedPlayers[connectedPlayers.Length - 1];

        Array.Resize(ref connectedPlayers, connectedPlayers.Length - 1);
        for (int i = 0; i < connectedPlayers.Length; i++)
        {
            PlayerUIScript playerUI = connectedPlayers[i].GetComponent <PlayerUIScript>();
            playerUI.TargetCreateReadyIndicators(new GameObject[] { lastPlayer });         //adding the new player to all existing clients
        }
    }
    //generates a text and image object for a player, adds it to the list of texts and images that exist
    private void AddReadyIndicators(PlayerUIScript playerUIScript)
    {
        Text  readyText  = Instantiate(readyIndicatorTextPrefab, canvasTransform);
        Image readyImage = Instantiate(readyIndicatorImagePrefab, canvasTransform);

        Vector2 textPosition  = readyText.GetComponent <RectTransform>().anchoredPosition;
        Vector2 imagePosition = readyText.GetComponent <RectTransform>().anchoredPosition;

        textPosition.y  -= 40 * readyIndicatorTextList.Count;
        imagePosition.y -= 40 * readyIndicatorImageList.Count;
        readyText.GetComponent <RectTransform>().anchoredPosition  = textPosition;
        readyImage.GetComponent <RectTransform>().anchoredPosition = imagePosition;
        readyText.text = string.IsNullOrEmpty(playerUIScript.playerName) ? ("Player " + players.Length.ToString()) : playerUIScript.playerName;        //in case playername hasn't updated from server to client
        print("generating " + playerUIScript.playerName);
        readyImage.sprite = playerUIScript.isReady?readySprite:notReadySprite;
        readyIndicatorTextList.Add(readyText);
        readyIndicatorImageList.Add(readyImage);
    }
    void Start()
    {
        RedScript  = RedPuppetUI.GetComponent <PlayerUIScript>();
        BlueScript = BluePuppetUI.GetComponent <PlayerUIScript>();
        if (RedScript != null)
        {
            RedScript.Show(true);
        }
        if (BlueScript != null)
        {
            BlueScript.Show(true);
        }

        AudienceScript = AudienceBar.GetComponent <AudienceBarScript>();

        AudienceScript.ShowAll(AudienceUIScript.Notice.Alert);

        SceneSwitcher = GetComponent <SceneSwitcher>();

        StartCoroutine(WaitForReady());
    }
Пример #9
0
    public void Init()
    {
        this.name         = "Player";
        m_PlayerStats     = new CStats();
        m_InventorySystem = new CInventorySystem(InventoryPanel.GetComponent <CInventorySlots>(), InventoryUI.GetComponent <CInventory>());
        m_playerQuestList = new List <QuestBase>();

        CProgression.Instance.LoadPlayerSave(this);

        m_RoomCoord = new CTRoomCoordinate(0, 0);

        PostOffice.Instance.Register(name, gameObject); // TODO Move to Spawn() ?

        m_IsImmortal   = false;
        m_PlayerSprite = GetComponent <SpriteRenderer>().sprite;

        m_PrestigeSystem = new PrestigeSystem();
        AchievementSystem.Instance.Init(this.GetStats());

        UIScript = GetComponent <PlayerUIScript>();
        UIScript.Init();
    }
Пример #10
0
    void Awake()
    {
        collider  = GetComponent <CapsuleCollider>();
        rigidbody = GetComponent <Rigidbody>();
        renderer  = GetComponentInChildren <SpriteRenderer>();
        animator  = GetComponentInChildren <Animator>();

        movement = GetComponent <PlayerMovementScript>();
        status   = GetComponent <PlayerStatusScript>();
        ui       = GetComponentInChildren <PlayerUIScript>();

        if (movement != null)
        {
            movement.self = this;
        }
        if (status != null)
        {
            status.self = this;
        }
        if (ui != null)
        {
            ui.self = this;
        }
    }
Пример #11
0
    // Use this for initialization
    void Start()
    {
        playerName = "Player" + ++PlayerCount;

        ///////////////////////////////////////////////////
        // DO NOT TOUCH THIS PIECE OF CODE. IT SETS UP THE UI
        // IF YOU TRY TO DO IT IN ANY OTHER WAY, IT WILL JUST BREAK THE UI
        // IN UNEXPECTED WAYS
        if (isLocalPlayer)
        {
            spawnPoints      = FindObjectsOfType <NetworkStartPosition>();
            playerUiInstance = Instantiate(playerUiPrefab);
            playerUiInstance.transform.parent = this.gameObject.transform;
            playerAudioListenerInstance       = Instantiate(playerAudioListenerPrefab, Vector3.zero, Quaternion.identity, this.gameObject.transform);
        }
        if (isClient)
        {
            spawnCamera     = GameObject.FindGameObjectWithTag("SpawnScreenCamera").GetComponent <Camera>();
            respawnWaitArea = GameObject.FindGameObjectWithTag("RespawnWaitArea").transform;
            playerUI        = GetComponent <PlayerUIScript>();
            playerUI.SetControllerReference(this);
            movement  = GetComponent <MovementScript>();
            mouseLook = GetComponent <MouseLook2>();
            mouseLook.SetRespawnCamera(spawnCamera);
            hitmarkerTimer = hitmarkerRemoveAfterTime;

            CmdSetupAmmo();
        }


        ///////////////////////////////////////////////////


        // This needs to be called on both the server and client
        gunInstances = new List <GameObject>();
        hasGun       = new List <bool>();


        Transform weaponTransform = transform.Find("CameraController").Find("WeaponHolder");
        int       i = 0;


        foreach (Transform child in guns)
        {
            gunInstances.Add(child.gameObject);
            gunInstances[i].gameObject.SetActive(false);
            hasGun.Add(false);
            i++;
        }

        meleeInstance = Instantiate(meleeObject, weaponTransform.position, meleeObject.transform.rotation) as GameObject;
        meleeInstance.GetComponent <MeleeWeapon>().SetOwner(this);
        meleeInstance.gameObject.SetActive(false);
        meleeInstance.transform.parent = weaponTransform;


        gunInstances[0].gameObject.SetActive(true);
        gunInstances[0].GetComponent <BaseWeapon>().RefillAmmo();
        hasGun[0] = true;

        isMeleeing = false;
        meleeTimer = meleeOutTime;

        canSwitchWeapon   = true;
        weaponSwitchTimer = weaponSwithWaitTime;
    }