コード例 #1
0
	void Update ()
	{	//int x = 1;
		for (int i = 0; i < Input.touchCount; i++) {
			Touch touch = Input.GetTouch (i);
			if (touch.phase == TouchPhase.Ended) {
				Ray ray = Camera.main.ScreenPointToRay (touch.position);
				RaycastHit2D hit = Physics2D.Raycast (ray.origin, ray.direction);
				if (hit.collider != null) {
					//	D		
					if (hit.collider.tag == "Player") {   
						#region Hit Player
						
						//	Destroy (GameObject.Find ("FadePlayer" + x.ToString ()));
						WallScript wallsc = hit.transform.GetComponent<WallScript> ();
						if (wallsc) { 
							selectedwall = hit.transform.gameObject;
							selected=wallsc.id;
							fadeeverything ();
							m1 = wallsc.PossibleLeftMove ();
							m2 = wallsc.PossibleRightMove ();
							
							fadeit = GameObject.Find ("FadePlayer" + m1.ToString ());
							FaderScript fadescript = fadeit.GetComponent<FaderScript> ();
							WallScript tofade = fadeit.GetComponent<WallScript> ();
							if(wallsc.owner==0)
							{
								if (tofade.owner == wallsc.id || tofade.owner == 0)
									fadescript.fading = true;
								fadeit = GameObject.Find ("FadePlayer" + m2.ToString ());
								tofade = fadeit.GetComponent<WallScript> ();
								fadescript = fadeit.GetComponent<FaderScript> ();
								if (tofade.owner == wallsc.id || tofade.owner == 0)
									fadescript.fading = true;
							}
							else
							{
								if (tofade.owner == wallsc.id)
									fadescript.fading = true;
								fadeit = GameObject.Find ("FadePlayer" + m2.ToString ());
								tofade = fadeit.GetComponent<WallScript> ();
								fadescript = fadeit.GetComponent<FaderScript> ();
								if (tofade.owner == wallsc.id)
									fadescript.fading = true;
								
							}
							
						}
					}
					#endregion
					#region Hit RedWall
					else if (hit.collider.tag == "Redwall"&&selectedwall!=null) {
						WallScript ownerid = selectedwall.GetComponent<WallScript> ();
						WallScript getid = hit.collider.gameObject.GetComponent<WallScript> ();
						if (ownerid.owner == 0) {
							
							if (getid.owner == 0) {
								

								if (getid.id == m1 || getid.id == m2) {
									getid.owner = selected;
									ownerid.owner = 1;
									Vector3 savepos = selectedwall.transform.position;
									selectedwall.transform.position = hit.collider.transform.position;
									hit.collider.transform.position = savepos;
								} else {
									selected = 0;
									//		m1 = 0;
									//		m2 = 0;
									fadeeverything ();
								}
							} else if (getid.owner == selected) {   
								
								getid.owner = 0;
								if (getid.id == m1 || getid.id == m2) {
									ownerid.owner = 1;
									Vector3 savepos = selectedwall.transform.position;
									selectedwall.transform.position = hit.collider.transform.position;
									hit.collider.transform.position = savepos;
								} else {
									//selected = 0;
									//	m1 = 0;
									//	m2 = 0;
									fadeeverything ();
								}
								
							}
						} else {
							if (getid.owner == selected) {   
								
								getid.owner = 0;
								if (getid.id == m1 || getid.id == m2) {
									ownerid.owner = 0;
									Vector3 savepos = selectedwall.transform.position;
									selectedwall.transform.position = hit.collider.transform.position;
									hit.collider.transform.position = savepos;
									
								}	
							}
							
						}
						
					}
					#endregion
				}
				else  {
					//	selectedwall=null;
					fadeeverything();
				}
			}
			else { 
				if (touch.phase == TouchPhase.Began)
				{
					Debug.Log("I'm Here");
					Ray ray = Camera.main.ScreenPointToRay (touch.position);
					RaycastHit2D hit = Physics2D.Raycast (ray.origin, ray.direction);
					if (hit.collider != null) {
						//	D		
						if (hit.collider.tag == "Player") {   						
							//	Destroy (GameObject.Find ("FadePlayer" + x.ToString ()));
							WallScript wallsc = hit.transform.GetComponent<WallScript> ();
							if (wallsc) { 
								selectedwall = hit.transform.gameObject;
								selected=wallsc.id;
								fadeeverything ();
								m1 = wallsc.PossibleLeftMove ();
								m2 = wallsc.PossibleRightMove ();
								
								fadeit = GameObject.Find ("FadePlayer" + m1.ToString ());
								FaderScript fadescript = fadeit.GetComponent<FaderScript> ();
								WallScript tofade = fadeit.GetComponent<WallScript> ();
								if(wallsc.owner==0)
								{
									if (tofade.owner == wallsc.id || tofade.owner == 0)
										fadescript.fading = true;
									fadeit = GameObject.Find ("FadePlayer" + m2.ToString ());
									tofade = fadeit.GetComponent<WallScript> ();
									fadescript = fadeit.GetComponent<FaderScript> ();
									if (tofade.owner == wallsc.id || tofade.owner == 0)
										fadescript.fading = true;
								}
								else
								{
									if (tofade.owner == wallsc.id)
										fadescript.fading = true;
									fadeit = GameObject.Find ("FadePlayer" + m2.ToString ());
									tofade = fadeit.GetComponent<WallScript> ();
									fadescript = fadeit.GetComponent<FaderScript> ();
									if (tofade.owner == wallsc.id)
										fadescript.fading = true;
									
								}
								
							}
						}	
					}
				}
				else if (touch.phase == TouchPhase.Moved)
				{
					// Move the trail
					Ray ray = Camera.main.ScreenPointToRay (touch.position);
					RaycastHit2D hit = Physics2D.Raycast (ray.origin, ray.direction);
					if (hit.collider != null) {
						//	D		
						if (hit.collider.tag == "Redwall"&&selectedwall!=null) {
							WallScript ownerid = selectedwall.GetComponent<WallScript> ();
							WallScript getid = hit.collider.gameObject.GetComponent<WallScript> ();
							if (ownerid.owner == 0) {
								
								if (getid.owner == 0) {
									

									if (getid.id == m1 || getid.id == m2) {
										getid.owner = selected;
										ownerid.owner = 1;
										Vector3 savepos = selectedwall.transform.position;
										selectedwall.transform.position = hit.collider.transform.position;
										hit.collider.transform.position = savepos;
									} else {
										selected = 0;
										//m1 = 0;
										//m2 = 0;
										fadeeverything ();
									}
								} else if (getid.owner == selected) {   
									
									getid.owner = 0;
									if (getid.id == m1 || getid.id == m2) {
										ownerid.owner = 1;
										Vector3 savepos = selectedwall.transform.position;
										selectedwall.transform.position = hit.collider.transform.position;
										hit.collider.transform.position = savepos;
									} else {
										//selected = 0;
										//	m1 = 0;
										//	m2 = 0;
										fadeeverything ();
									}
									
								}
							} else {
								if (getid.owner == selected) {   
									
									getid.owner = 0;
									if (getid.id == m1 || getid.id == m2) {
										ownerid.owner = 0;
										Vector3 savepos = selectedwall.transform.position;
										selectedwall.transform.position = hit.collider.transform.position;
										hit.collider.transform.position = savepos;
										
									}
									
									
									
								}
								
							}
							
						}
						
					}
				}
				else if (touch.phase == TouchPhase.Ended)
				{
					// Clear known trails
					
					
				}
				
				
				
			}	
		}
		
	}