public GameObject GetGameObjectFromShap(ROAD_SHAPE rShap) { GameObject gmReturn = null; switch (rShap) { case ROAD_SHAPE.RS_STRAIGHT: gmReturn = roadPrefabs[0]; break; case ROAD_SHAPE.RS_RGIHT_TURN: gmReturn = roadPrefabs[1]; break; case ROAD_SHAPE.RS_LEFT_TURN: gmReturn = roadPrefabs[2]; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: gmReturn = roadPrefabs[3]; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: gmReturn = roadPrefabs[4]; break; case ROAD_SHAPE.RS_BRIDGE_1: gmReturn = roadPrefabs[5]; break; case ROAD_SHAPE.RS_BRDIGE_2: gmReturn = roadPrefabs[6]; break; case ROAD_SHAPE.RS_HILL_DOWN: gmReturn = roadPrefabs[7]; break; case ROAD_SHAPE.RS_TRAMPLINE: gmReturn = roadPrefabs[8]; break; case ROAD_SHAPE.RS_START: gmReturn = roadPrefabs[9]; break; case ROAD_SHAPE.RS_END: gmReturn = roadPrefabs[10]; break; case ROAD_SHAPE.RS_EMPTY: break; default: break; } return(gmReturn); }
public string GetStringFromShape(ROAD_SHAPE rShape) { string str = ""; switch (rShape) { case ROAD_SHAPE.RS_START: str = "RS_START"; break; case ROAD_SHAPE.RS_END: str = "RS_END"; break; case ROAD_SHAPE.RS_BRDIGE_2: str = "RS_BRDIGE_2"; break; case ROAD_SHAPE.RS_BRIDGE_1: str = "RS_BRIDGE_1"; break; case ROAD_SHAPE.RS_HILL_DOWN: str = "RS_HILL_DOWN"; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: str = "RS_LEFT_ROTATE_UP"; break; case ROAD_SHAPE.RS_LEFT_TURN: str = "RS_LEFT_TURN"; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: str = "RS_LEFT_TURN_UP"; break; case ROAD_SHAPE.RS_RGIHT_TURN: str = "RS_RGIHT_TURN"; break; case ROAD_SHAPE.RS_STRAIGHT: str = "RS_STRAIGHT"; break; case ROAD_SHAPE.RS_TRAMPLINE: str = "RS_TRAMPLINE"; break; default: break; } return(str); }
public void AddObjectInfoToObjList(ROAD_SHAPE rShape, int idx) { GameObject gmObj = GameObject.Instantiate(objButton.gameObject) as GameObject; gmObj.name = idx.ToString(); gmObj.transform.GetChild(0).gameObject.GetComponent <Text>().text = idx.ToString() + "__" + GetStringFromShape(rShape); gmObj.transform.parent = roadContent.transform; UpdateScrollSizeDelta(); }
public bool CheckIfChangeDirectionObject(ROAD_SHAPE rShape) { bool state = false; if (rShape == ROAD_SHAPE.RS_LEFT_ROTATE_UP || rShape == ROAD_SHAPE.RS_LEFT_TURN || rShape == ROAD_SHAPE.RS_RGIHT_TURN || rShape == ROAD_SHAPE.RS_LEFT_TURN_UP) { return(true); } return(state); }
//get trigger enter object to check what kind of object crashed private void OnTriggerEnter(Collider col) { UnityEngine.Debug.Log(col.gameObject.name + " ---- " + col.gameObject.transform.parent.gameObject.name); if (col.name == "end") { if (curDirection != targetDirection) { curDirection = targetDirection; //SetForce(); } } else if (col.name == "start") { curEnteredOBj = col.gameObject.transform.parent.gameObject; int dir = col.transform.parent.gameObject.GetComponent <CRoadObject>().curObjDirection; ROAD_SHAPE rShap = col.transform.parent.gameObject.GetComponent <CRoadObject>().rShape; curObjShape = rShap; if (CheckIfChangeDirectionObject(curObjShape)) { //start point Vector3 startPosition = col.transform.parent.gameObject.GetComponent <CRoadObject>().startPos.transform.localPosition; Vector3 endPosition = col.transform.parent.gameObject.GetComponent <CRoadObject>().endPos.transform.localPosition; targetDirection = dir; } } else if (col.name.Contains("particle")) { col.gameObject.GetComponent <PassCelebration>().ShowPasseedParticle(); } //if (col.CompareTag("obstacle") && !this.fever) //{ // this.counter += 1f; //} //if (col.CompareTag("Finish")) //{ // this.won = true; // PlayerPrefs.SetInt("level", PlayerPrefs.GetInt("level") + 1); // this.finishPanel.gameObject.SetActive(true); // UnityEngine.Object.Instantiate<GameObject>(this.gManager.particalEffect, col.gameObject.transform.position + new Vector3(0f, 0f, 5f), Quaternion.Euler(-90f, 0f, 0f)); //} //if (col.CompareTag("gems")) //{ // this.score++; // UnityEngine.Object.Destroy(col.gameObject); // this.scoreText.text = "Gems: " + this.score; //} // this.rb.AddForce(0f, 0f, 3f, ForceMode.Impulse); }
public void AddLevelObject(GameObject gmObj) { ROAD_SHAPE rShape = gmObj.GetComponent <RoadObjectCell>().rShape; GameObject gmTargetObj = GetGameObjectFromShap(rShape); if (roadParent.transform.childCount == 0 && rShape != ROAD_SHAPE.RS_START) { return; } else if (roadParent.transform.childCount == 0 && rShape == ROAD_SHAPE.RS_START) { LocateGameObjectToPosition(gmTargetObj, 0); } else { LocateGameObjectToPosition(gmTargetObj, roadParent.transform.childCount); } }
public void Init(ROAD_SHAPE shape, Vector3 startpos) { }
public int GetDirectionFromPevObj(GameObject prevObj, ROAD_SHAPE nRshape) { int direction = 0; int prevDirection = prevObj.GetComponent <CRoadObject>().curObjDirection; ROAD_SHAPE prevRShape = prevObj.GetComponent <CRoadObject>().rShape; if (CheckIfChangeDirectionObject(nRshape)) { if (prevDirection == 0) { switch (nRshape) { case ROAD_SHAPE.RS_LEFT_TURN: direction = 1; break; case ROAD_SHAPE.RS_RGIHT_TURN: direction = 2; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: direction = 1; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: direction = 3; break; } } else if (prevDirection == 1) { switch (nRshape) { case ROAD_SHAPE.RS_LEFT_TURN: direction = 3; break; case ROAD_SHAPE.RS_RGIHT_TURN: direction = 0; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: direction = 3; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: direction = 2; break; } } else if (prevDirection == 2) { switch (nRshape) { case ROAD_SHAPE.RS_LEFT_TURN: direction = 0; break; case ROAD_SHAPE.RS_RGIHT_TURN: direction = 3; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: direction = 0; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: direction = 1; break; } } else if (prevDirection == 3) { switch (nRshape) { case ROAD_SHAPE.RS_LEFT_TURN: direction = 2; break; case ROAD_SHAPE.RS_RGIHT_TURN: direction = 1; break; case ROAD_SHAPE.RS_LEFT_TURN_UP: direction = 1; break; case ROAD_SHAPE.RS_LEFT_ROTATE_UP: direction = 0; break; } } } else { return(prevDirection); } return(direction); }
public void LocateGameObjectToPosition(GameObject gmObj, int idx) { ROAD_SHAPE nRshape = gmObj.GetComponent <CRoadObject>().rShape; if (gmObj.GetComponent <CRoadObject>().rShape == ROAD_SHAPE.RS_START) { GameObject gmobjNew = GameObject.Instantiate(gmObj) as GameObject; gmobjNew.name = "start"; gmobjNew.transform.parent = roadParent.transform; AddObjectInfoToObjList(nRshape, idx); return; } if (roadParent.transform.childCount > 0 && gmObj.GetComponent <CRoadObject>().rShape == ROAD_SHAPE.RS_START) { return; } if (roadParent.transform.childCount < idx - 2) { return; } GameObject prevObject = roadParent.transform.GetChild(idx - 1).gameObject; int nDirection = GetDirectionFromPevObj(prevObject, nRshape); GameObject nAddedObj = GameObject.Instantiate(gmObj) as GameObject; nAddedObj.name = roadParent.transform.childCount.ToString(); nAddedObj.transform.parent = roadParent.transform; float rotationAngle = 0; if (prevObject.GetComponent <CRoadObject>().curObjDirection == 0) { rotationAngle = 0; } else if (prevObject.GetComponent <CRoadObject>().curObjDirection == 1) { rotationAngle = -90f; } else if (prevObject.GetComponent <CRoadObject>().curObjDirection == 2) { rotationAngle = 90f; } else if (prevObject.GetComponent <CRoadObject>().curObjDirection == 3) { rotationAngle = 180; } nAddedObj.transform.localEulerAngles = new Vector3(0, rotationAngle, 0); // nAddedObj.transform.localRotation.eulerAngles = new Vector3(0, rotationAngle, 0); nAddedObj.transform.position = prevObject.GetComponent <CRoadObject>().endPos.transform.position; nAddedObj.GetComponent <CRoadObject>().curObjDirection = nDirection; if (nRshape == ROAD_SHAPE.RS_STRAIGHT) { if (nDirection == 0) { nAddedObj.transform.localPosition += new Vector3(0, 0, 5); } else if (nDirection == 1) { nAddedObj.transform.localPosition += new Vector3(-5, 0, 0); } else if (nDirection == 2) { nAddedObj.transform.localPosition += new Vector3(5, 0, 0); } else if (nDirection == 3) { nAddedObj.transform.localPosition += new Vector3(0, 0, -5); } } AddObjectInfoToObjList(nRshape, idx); }