private void CreateAsteroidRPC(NetworkViewID objectOwner, int objectID, Vector3 position, Vector3 localScale, string name) { this.AsteroidRingGenerator.CreateAsteroid(position, localScale, name, base.Players[objectOwner], objectID); }
public static bool ContextOf(NetworkViewID networkViewID, out Contextual contextual) { return(GetMB(NetworkView.Find(networkViewID), out contextual)); }
private void SetObjectTagRPC(NetworkViewID owner, int objectID, string tag) { GameObject obj = base.GetObject(owner, objectID); obj.tag = tag; }
private void Internal_SetViewID(NetworkViewID viewID){}
void SpawnAvatar(NetworkViewID viewID, Vector3 color, string name) { //appelé chez tout le monde pour créer un avatar GameObject clone; //clone = GameObject.CreatePrimitive(PrimitiveType.Capsule); clone = GameObject.Instantiate(NA.app.goPrefabAvatar, Vector3.zero, Quaternion.identity) as GameObject; clone.name = name; Collider.Destroy(clone.GetComponent <Collider>()); //clone.GetComponent<Collider>().isTrigger = true; SphereCollider sc = clone.AddComponent <SphereCollider>(); sc.isTrigger = true; NetworkView nView = clone.AddComponent <NetworkView>(); nView.viewID = viewID; //JT Oct 2016 - test with manual sync instead of built-in //nView.stateSynchronization = NetworkStateSynchronization.Unreliable; nView.stateSynchronization = NetworkStateSynchronization.Off; nView.observed = null; clone.AddComponent <NASyncTransform>(); //=== Light l = clone.AddComponent <Light>(); l.intensity = 2f; l.enabled = false; l.type = LightType.Spot; l.range = 100f; l.spotAngle = 90f; if (nView.owner == Network.player) { NA.goAvatar = clone; //mine } else { //NA.player_objects.Add(clone); //this is considered as a player object } MeshRenderer renderer = clone.GetComponent <MeshRenderer>(); if (renderer != null) { renderer.material.color = new Color(color.x, color.y, color.z, 0.3f); } else { Color col = new Color(color.x, color.y, color.z, 0.3f); Renderer[] renderers = clone.GetComponentsInChildren <Renderer>(); Material m = null; foreach (Renderer r in renderers) { if (m == null) { m = r.material; } r.material = m; //r.sharedMaterial.color = col; m.color = col; } } clone.transform.parent = NA.app.goRootAvatars.transform; //LogManager.Log ("New Avatar:" + name + " owner:" + nView.owner); LogManager.Log(name + " joined!"); NA.AddAvatar(clone); }
void RemoveViewID(NetworkViewID viewID) { }
public void SendDestroyBall(int inBallId) { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("GetMessageDestroyBall", RPCMode.AllBuffered, viewID, inBallId); }
private static void INTERNAL_CALL_Destroy(ref NetworkViewID viewID){}
private static void Internal_RemoveRPCs(NetworkPlayer playerID, NetworkViewID viewID, uint channelMask){}
private static void Internal_AllocateViewID(out NetworkViewID viewID){}
public static void Destroy(NetworkViewID viewID){}
private static NetworkView INTERNAL_CALL_Find(ref NetworkViewID viewID){}
public static NetworkView Find(NetworkViewID viewID){}
private static void INTERNAL_CALL_Internal_SetViewID(NetworkView self, ref NetworkViewID viewID){}
void GiveMeACart(string cartModel, string ballModel, string characterModel, NetworkMessageInfo info) { // create new buggy for the new guy - his must be done on the server otherwise collisions wont work! Vector3 spawnLocation = new Vector3(0, 5, 0); Vector3 velocity = new Vector3(0, 0, 0); // instantiate the prefabs GameObject cartContainerObject = (Instantiate(Resources.Load(cartModel), spawnLocation, Quaternion.identity) as GameObject); GameObject ballGameObject = Instantiate(Resources.Load(ballModel), spawnLocation + new Vector3(3, 0, 0), Quaternion.identity) as GameObject; GameObject characterGameObject = Instantiate(Resources.Load(characterModel), spawnLocation + new Vector3(0, -1, 0), Quaternion.identity) as GameObject; GameObject cartGameObject = cartContainerObject.transform.FindChild("buggy").gameObject; // set buggy as characters parent characterGameObject.transform.parent = cartGameObject.transform; // create and set viewIDs NetworkViewID cartViewIDTransform = Network.AllocateViewID(); NetworkView cgt = cartContainerObject.AddComponent("NetworkView") as NetworkView; cgt.observed = cartContainerObject.transform; cgt.viewID = cartViewIDTransform; cgt.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID cartViewIDRigidbody = Network.AllocateViewID(); NetworkView cgr = cartGameObject.AddComponent("NetworkView") as NetworkView; cgr.observed = cartGameObject.rigidbody; cgr.viewID = cartViewIDRigidbody; cgr.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID ballViewID = Network.AllocateViewID(); ballGameObject.networkView.viewID = ballViewID; NetworkViewID characterViewID = Network.AllocateViewID(); characterGameObject.networkView.viewID = characterViewID; // tell everyone else about it networkView.RPC("SpawnPrefab", RPCMode.Others, cartViewIDTransform, spawnLocation, velocity, cartModel); networkView.RPC("SpawnPrefab", RPCMode.Others, ballViewID, spawnLocation, velocity, ballModel); networkView.RPC("SpawnPrefab", RPCMode.Others, characterViewID, spawnLocation, velocity, characterModel); // tell all players this is a player and not some random objects networkView.RPC("SpawnPlayer", RPCMode.Others, cartViewIDTransform, cartViewIDRigidbody, ballViewID, characterViewID, 0, info.sender); // tell the player it's theirs networkView.RPC("ThisOnesYours", info.sender, cartViewIDTransform, ballViewID, characterViewID); // create a PlayerInfo for it PlayerInfo newGuy = new PlayerInfo(); newGuy.cartModel = cartModel; newGuy.cartContainerObject = cartContainerObject; newGuy.cartGameObject = cartGameObject; newGuy.cartViewIDTransform = cartViewIDTransform; newGuy.cartViewIDRigidbody = cartViewIDRigidbody; newGuy.ballModel = ballModel; newGuy.ballGameObject = ballGameObject; newGuy.ballViewID = ballViewID; newGuy.characterModel = characterModel; newGuy.characterGameObject = characterGameObject; newGuy.characterViewID = characterViewID; newGuy.currentMode = 0; // set them in buggy newGuy.player = info.sender; // add it to the lists nvs.players.Add(newGuy); }
private static void INTERNAL_CALL_Internal_RemoveRPCs(NetworkPlayer playerID, ref NetworkViewID viewID, uint channelMask){}
void SpawnPrefab(NetworkViewID viewID, Vector3 spawnLocation, Vector3 velocity, string prefabName) { }
public static void RemoveRPCs(NetworkViewID viewID){}
void GetMessage(NetworkViewID inViewId, string inMessage) { Debug.Log("Net message = " + inMessage); }
private void Serializen(ref NetworkViewID viewID){}
public void SendGameOver() { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("GetMessageGameOver", RPCMode.AllBuffered, viewID, Data.isGameOver ? 1 : 0); }
private static void INTERNAL_CALL_Serializen(BitStream self, ref NetworkViewID viewID){}
void CloneObject(string name, NetworkViewID viewID, Vector3 location, Vector3 forward, Vector3 color) { GameObject clone = null; GameObject model = null; foreach (NAObject o in NA.instanciables) { if (o.name == name) { model = o.go; if (o.downloading) { LogManager.LogWarning("clone command received but model is still downloading !"); } } } //instead of cloning the root, we clone the first child (for synchronization purpose on physicallized objects) //this is where we have an issue (Island animals vs Coffe pot) NAAnimalBehavior animal = model.GetComponentInChildren <NAAnimalBehavior>(); if (model.transform.childCount > 0 && animal) { model = model.transform.GetChild(0).gameObject; } clone = GameObject.Instantiate(model, Vector3.zero, Quaternion.identity) as GameObject; LogManager.Log("clone " + name); //reset position of main child if (clone.transform.childCount > 0 && animal) { clone.transform.GetChild(0).gameObject.transform.localPosition = Vector3.zero; } //remove previous network view NetworkView nViewOriginal = clone.GetComponent <NetworkView>(); if (nViewOriginal) { NetworkView.Destroy(nViewOriginal); } NetworkView nView = clone.AddComponent <NetworkView>(); nView.viewID = viewID; nView.stateSynchronization = NetworkStateSynchronization.Unreliable; clone.transform.position = location; MeshRenderer renderer = clone.GetComponent <MeshRenderer>(); if (renderer != null) { renderer.material.color = new Color(color.x, color.y, color.z); } //apply forward world orientation clone.transform.forward = forward; //clone.transform.forward = transform.rotation * Vector3.Normalize(forward) ; //clone.transform.forward = forward; //Rigidbody rb = clone.AddComponent<Rigidbody>(); if (NA.isServer() || NA.isStandalone()) { /*Rigidbody rb = clone.AddComponent<Rigidbody>(); * rb.collisionDetectionMode = CollisionDetectionMode.Continuous; * rb.AddForce(forward*200f); */ } else { //client, we need the RB for local collisions but in kinematic mode only //rb.isKinematic = true; } NA.player_objects.Add(clone); }
public void Serialize(ref NetworkViewID viewID){}
void SpawnPlayer(NetworkViewID cartViewIDTransform, NetworkViewID cartViewIDRigidbody, NetworkViewID ballViewID, NetworkViewID characterViewID, int mode, NetworkPlayer player) { foreach (PlayerInfo newGuy in nvs.players) { if (newGuy.player == player) { newGuy.cartViewIDTransform = cartViewIDTransform; newGuy.cartGameObject = NetworkView.Find(cartViewIDTransform).gameObject; newGuy.cartViewIDRigidbody = cartViewIDRigidbody; // add another NetworkView for the rigidbody NetworkView cgr = newGuy.cartGameObject.AddComponent("NetworkView") as NetworkView; // add rigidbody tracking cgr.observed = newGuy.cartGameObject.rigidbody; cgr.viewID = cartViewIDRigidbody; cgr.stateSynchronization = NetworkStateSynchronization.Unreliable; newGuy.characterViewID = characterViewID; newGuy.characterGameObject = NetworkView.Find(characterViewID).gameObject; newGuy.ballViewID = ballViewID; newGuy.ballGameObject = NetworkView.Find(ballViewID).gameObject; newGuy.currentMode = mode; // ADD MORE STUFF HERE if (newGuy.currentMode == 0) { // set them inside the buggy newGuy.characterGameObject.transform.parent = newGuy.cartGameObject.transform; newGuy.characterGameObject.transform.localPosition = new Vector3(0, 0, 0); newGuy.characterGameObject.transform.localRotation = Quaternion.identity; } else if (newGuy.currentMode == 1) { // set them outside the buggy newGuy.characterGameObject.transform.parent = newGuy.ballGameObject.transform; newGuy.characterGameObject.transform.localPosition = new Vector3(0, 0, -2); newGuy.characterGameObject.transform.localRotation = Quaternion.identity; } } } }
protected virtual GameObject ThrowItem(ItemRepresentation rep, IThrowableItem item, Vector3 origin, Vector3 forward, NetworkViewID owner) { Vector3 velocity = (Vector3)(forward * item.heldThrowStrength); Vector3 position = origin + ((Vector3)(forward * 1f)); Quaternion rotation = Quaternion.LookRotation(Vector3.up); return(this.SpawnThrowItem(owner, this.throwObjectPrefab, position, rotation, velocity)); }
public void AddPlayerTEMP(NetworkViewID otherPlayer) { otherPlayers.Add(otherPlayer); }
void CreateCube() { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("SpawnBox", RPCMode.AllBuffered, viewID, transform.position); }
private void DroneShootRPC(NetworkViewID owner, int objectID, bool shoot) { GameObject drone = base.GetObject(owner, objectID); drone.GetComponent <DroneBehaviour>().KeepShooting = shoot; }
void ignoreCollisionWidth(NetworkViewID fireId) { Collider fire = NetworkView.Find(fireId).gameObject.collider; Physics.IgnoreCollision(this.gameObject.collider, fire); }
// Use this for initialization void Start() { // setup reference to networkVariables nvs = gameObject.GetComponent("networkVariables") as networkVariables; // get server version serverVersion = nvs.serverVersion; // Use NAT punchthrough if no public IP present Network.InitializeServer(32, 11177, !Network.HavePublicAddress()); MasterServer.RegisterHost(serverVersion, SystemInfo.deviceName, "Test server"); // create server owners buggy GameObject cartContainerObject = (Instantiate(Resources.Load("multi_buggy"), new Vector3(0, 5, 0), Quaternion.identity) as GameObject); GameObject ballGameObject = Instantiate(Resources.Load("ball"), new Vector3(3, 5, 0), Quaternion.identity) as GameObject; GameObject characterGameObject = Instantiate(Resources.Load("lil_patrick"), new Vector3(0, 4, 0), Quaternion.identity) as GameObject; GameObject cartGameObject = cartContainerObject.transform.FindChild("buggy").gameObject; // set buggy as characters parent characterGameObject.transform.parent = cartGameObject.transform; // networkview that shit NetworkViewID cartViewIDTransform = Network.AllocateViewID(); NetworkView cgt = cartContainerObject.AddComponent("NetworkView") as NetworkView; cgt.observed = cartContainerObject.transform; cgt.viewID = cartViewIDTransform; cgt.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID cartViewIDRigidbody = Network.AllocateViewID(); NetworkView cgr = cartGameObject.AddComponent("NetworkView") as NetworkView; cgr.observed = cartGameObject.rigidbody; cgr.viewID = cartViewIDRigidbody; cgr.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID ballViewID = Network.AllocateViewID(); ballGameObject.networkView.viewID = ballViewID; NetworkViewID characterViewID = Network.AllocateViewID(); characterGameObject.networkView.viewID = characterViewID; // turn it into a PlayerInfo nvs.myInfo.cartContainerObject = cartContainerObject; nvs.myInfo.cartGameObject = cartGameObject; nvs.myInfo.cartModel = "multi_buggy"; nvs.myInfo.cartViewIDTransform = cartViewIDTransform; nvs.myInfo.cartViewIDRigidbody = cartViewIDRigidbody; nvs.myInfo.ballGameObject = ballGameObject; nvs.myInfo.ballModel = "ball"; nvs.myInfo.ballViewID = ballViewID; nvs.myInfo.characterGameObject = characterGameObject; nvs.myInfo.characterModel = "lil_patrick"; nvs.myInfo.characterViewID = characterViewID; nvs.myInfo.currentMode = 0; // set in buggy // get self nvs.myInfo.player = Network.player; // keep a copy myInfo = nvs.myInfo; // add myInfo to the player list nvs.players = new ArrayList(); nvs.players.Add(myInfo); // ANY SERVER SIDE SCRIPTS GO HERE //******************************************** // receives all players inputs and handles fiziks gameObject.AddComponent("controlServer"); // chat gameObject.AddComponent("netChat"); //pause gameObject.AddComponent("netPause"); //******************************************** }
// Use this for initialization void Start() { // setup reference to networkVariables nvs = gameObject.GetComponent("networkVariables") as networkVariables; // get server version serverVersion = nvs.serverVersion; // get server name string serverName = nvs.serverName; // Use NAT punchthrough if no public IP present Network.InitializeServer(32, 11177, !Network.HavePublicAddress()); MasterServer.RegisterHost(serverVersion, SystemInfo.deviceName, serverName); // create server owners buggy // This line will get changed at some point - no need to have the camera and the marker in the prefab - they should be in their own scripts GameObject cartGameObject = (Instantiate(Resources.Load("buggy_m"), new Vector3(0, 5, 0), Quaternion.identity) as GameObject); // **************************** GameObject ballGameObject = Instantiate(Resources.Load("ball"), new Vector3(3, 5, 0), Quaternion.identity) as GameObject; GameObject characterGameObject = Instantiate(Resources.Load("lil_patrick"), new Vector3(0, 4, 0), Quaternion.identity) as GameObject; // set buggy as characters parent characterGameObject.transform.parent = cartGameObject.transform; // networkview that shit NetworkViewID cartViewIDTransform = Network.AllocateViewID(); NetworkView cgt = cartGameObject.GetComponent("NetworkView") as NetworkView; cgt.observed = cartGameObject.transform; cgt.viewID = cartViewIDTransform; cgt.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID cartViewIDRigidbody = Network.AllocateViewID(); NetworkView cgr = cartGameObject.AddComponent("NetworkView") as NetworkView; cgr.observed = cartGameObject.rigidbody; cgr.viewID = cartViewIDRigidbody; cgr.stateSynchronization = NetworkStateSynchronization.Unreliable; NetworkViewID ballViewID = Network.AllocateViewID(); ballGameObject.networkView.viewID = ballViewID; NetworkViewID characterViewID = Network.AllocateViewID(); characterGameObject.networkView.viewID = characterViewID; // turn it into a PlayerInfo nvs.myInfo.cartGameObject = cartGameObject; nvs.myInfo.cartModel = "buggy_m"; nvs.myInfo.cartViewIDTransform = cartViewIDTransform; nvs.myInfo.cartViewIDRigidbody = cartViewIDRigidbody; nvs.myInfo.ballGameObject = ballGameObject; nvs.myInfo.ballModel = "ball"; nvs.myInfo.ballViewID = ballViewID; nvs.myInfo.characterGameObject = characterGameObject; nvs.myInfo.characterModel = "lil_patrick"; nvs.myInfo.characterViewID = characterViewID; nvs.myInfo.currentMode = 0; // set in buggy // get self nvs.myInfo.player = Network.player; // keep a copy myInfo = nvs.myInfo; // add myInfo to the player list nvs.players = new ArrayList(); nvs.players.Add(myInfo); // ANY SERVER SIDE SCRIPTS GO HERE //******************************************** // receives all players inputs and handles fiziks gameObject.AddComponent("controlServer"); // chat gameObject.AddComponent("netChat"); //pause gameObject.AddComponent("netPause"); // set the camera in the audio script on the buggy - PUT THIS IN A SCRIPT SOMEONE CarAudio mca = myInfo.cartGameObject.GetComponent("CarAudio") as CarAudio; mca.followCamera = nvs.myCam; // replace tmpCam with our one - this messes up sound atm (nvs.myCam.gameObject.AddComponent("SmoothFollow") as SmoothFollow).target = myInfo.cartGameObject.transform; // add smooth follow script //******************************************** }
void ThisOnesYours(NetworkViewID viewID, NetworkViewID b, NetworkViewID c) { }
[RPC] void DestroyBlock(NetworkViewID blockId) { Network.Destroy(blockId); }
void SpawnPlayer(NetworkViewID viewID, NetworkViewID b, NetworkViewID c, NetworkViewID d, int mode, NetworkPlayer p) { }
//private static Dictionary<string, AssetBundle> AssetBundles = new Dictionary<string, AssetBundle>(); public NAObject(GameObject _root, string _name, Vector3 _position, Vector3 _angles, Vector3 _scale, string _file, NetworkViewID _NetworkViewId) { Debug.Log("Creating NAObject " + _name); name = _name; position = _position; angles = _angles; scale = _scale; file = _file; NetworkViewId = _NetworkViewId; //create and sync the Main GameObject go = new GameObject(_name + _NetworkViewId); go.transform.parent = _root.transform; go.transform.position = _position; go.transform.eulerAngles = _angles; //go.transform.localScale = _scale; NetworkView nView = go.AddComponent <NetworkView>(); nView.viewID = this.NetworkViewId; NetworkSync nSync = go.AddComponent <NetworkSync>(); //if (name.Contains("Coffee") || name.Contains("Radio") || name.Contains("Object")) if (name.StartsWith("X")) { LogManager.Log("add " + name + " to the instanciables."); NA.instanciables.Add(this); } }
void SpawnEnemyRPC(string name, Vector3 position, NetworkViewID id) { GameObject e = (GameObject)Instantiate(EnemyPrefabs [name], position, Quaternion.identity); e.networkView.viewID = id; }
public void Process() { if (downloading) { AssetBundle bundle = NADownloader.GetAssetBundle(download_id); if (bundle != null) //downloaded { downloading = false; GameObject goChild = null; bool bInstantiateObjects = true; if (bInstantiateObjects) { Debug.Log("instantiate object " + name); Object[] objs = bundle.LoadAllAssets(); Debug.Log("Asset Bundle Objects count = " + objs.Length); string[] strAssets = bundle.GetAllAssetNames(); /* * foreach (string s in strAssets) * { * Debug.Log ("Asset = " + s); * } */ /* * foreach (Object o in objs) * { * Debug.Log ("Object " + o.name + " type:" + o.GetType()); * } */ if (bundle.mainAsset == null) //no main Asset in the bundle { Debug.Log("no mainAsset in bundle, manually instantiating objects"); foreach (Object o in objs) { if (o != null) { goChild = GameObject.Instantiate(o) as GameObject; if (goChild != null) { goChild.name = o.name; goChild.transform.parent = go.transform; goChild.transform.localPosition = Vector3.zero; goChild.transform.localEulerAngles = Vector3.zero; //goChild.transform.localScale = Vector3.one; } } } } else { Debug.Log("instantiating mainAsset in bundle"); goChild = GameObject.Instantiate(bundle.mainAsset) as GameObject; goChild.name = bundle.mainAsset.name + id; goChild.transform.parent = go.transform; goChild.transform.localPosition = Vector3.zero; goChild.transform.localEulerAngles = Vector3.zero; //goChild.transform.localScale = Vector3.one; } //NA.PatchMaterials(go); //crashes on 5.3.1 //if (!name.Contains("elevation")) //{ NA.PatchAllMaterials(goChild); //go //} NAObjectLabel lbl = go.GetComponentInChildren <NAObjectLabel>(); if (lbl) { /*Renderer lblr = lbl.gameObject.GetComponent<Renderer>(); * if (lblr != null) * { * lblr.enabled = false; * } */ //fix du collider Collider col = lbl.gameObject.GetComponent <Collider>(); if (col != null) { col.isTrigger = true; } } Light[] lights = go.GetComponentsInChildren <Light>(); Transform[] gameobjects = go.GetComponentsInChildren <Transform>(); AudioListener[] listeners = go.GetComponentsInChildren <AudioListener>(); //exceptions /*if (name.Contains("maki") || name.Contains("SYN")) * { * //unactivate lights * foreach (Light l in lights) * { * l.enabled = false; * * } * * * } */ //we have to scale after instantiation go.transform.localScale = scale; bundle.Unload(false); go.AddComponent <NAViewerOptim>(); sources = go.GetComponentsInChildren <AudioSource>(); //audio sources have to be augmented with specific NA behaviour foreach (AudioSource s in sources) { //NA.DecorateAudioSource(s); s.spatialBlend = 1f; //s.rolloffMode = AudioRolloffMode.Linear; if (s.name == "LightBeam") { s.rolloffMode = AudioRolloffMode.Custom; s.maxDistance = 100f; } } foreach (AudioListener al in listeners) { al.enabled = false; } LogManager.LogWarning(name + " - objects:" + gameobjects.Length + " sources:" + sources.Length + " lights:" + lights.Length); //ESPACES RESONANTS /* * NAReverbResonator[] resonators = NAReverbResonator.FindObjectsOfType(typeof(NAReverbResonator)) as NAReverbResonator[]; * * Debug.Log ("NAReverbResonator count = " + resonators.Length); * foreach (NAReverbResonator r in resonators) * { * NAReverbEffector eff = r.gameObject.GetComponent<NAReverbEffector>(); * if (eff == null) * r.gameObject.AddComponent<NAReverbEffector>(); * * AudioReverbFilter arf = r.gameObject.GetComponent<AudioReverbFilter>(); * if (arf == null) * r.gameObject.AddComponent<AudioReverbFilter>(); * * } */ //jonathan : removed on 1/9/2016 NetworkSync nSync = go.GetComponent <NetworkSync>(); List <GameObject> listSync = new List <GameObject>(); //Oct 2016 : special cases NoiseBall[] nballs = go.GetComponentsInChildren <NoiseBall>(); foreach (NoiseBall nb in nballs) { listSync.Add(nb.gameObject); } //Oct 2016 : get the objects to be custom synced and add to the list NASync[] nasyncs = go.GetComponentsInChildren <NASync>(); foreach (NASync nasync in nasyncs) { listSync.Add(nasync.gameObject); } if (NA.syncMode == SyncMode.RigibodiesAndAudioSources) { /*Rigidbody[] rbs = go.GetComponentsInChildren<Rigidbody>(); * foreach (Rigidbody rb in rbs) * { * listSync.Add(rb.gameObject); * } * AudioSource[] audios = go.GetComponentsInChildren<AudioSource>(); * foreach (AudioSource audio in audios) * { * listSync.Add(audio.gameObject); * } */ Collider[] colliders = go.GetComponentsInChildren <Collider>(); foreach (Collider collider in colliders) { listSync.Add(collider.gameObject); } } if (NA.isServer()) { foreach (GameObject o in listSync) { string path = NA.GetGameObjectPath(o.transform); NetworkViewID id = Network.AllocateViewID(); //LogManager.Log("PrepareAsServer " + path + " id=" + id); go.GetComponent <NetworkView>().RPC("AttachNetworkView", RPCMode.AllBuffered, path, id); } } else if (NA.isClient()) { nSync.AttachNetworkViews(); } /* * * nSync.Prepare(); //client and server (for now, just stops all AudioSources) * if (Network.isServer) * { * if (goChild != null) * { * PrepareAsServer(goChild, goChild.name); * } * } * else * { * nSync.AttachNetworkViews(); * } * */ } } } }
public void SendPosBall(int inBallId, Vector3 inPos) { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("GetMessageBallPos", RPCMode.AllBuffered, viewID, inBallId, inPos); }
void SpawnBall(NetworkViewID viewId) { }
public void SendBoardPos(Vector3 inPos) { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("GetMessageBoardPos", RPCMode.AllBuffered, viewID, inPos); }
protected override GameObject ThrowItem(ItemRepresentation rep, IThrowableItem item, Vector3 origin, Vector3 forward, NetworkViewID owner) { forward.Normalize(); Vector3 velocity = (Vector3)(forward * 20f); Vector3 position = origin + ((Vector3)(forward * 0.5f)); return(this.SpawnThrowItem(owner, base.throwObjectPrefab, position, Quaternion.LookRotation(Vector3.up), velocity)); }
public void SendScore() { NetworkViewID viewID = Network.AllocateViewID(); GetComponent <NetworkView>().RPC("GetMessageScore", RPCMode.AllBuffered, viewID, Data.score); }
private void Internal_GetViewID(out NetworkViewID viewID){}