Skip to content

Instantly share code, notes, and snippets.

View glitchersgames's full-sized avatar
💭
Making Drive Buy - Delivery Battles!

Glitchers glitchersgames

💭
Making Drive Buy - Delivery Battles!
View GitHub Profile
using UnityEngine;
using System.Collections;
using UnityEditor;
public static class QuickPlay
{
private static string InitialScenePath
{
get
Shader "Projector/Circle" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_ShadowTex ("Cookie", 2D) = "" {}
}
Subshader {
Tags {"Queue"="Transparent"}
Pass {
ZWrite Off
using System;
using UnityEngine;
using UnityEngine.Networking;
[DisallowMultipleComponent]
public class NetworkSpawnPosition : SceneDependencyBehaviour
{
public void Awake()
{
NetworkManager.RegisterStartPosition(transform);
private List<Player> m_ClientPlayerObjects = new List<Player>();
private bool m_HasSentGameSceneReady = false;
private bool ShouldSendGameSceneReady
{
get
{
return
AllPlayersReady && // are all the clients created + ready?
Player.LocalPlayer != null && // and we exist as a local player
m_HasSentGameSceneReady == false; // and we haven't already sent the message
public override bool OnLobbyServerSceneLoadedForPlayer(GameObject lobbyPlayerObject, GameObject gamePlayerObject)
{
LobbyPlayer lobbyPlayer = lobbyPlayerObject.GetComponent<LobbyPlayer>();
Player gamePlayer = gamePlayerObject.GetComponent<Player>();
// set the SyncVar
gamePlayer.m_PlayerNumber = lobbyPlayer.m_PlayerNumber;
// setup for the server
gamePlayer.SetPlayerDef( lobbyPlayer.playerDef );
public class LobbyPlayer : NetworkLobbyPlayer
{
[SyncVar(hook="OnHasPlayerDefUpdated")]
public bool m_HasPlayerDef = false;
#endregion
private PlayerDef m_PlayerDef;
public static LobbyPlayer LocalPlayer { get; private set; }
public class PlayerRequestPlayerDataMessage : MessageBase
{
public NetworkInstanceId m_SenderNetId;
public NetworkInstanceId m_SubjectNetId;
public PlayerRequestPlayerDataMessage(){}
public PlayerRequestPlayerDataMessage( NetworkInstanceId senderNetId, NetworkInstanceId subjectNetId )
{
m_SenderNetId = senderNetId;
m_SubjectNetId = subjectNetId;
[SyncVar(hook="OnHasPlayerDefUpdated")]
public bool m_HasPlayerDef;
void OnHasPlayerDefUpdated( bool hasPlayerDef )
{
if( m_HasPlayerDef == false && hasPlayerDef )
{
// The server now has the data we need!
}
struct PlayerDef
{
string m_Name;
Color m_Color;
public PlayerDef( string name, Color color )
{
m_Name = name;
m_Color = color;
}