public void Add(SceneObjectData data, float totalDistance) { SceneObject so; so = GetSceneObject(data.type); if (so == null) { so = CreateNew(data.type); so.data = data; } sceneObjects_inScene.Add(so); Vector3 pos = lanes.GetCoordsByLane(data.laneID); pos.x = data.pos.x + totalDistance; so.transform.SetParent(container); so.transform.localPosition = pos; so.AddToLane(data.laneID); so.Init(); if (so.GetComponent <Enemy>()) { so.GetComponent <Enemy>().InitCharacter(Data.Instance.customizer.GetRandomData(), null, data.laneID); } }