using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using Photon.Pun;
[RequireComponent(typeof(Rigidbody))]
public class PlayerMove : MonoBehaviour
{
private PhotonView photonView;
[SerializeField]public int speed = 10;
public Rigidbody rb; //RigidBody
public int Health = 100; //Health
[SerializeField]private Vector3 moveDir; //Vector of move
public CharacterController ch_c; //append a Character Controller
public Joystick js; //append a Joystick
public Animator anim; //animator
PhotonView view; //view for other people in network
public int coins = 0; //count of couns
public Text money; //text of coins
[SerializeField]private Camera PlayerCamera;
//public MenuManager MN;
void Start()
{
//apend all components
photonView = GetComponent<PhotonView>();
ch_c = GetComponent<CharacterController>();
rb = GetComponent<Rigidbody>();
anim = GetComponent<Animator>();
js = GameObject.Find("Joystick").GetComponent<Joystick>();
}
private void FixedUpdate()
{
//rb.velocity = new Vector3(rb.velocity.x, rb.velocity.y, js.Horizontal * speed);
}
void Update()
{
moveDir.z = js.Horizontal * speed;
if (Vector3.Angle(Vector3.forward, moveDir) > 1f || Vector3.Angle(Vector3.forward,
moveDir) == 0)
{
Vector3 direct = Vector3.RotateTowards(transform.forward, moveDir, speed, 0.0f);
transform.rotation = Quaternion.LookRotation(direct);
}
ch_c.Move(moveDir * Time.deltaTime);
if (moveDir != Vector3.zero)
{
anim.SetBool("isRun", true);
rb.constraints = RigidbodyConstraints.None;
}
else if (moveDir == Vector3.zero)
{
anim.SetBool("isRun", false);
rb.constraints = RigidbodyConstraints.FreezeAll;
}
}
//второй скрипт GameManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviourPunCallbacks
{
public Transform point;
[SerializeField] private GameObject player;
void Awake()
{
PhotonNetwork.Instantiate(player.name, point.position, Quaternion.identity);
}
public void Leave()
{
PhotonNetwork.LeaveRoom();
}
public override void OnLeftRoom()
{
SceneManager.LoadScene(0);
}
public override void OnPlayerEnteredRoom(Player newPlayer)
{
Debug.Log("Connect");
}
public override void OnPlayerLeftRoom(Player otherPlayer)
{
Debug.Log("Disconnect");
}
}
//третий скрипт MenuManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using Photon.Realtime;
public class MenuManager : MonoBehaviourPunCallbacks
{
public InputField createRoom;
public InputField joinRoom;
public Text money;
public int coins;
public Text log;
private void Start()
{
PhotonNetwork.AutomaticallySyncScene = true;
PhotonNetwork.GameVersion = "1";
PhotonNetwork.ConnectUsingSettings();
}
public override void OnConnectedToMaster()
{
Debug.Log("On Connect to master");
log.text = "connect";
}
public void FixedUpdate()
{
money.text = "Your coins: " + coins.ToString();*/
}
public void CreateRoom()
{
RoomOptions roomOptions = new RoomOptions();
roomOptions.MaxPlayers = 2;
PhotonNetwork.CreateRoom(createRoom.text, roomOptions);
}
public void JoinRoom()
{
PhotonNetwork.JoinRoom(joinRoom.text);
}
public void multiplayer()
{
PhotonNetwork.JoinRandomRoom();
}
public override void OnJoinedRoom()
{
PhotonNetwork.LoadLevel("Game");
}
}