예제 #1
0
    public void BuyWeapon(int itemID)
    {
        // we take price from UI
        short price = System.Convert.ToInt16(this.price.text.TrimStart('£'));

        // sound of click if we have money
        AudioSystem.inst.Click(GameManager.inst.myPlayerData.money >= price && lockedItems.BinarySearch(itemID) < 0);
        // exit if we dont have money, or this item is locked for us
        if (GameManager.inst.myPlayerData.money < price || lockedItems.BinarySearch(itemID) > -1)
        {
            return;
        }

        GameManager.inst.myPlayerData.money -= price;

        if (GameManager.inst.myCharacterControl.isDead)
        {
            StartCoroutine(WaitUntilSpawn(itemID));
            ShopOpenAndClose();
            return;
        }
        // spawn buyed item
        GameObject newPortal = PhotonNetwork.Instantiate(weaponsPortal.name
                                                         , GameManager.inst.myPlayerData.gameObject.transform.position + new Vector3(0.45f * ((GameManager.inst.myCharacterControl.facingRight) ? 1 : -1), 0.1f, 0)
                                                         , Quaternion.identity);
        WeaponsPortal script = newPortal.GetComponent <WeaponsPortal> ();

        script.pView.RPC("SpawnOfSpawner", RpcTarget.AllBuffered, false);
        script.OrderOfSpawn((byte)itemID);

        ShopOpenAndClose();
    }
예제 #2
0
    IEnumerator WaitUntilSpawn(int itemID)
    {
        // wait
        while (GameManager.inst.myCharacterControl.isDead)
        {
            yield return(new WaitForSeconds(0.4f));
        }
        // spawn buyed item
        GameObject newPortal = PhotonNetwork.Instantiate(weaponsPortal.name
                                                         , GameManager.inst.myPlayerData.gameObject.transform.position + new Vector3(0.45f * ((GameManager.inst.myCharacterControl.facingRight) ? 1 : -1), 0.1f, 0)
                                                         , Quaternion.identity);
        WeaponsPortal script = newPortal.GetComponent <WeaponsPortal> ();

        script.pView.RPC("SpawnOfSpawner", RpcTarget.AllBuffered, false);
        script.OrderOfSpawn((byte)itemID);
    }