Hej, jeg øver mig p.t i at programmere spil i C# ved hjælp af Unity, men jeg kan ikke adde det her fordi at den siger der er compiler erros.
Det er et FPS spil.
MenuManager
using UnityEngine;
using System.Collections;
public class MenuManager : MonoBehaviour
{
public string CurrentMenu;
public string MatchName = "";
public string MatchPassword = "";
public int MatchMaxPlayers = 32;
void Start()
{
CurrentMenu = "Main";
}
void OnGUI()
{
if(CurrentMenu == "Main")
Menu_Main();
if(CurrentMenu == "Lobby")
Menu_Lobby();
if(CurrentMenu == "Host")
Menu_HostGame();
}
public void NavigateTo(string nextmenu)
{
CurrentMenu = nextmenu;
}
private void Menu_Main()
{
if(GUI.Button(new Rect(10, 10, 200, 50), "Host Game"))
{
NavigateTo ("Host");
}
GUI.Label(new Rect(220, 10, 130, 30), "Player Name");
MultiplayerManager.instance.PlayerName = GUI.TextField(new Rect(400, 10, 200, 30), MultiplayerManager.instance.PlayerName);
}
private void Menu_HostGame()
{
//Buttons Host Game
if(GUI.Button(new Rect(10, 10, 200, 50), "Back"))
{ NavigateTo ("Main");
}
if(GUI.Button(new Rect(10, 60, 200, 50), "Start Server"))
{
MultiplayerManager.instance.StartServer(MatchName, MatchPassword, MatchMaxPlayers);
}
GUI.Label(new Rect(220, 10, 130, 30), "Match Name");
MatchName = GUI.TextField(new Rect(400, 10, 200, 30), MatchName);
GUI.Label(new Rect(220, 50, 130, 30), "Match Password");
MatchPassword = GUI.PasswordField(new Rect(400, 50, 200, 30), MatchPassword, '*');
GUI.Label(new Rect(220, 90, 130, 30), "Match Max Players");
GUI.Label(new Rect(400, 90, 200, 30), MatchMaxPlayers.ToString());
MatchMaxPlayers = Mathf.Clamp(MatchMaxPlayers, 8, 32);
if(GUI.Button(new Rect(425, 90, 25, 30), "+"))
MatchMaxPlayers +=2;
if(GUI.Button(new Rect(450, 90, 25, 30), "-"))
MatchMaxPlayers -=2; }
private void Menu_Lobby()
{
}
}
Også er der også multiplayer
using UnityEngine;
using System.Collections;
using System.Colletions.Generic;
public class MultiplayerManager : MonoBehaviour
{
public static MultiplayerManager instance;
public string PlayerName;
private string MatchName = "";
private string MatchPassword = "";
private int MatchMaxUsers = 32; public list PlayerList = new list();
void Start()
{
instance = this;
}
public void StartServer(string servername, string serverpassword, int masusers)
{
MatchName = servermame; MatchPassword = serverpassword;
MatchMaxUsers = maxusers;
Network.InitializeServer(MatchMaxUsers, 2550, false);
Network.InitializeSecurity();
}
void OnServerIntialized()
{
Server_PlayerJoinRequest(-
"", Network.player);
}
void OnConnectedToServer()
{
NetworkView.RPC("Server_PlayerJoinRequest", RPCMode.Server, "", Network.player);
}
void OnPlayerDisconnected(NetworkPlayer id)
{
NetworkView.RPC("Client_RemovePlayer", RPCMode.All, id);
}
[RPC]
void Server_PlayerJoinRequest(string playername, NetworkPlayer view)
{
NetworkView.RPC("Client_AddPlayerToL-
ist", RPCMode.All, Playername, view);
}
[RPC]
void Client_AddPlayerToList(string playername, NetworkPlayer view)
{
MPPlayer tempplayer = new MPPlayer();
tempplayer.PlayerName = playername;
tempplayer.PlayerNetwork = view; PlayerList.Add(tempplayer);
}
[RPC]
void Client_RemovePlayer()
{
MPPlayer = temppl = null;
foreach(MPPlayer pl in PlayerList)
{
if(Pl.PlayerNetwork = view)
{
temppl = pl;
}
}
if(temppl != null)
{
PlayerList.Remove(temppl);
}
}
-
}
public class MPPlayer
{
public string PlayerName = "";
public NetworkPlayer PlayerNetwork;
}
-
Please hjælp
--
Den største fail på Hol, men den bedste til HoN.