예제 #1
0
    public void LosePawn()
    {
        pawn          = null;
        bAskedForPawn = false;

        timeForSpawn = Time.time + 3f;
    }
예제 #2
0
    public void PawnRequest(ExamplePlayerController controller)
    {
        ExamplePawn newPawn = Instantiate(GameManager.instance.pawnPrefab, SpawnPointManager.GetSpawnPoint(), Quaternion.identity);

        newPawn.ownerPlayerControllerId = controller.playerControllerId;
        newPawn.PlayerName = (controller).userName;

        serverManager.SpawnWithClientAuthority(newPawn.gameObject, controller.Conn);
    }
예제 #3
0
    protected void OnPawnRequestMessage(TinyNetMessageReader netMsg)
    {
        netMsg.ReadMessage(shortMessage);

        ExamplePawn newPawn = Instantiate(GameManager.instance.pawnPrefab, SpawnPointManager.GetSpawnPoint(), Quaternion.identity);

        newPawn.ownerPlayerControllerId = shortMessage.value;
        newPawn.PlayerName = ((ExamplePlayerController)netMsg.tinyNetConn.GetFirstPlayerController()).userName;

        serverManager.SpawnWithClientAuthority(newPawn.gameObject, netMsg.tinyNetConn);
    }
예제 #4
0
    private void OnTriggerEnter(Collider other)
    {
        if (!gameObject.activeSelf)
        {
            return;
        }

        ExamplePawn pawn = other.gameObject.GetComponent <ExamplePawn>();

        if (other.CompareTag("Player"))
        {
            if (pawn.NetIdentity.NetworkID == ownerNetworkId)
            {
                return;
            }

            if (isServer)
            {
                TinyNetServer.instance.DestroyObject(gameObject);
                pawn.Killed();
            }
            else
            {
                gameObject.SetActive(false);
            }
        }
        else
        {
            if (other.gameObject.layer == 8)
            {
                if (isServer)
                {
                    TinyNetServer.instance.DestroyObject(gameObject);
                }
                else
                {
                    gameObject.SetActive(false);
                }
            }
        }
    }
예제 #5
0
 public void GetPawn(ExamplePawn nPawn)
 {
     pawn = nPawn;
 }