Networking Switchs on platformer 2D multiplayer
Hi! Im building a 2D multiplayer puzzle-platformer for college project. Since i'm not a programmer, and the lead programmer in the project is not always available, i'm trying to keep it quite simple. the isse is that we built a switch system in which we could set what group of switches did the switch belonged to, and once all the switches in the group were active, it called an action based on cases. The problem is that if i instantiate a plaform, it ends up building thousands of them, causing the game to get slower every second until it (probably) crashes. Any ideas on why could this be happening? I'd be happy to post more code if necessary.
Here is the part of the code that 'does' something.
public class SwitchActions : MonoBehaviour {
int groupId;
public SwitchActions(GroupOfSwitchs group)
{
this.groupId = group.groupId;
foreach(Switch switchi in group.GetSwitchs())
{
switchi.SetJobDone();
}
}
public void DoSomething()
{
switch (groupId) {
case 3789:
/*GameObject camaraObject = GameObject.FindGameObjectWithTag ("MainCamera");
CameraController camaraScript = camaraObject.GetComponent<CameraController> ();
camaraScript.ChangeState (CameraState.Zoomed, -100);*/
//Animator animadorRoca = GameObject.FindGameObjectWithTag ("rocaql").GetComponent<Animator> ();
//animadorRoca.SetBool ("rocasecae", true);
break;
case 0:
GameObject platEscaleraEng = (GameObject)Instantiate (Resources.Load ("Prefabs/EnginPlath1"));
platEscaleraEng.GetComponent<Transform> ().position = new Vector2 (12.9f, -1.3f);
GameObject feedbackswitchEng = (GameObject)Instantiate (Resources.Load ("Prefabs/FeedbackParticles/FBMageButt"));
feedbackswitchEng.GetComponent<Transform> ().position = new Vector2 (13.2f, -1.3f);
break;
case 1:
ParticleSystem particleRoca = (ParticleSystem)Instantiate (Resources.Load ("Prefabs/ParticulasMageRoca"));
particleRoca.GetComponent<Transform>().position = new Vector2(30.5f, 2.4f);
GameObject rejaEng = GameObject.FindGameObjectWithTag ("RejaRocaEng");
rejaEng.SetActive (false);
Roca roca = GameObject.FindGameObjectWithTag ("RocaGigante").GetComponent <Roca>();
roca.isReady = true;
break;
The case 3789 is commented since it's only an example the programmer did so i could understand the basics.
Your answer

Follow this Question
Related Questions
Networking attributes through interface 0 Answers
Unity Unet Online V.S. Local 0 Answers
Increasing CCU's on UNet?? 0 Answers
How to correctly set scoring and player naming in agar.io-like mobile network game? 0 Answers
Instantiate with Photon 0 Answers