using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
public enum ObjectType
{
Land,
Obstacle,
Corn,
GravityCorn,
Randomevent,
Event,
}
//RoadMngr
public class TestNewRoad : MonoBehaviour
{
public GameObject road_Parent;
public GameObject monster_Parent;
public GameObject propInGame;
public GameObject corn_Parent;
// private StopBoss stopBoss;
void Awake ()
{
Init ();
}
void Init ()
{
GetCommponent getComponent = GetComponent<GetCommponent> ();
road_Parent = getComponent.defaultGameObject [0];
monster_Parent = getComponent.defaultGameObject [1];
propInGame = getComponent.defaultGameObject [2];
corn_Parent = getComponent.defaultGameObject [3];
}
void Start ()
{
InitCurParm ();
sceneRandomList = new ArrayList{ 1, 2, 3, 4 };//随机场景的序号
// stopBoss = GameObject.FindGameObjectWithTag ("StopBoss").GetComponent<StopBoss> ();
}
private int SumWeight;
private List<int> WeightList;
private List<int> TimesList;
int randomNum;
NewLandEntity tempNewLandEntity;
private int levelIndex = 0;
private int elementIndex = 0;
void InitCurParm ()
{
SumWeight = 0;
WeightList = new List<int> ();
TimesList = new List<int> ();
tempNewLandEntity = NewLandParseXML.GetLand (NewLandParseXML.index);
// GLogger.LogError ("====================================================================NewLandParseXML.index: " + NewLandParseXML.index);
TimesList.Add (tempNewLandEntity.times0);
TimesList.Add (tempNewLandEntity.times1);
TimesList.Add (tempNewLandEntity.times2);
TimesList.Add (tempNewLandEntity.times3);
TimesList.Add (tempNewLandEntity.times4);
TimesList.Add (tempNewLandEntity.times5);
TimesList.Add (tempNewLandEntity.times6);
WeightList.Add (SumWeight += tempNewLandEntity.weight0);
WeightList.Add (SumWeight += tempNewLandEntity.weight1);
WeightList.Add (SumWeight += tempNewLandEntity.weight2);
WeightList.Add (SumWeight += tempNewLandEntity.weight3);
WeightList.Add (SumWeight += tempNewLandEntity.weight4);
WeightList.Add (SumWeight += tempNewLandEntity.weight5);
WeightList.Add (SumWeight += tempNewLandEntity.weight6);
randomNum = (int)(Random.value * SumWeight);
for (int i = 0; i < WeightList.Count; i++) {
if (WeightList [i] > randomNum) {
// GLogger.LogError ("************************************************************************===i= " + i);
switch (NewLandParseXML.index) {
case 0:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 1:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 2:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 3:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 4:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 5:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 6:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 7:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 8:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 9:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 10:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 11:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
}
break;
}
}
}
//由于中间场景规定的Lv7_0 是中间场景,所以以后要添加7等级的关卡难度要注意!!!
string GetLevelSplitName ()
{
// GLogger.LogError ("=======================================随即路面: " + levelIndex + "_" + elementIndex);
string str = levelIndex + "_" + elementIndex;
return str;
}
private float rate = 100f;
// private float YOffset = 2.4f;
private float YOffset = 3.2f;
private float XOffset = 0;
private float xOffsetPosition = 0f;
//2 整体位置偏移量
private float x = 0;
private float y = 0;
private float ExtraPropYOffset = 0.31f;
private float CornYOffset = 0.35f;
float scale = 0;
private bool isLoadNextLand = false;
private bool isLoadNextElement = false;
int startLandIndex = 0;
int startElementIndex = 0;
bool carIsDead = false;
float lastLandPositionX = 0f;
float lastElementPositionX = 0f;
float curDistance = 0;
private float addMidSceneDisTimes = 1146;
//已经添加的中间场景的数量
private int addedMidSceneNum = 0;
private bool isChangeBg = false;
private ArrayList sceneRandomList;
private int finalLandIndex = 0;
private int startLandCount = 0;
private bool isChangeScene = false;
int midSceneDistance = 3000;
int currentLeftLand = 0;
int currentElementLeftLand = 0;
private List<RandomlandElement> tempElementList;
public bool isMidScene = false;
private float secondYOffset = 0.8f;
void Update ()
{
if (TempValue.GetInstance ().willOver) {
curDistance = BossConfig.GetInstant ().bossCurrentDistance;
LoadNextLand ();
LoadNextLandElements ();
} else {
curDistance = UserInfos.GetInstance ().distance;
LoadNextLand ();
LoadNextLandElements ();
}
// if (isChangeBg) {
// ChangeBgTexture ();
// }
}
void LoadNextLand ()
{
//加载路面
if (curDistance >= (lastLandPositionX - 12) && !isLoadNextLand) {
if (carIsDead) {
startLandIndex += 10;
LoadLand (startLandIndex);
carIsDead = false;
} else {
if (startLandIndex <= LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count) {
// GLogger.LogError ("===================================================== 路面总长 " + LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count);
currentLeftLand = LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count - endLandIndex;
// GLogger.LogError ("======================================================================剩余路面 ;" + (currentLeftLand));
if (currentLeftLand >= 10) {
startLandIndex += 10;
} else {
startLandIndex += currentLeftLand;
}
LoadLand (startLandIndex);
}
}
isLoadNextLand = true;
CheckIsRandomNextLand ();
} else if ((curDistance < (lastLandPositionX - 12)) && isLoadNextLand == true) {
isLoadNextLand = false;
}
}
void CheckIsRandomNextLand ()
{
if (IsLastLand ()) {
// GLogger.LogError ("*******************************************************************************************lastLandPositionX::: " + lastLandPositionX);
float temp = lastLandPositionX / 0.382f;
if (temp > 500 && temp <= 3000) {
NewLandParseXML.index = 1;
} else if (temp > 3000 && temp <= 6000) {
NewLandParseXML.index = 2;
} else if (temp > 6000 && temp <= 9000) {
NewLandParseXML.index = 3;
} else if (temp > 9000 && temp <= 12000) {
NewLandParseXML.index = 4;
} else if (temp > 12000 && temp <= 15000) {
NewLandParseXML.index = 5;
} else if (temp > 15000 && temp <= 18000) {
NewLandParseXML.index = 6;
} else if (temp > 18000 && temp <= 21000) {
NewLandParseXML.index = 7;
} else if (temp > 21000 && temp <= 24000) {
NewLandParseXML.index = 8;
} else if (temp > 24000 && temp <= 27000) {
NewLandParseXML.index = 9;
} else if (temp > 27000 && temp <= 30000) {
NewLandParseXML.index = 10;
} else if (temp > 30000) {
NewLandParseXML.index = 11;
}
finalElementPosition = lastLandPositionX;
// GLogger.LogError ("========================================================================================finalElementPosition=: " + finalElementPosition);
startElementIndex = 0;
endElementIndex = 0;
startElementCount = 0;
tempLandPosition = lastLandPositionX;
// GLogger.LogError ("************************>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>tempLandPosition=: " + tempLandPosition);
//2、判断是否需要加载中间场景
if (temp > midSceneDistance) {
isMidScene = true;
//添加中间场景,lastLandPositionX、finalElementPosition保持过度场景与前后两个场景之间的悬崖距离
lastLandPositionX += 10f;
finalElementPosition += 10f;
NewMidScene ();
} else {
startLandCount = 0;
startLandIndex = 0;
endLandIndex = 0;
InitCurParm ();
isLoadNextLand = false;
// GLogger.LogError ("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm " + GetLevelSplitName ());
}
}
}
int startIndex = 0;
int tempIndex = 0;
int lastTempIndex = 0;
void LoadNextLandElements ()
{
//加载路面元素
if (curDistance > (lastElementPositionX - 14) && !isLoadNextElement) {//finalElementPosition
if (carIsDead) {
startElementIndex += 10;
LoadLandElements (startElementIndex);
carIsDead = false;
} else {
tempElementList = LandConfigParseXML.GetLandElement (GetLevelSplitName ());
// for (int i = startIndex; i < tempElementList.Count; i++) {
//// GLogger.LogError ("lastTempIndex " + lastTempIndex + " startIndex " + startIndex + "============================================================");
//
// if (tempElementList [i].x / 100 + lastElementPositionX >= curDistance + 20) {
//
// GLogger.LogError (((tempElementList [i].x / 100)+ lastElementPositionX) + " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lastElementPositionX " + lastElementPositionX);
// tempIndex = i;
//
//// startIndex = tempIndex;
//
// startIndex += tempIndex;
// if(startIndex >= tempElementList.Count){
// startIndex = tempElementList.Count;
// }
//
// GLogger.LogError ("tempIndex: " + tempIndex + " >>>>>>>>>>>>>>>>>>>>>" + " startIndex: " + startIndex + ">>**********>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>curDistance + 20 " + (curDistance + 20));
// break;
// }
// }
// int tempValue = tempIndex - lastTempIndex;
// int tempValue = 9;
lastTempIndex = tempIndex;
if (startElementIndex < tempElementList.Count) {
// GLogger.LogError ("===================================================== 路面元素总长 " + tempElementList.Count);
currentElementLeftLand = tempElementList.Count - endElementIndex;
// GLogger.LogError ("======================================================================剩余路面元素 ;" + (currentElementLeftLand));
if (currentElementLeftLand > 6) {
startElementIndex += 6;
} else {
startElementIndex += currentElementLeftLand;
}
LoadLandElements (startElementIndex);
}
}
isLoadNextElement = true;
// if (IsLastElement ()) {
// finalElementPosition = lastLandPositionX;
// GLogger.LogError ("========================================================================================finalElementPosition=: " + finalElementPosition);
// startElementIndex = 0;
// endElementIndex = 0;
// startElementCount = 0;
// }
// } else if (curDistance <= (lastElementPositionX - 15) && isLoadNextElement == true) {
} else if (isLoadNextElement == true) {
isLoadNextElement = false;
}
}
bool IsLastLand ()
{
if (LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count == endLandIndex) {
return true;
} else {
return false;
}
}
bool IsLastElement ()
{
if (tempElementList.Count == endElementIndex) {
return true;
} else {
return false;
}
}
private List<RandomlandElement> tempMidElementList;
private List<RandomLand> tempMidLandList;
bool NewMidScene ()
{
addedMidSceneNum++;
isChangeBg = true;
ResetCarInMidScene ();
SetRandomBgIndex ();
CarConfig.GetInstance ().isMidScene = true;
int midIndex = 7;
// int midElementIndex = Random.Range (1, 6);
int midElementIndex = 1;
GameObject ob = null;
string midName = midIndex + "_" + midElementIndex;
tempMidElementList = LandConfigParseXML.GetLandElement (midName);
tempMidLandList = LandConfigParseXML.GetLandList (midName);
for (int i = 0; i < tempMidLandList.Count; i++) {
RandomLand land = new RandomLand ();
land = tempMidLandList [i];
switch (land.type) {
case (int)ObjectType.Land:
x = (land.x - XOffset) / rate - 0 + lastLandPositionX;
y = -land.y / rate + 1.07f;
string resourceName = land.resource;
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem (resourceName));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
}
// lastLandPositionX = ob.transform.localPosition.x;
float cornScale = 0;
GameObject elementOb = null;
for (int i = 0; i < tempMidElementList.Count; i++) {
RandomlandElement landElement = new RandomlandElement ();
landElement = tempMidElementList [i];
switch (landElement.type) {
case (int)ObjectType.Corn:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = Instantiate (ResManager.Load ("Prefab/Monster/Corn/CommomCorn/" + landElement.resource)) as GameObject;
elementOb.transform.parent = road_Parent.transform;
// elementOb = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + 3.4f, 10f);
// GLogger.LogError ("*********************************8888888888888888888 " + landElement.resource + " ==== " + cornScale + " *** " + ItemPool.GetInstance ().GetItem (landElement.resource).name + " 00 " + elementOb.transform.localPosition);
// elementOb.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.GravityCorn:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = Instantiate (ResManager.Load ("Prefab/Monster/Corn/GravityCorn/" + landElement.resource)) as GameObject;
elementOb.transform.parent = road_Parent.transform;
// elementOb = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + 3.4f, 10f);
// elementOb.transform.localScale = new Vector3 (cornScale, cornScale, 1f);
break;
case (int)ObjectType.Randomevent:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
string str = RandomEventInGame.GetInstance ().GetRandomValue ();
elementOb.GetComponent<AwardPropInGame> ().SetPropAttribute (str);
elementOb.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
case (int)ObjectType.Event:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
elementOb.GetComponent<AwardPropInGame> ().SetPropAttribute (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
}
}
if (midSceneDistance >= 12000) {
midSceneDistance += 2000;
} else {
midSceneDistance += 3000;
}
lastLandPositionX = ob.transform.localPosition.x + 11f;
finalElementPosition = lastLandPositionX;
tempLandPosition = lastLandPositionX;
startLandCount = 0;
startLandIndex = 0;
endLandIndex = 0;
InitCurParm ();
isLoadNextLand = false;
return true;
}
/// <summary>
/// 改变游戏背景Texture Update
/// </summary>
// void ChangeBgTexture ()
// {
// int temp = (int)((UserInfos.GetInstance ().distance) / (addMidSceneDisTimes + 18));
// if (addedMidSceneNum <= 0 || temp <= addedMidSceneNum - 1) {
// return;
// }
// isChangeBg = false;
// }
int sceneIndex = 1;
int SetRandomBgIndex ()
{
int tempId = 0;
if ((curDistance / 0.382f) > 12000) {
int tempIndex = Random.Range (0, sceneRandomList.Count);
tempId = (int)sceneRandomList [tempIndex];
sceneRandomList.RemoveAt (tempIndex);
} else {
tempId = (int)sceneRandomList [sceneIndex];
sceneIndex++;
if (sceneIndex >= 4) {
sceneIndex = 0;
}
}
if (sceneRandomList.Count <= 0) {
sceneRandomList.Add (1);
sceneRandomList.Add (2);
sceneRandomList.Add (3);
sceneRandomList.Add (4);
}
TempValue.GetInstance ().curLandType = tempId - 1;
return tempId;
}
/// <summary>
/// 0、暂停前一个场景的Boss
/// 1、判断跑过中间场景的次数
/// 2、在中间场景重新设置汽车配置
/// 3、在中间场景,不再积蓄飞行模式
/// </summary>
void ResetCarInMidScene ()
{
TempValue.GetInstance ().isPlayBackgroundAnim = false;
//暂停前一个场景的Boss
GameObject.FindGameObjectWithTag ("Player").GetComponent<CarControlor> ().ChangeBossAccordingToNextLevel (false);
CarConfig.GetInstance ().throughMidScenetimes++;//统计路过中间场景的次数
}
int endLandIndex = 0;
float tempLandPosition = 0;
void LoadLand (int landCount)
{
int tempEndIndex = 0;
GameObject ob = null;
// GLogger.LogError ("*******************************************landCount> " + landCount);
// GLogger.LogError ("===================================================startLandCount> " + startLandCount);
RandomLand land = new RandomLand ();
for (int i = startLandCount; i < landCount; i++) {
land = LandConfigParseXML.GetLandList (GetLevelSplitName ()) [i];
switch (land.type) {
case (int)ObjectType.Land:
x = (land.x - XOffset) / rate - xOffsetPosition + tempLandPosition;
y = -land.y / rate + YOffset;
string resourceName = land.resource;
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem (resourceName));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case (int)Land_type.Ground_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
case (int)Land_type.Night_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
case (int)Land_type.Rain_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
}
if (resourceName == "MinCliff" || resourceName == "Cliff") {
ob.GetComponent<SpriteRenderer> ().enabled = false;
}
tempEndIndex = i + 1;
break;
}
}
endLandIndex = tempEndIndex;
startLandCount = landCount;
lastLandPositionX = ob.transform.localPosition.x + 0;
}
int endElementIndex = 0;
int startElementCount = 0;
float finalElementPosition = 0;
float monsterTempYOffset = 0f;
void LoadLandElements (int landElementCount)
{
if (landElementCount > tempElementList.Count) {
return;
}
int tempEndElementsIndex = 0;
// GLogger.LogError (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>landElementCount> " + landElementCount);
// GLogger.LogError (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>startElementCountstartElementCount > " + startElementCount);
GameObject ob = null;
for (int i = startElementCount; i < landElementCount; i++) {
RandomlandElement landElement = new RandomlandElement ();
landElement = tempElementList [i];
switch (landElement.type) {
case (int)ObjectType.Obstacle:
// x = (landElement.x - XOffset) / rate - xOffsetPosition + lastElementPositionX;
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
// x = (landElement.x - XOffset) / rate - xOffsetPosition + lastLandPositionX;
y = -landElement.y / rate + YOffset;
switch (landElement.resource) {
case "mouse":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("MouseRun"));
scale = ItemPool.GetInstance ().GetScale ("MouseRun");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Apple"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Apple");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Duck"));
scale = ItemPool.GetInstance ().GetScale ("Night_Duck");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Frog_Jump"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Frog_Jump");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
case "stone":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Stone1"));
scale = ItemPool.GetInstance ().GetScale ("Stone1");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Bone"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Bone");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Grass"));
scale = ItemPool.GetInstance ().GetScale ("Night_Grass");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Puddles_Wave"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Puddles_Wave");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
case "sunflower":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("SunflowerRun"));
scale = ItemPool.GetInstance ().GetScale ("SunflowerRun");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Pumpkin"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Pumpkin");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Cactus"));
scale = ItemPool.GetInstance ().GetScale ("Night_Cactus");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Wind_Sway"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Wind_Sway");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
}
break;
case (int)ObjectType.Corn:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = Instantiate (ResManager.Load ("Prefab/Monster/Corn/CommomCorn/" + landElement.resource)) as GameObject;
ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
//// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
// ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.GravityCorn:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = Instantiate (ResManager.Load ("Prefab/Monster/Corn/GravityCorn/" + landElement.resource)) as GameObject;
ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// // cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
// ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.Randomevent:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
// ob = Instantiate (ResManager.Load ("Prefab/ExtraProp/ExtraProp")) as GameObject;
string str = RandomEventInGame.GetInstance ().GetRandomValue ();
ob.GetComponent<AwardPropInGame> ().SetPropAttribute (str);
// ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
case (int)ObjectType.Event:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
// ob = Instantiate (ResManager.Load ("Prefab/ExtraProp/ExtraProp")) as GameObject;
ob.GetComponent<AwardPropInGame> ().SetPropAttribute (landElement.resource);
// ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
}
tempEndElementsIndex = i + 1;
}
endElementIndex = tempEndElementsIndex;
startElementCount = landElementCount;
lastElementPositionX = ob.transform.localPosition.x;
// finalElementPosition = ob.transform.localPosition.x;
}
}
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
public enum ObjectType
{
Land,
Obstacle,
Corn,
GravityCorn,
Randomevent,
Event,
}
//RoadMngr
public class TestNewRoad : MonoBehaviour
{
public GameObject road_Parent;
public GameObject monster_Parent;
public GameObject propInGame;
public GameObject corn_Parent;
// private StopBoss stopBoss;
void Awake ()
{
Init ();
}
void Init ()
{
GetCommponent getComponent = GetComponent<GetCommponent> ();
road_Parent = getComponent.defaultGameObject [0];
monster_Parent = getComponent.defaultGameObject [1];
propInGame = getComponent.defaultGameObject [2];
corn_Parent = getComponent.defaultGameObject [3];
}
void Start ()
{
InitCurParm ();
sceneRandomList = new ArrayList{ 1, 2, 3, 4 };//随机场景的序号
// stopBoss = GameObject.FindGameObjectWithTag ("StopBoss").GetComponent<StopBoss> ();
}
private int SumWeight;
private List<int> WeightList;
private List<int> TimesList;
int randomNum;
NewLandEntity tempNewLandEntity;
private int levelIndex = 0;
private int elementIndex = 0;
void InitCurParm ()
{
SumWeight = 0;
WeightList = new List<int> ();
TimesList = new List<int> ();
tempNewLandEntity = NewLandParseXML.GetLand (NewLandParseXML.index);
// GLogger.LogError ("====================================================================NewLandParseXML.index: " + NewLandParseXML.index);
TimesList.Add (tempNewLandEntity.times0);
TimesList.Add (tempNewLandEntity.times1);
TimesList.Add (tempNewLandEntity.times2);
TimesList.Add (tempNewLandEntity.times3);
TimesList.Add (tempNewLandEntity.times4);
TimesList.Add (tempNewLandEntity.times5);
TimesList.Add (tempNewLandEntity.times6);
WeightList.Add (SumWeight += tempNewLandEntity.weight0);
WeightList.Add (SumWeight += tempNewLandEntity.weight1);
WeightList.Add (SumWeight += tempNewLandEntity.weight2);
WeightList.Add (SumWeight += tempNewLandEntity.weight3);
WeightList.Add (SumWeight += tempNewLandEntity.weight4);
WeightList.Add (SumWeight += tempNewLandEntity.weight5);
WeightList.Add (SumWeight += tempNewLandEntity.weight6);
randomNum = (int)(Random.value * SumWeight);
for (int i = 0; i < WeightList.Count; i++) {
if (WeightList [i] > randomNum) {
// GLogger.LogError ("************************************************************************===i= " + i);
switch (NewLandParseXML.index) {
case 0:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 1:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 2:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 3:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 4:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 5:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 6:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 7:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 8:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 9:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 10:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
case 11:
levelIndex = i;
elementIndex = Random.Range (1, 4);
break;
}
break;
}
}
}
//由于中间场景规定的Lv7_0 是中间场景,所以以后要添加7等级的关卡难度要注意!!!
string GetLevelSplitName ()
{
// GLogger.LogError ("=======================================随即路面: " + levelIndex + "_" + elementIndex);
string str = levelIndex + "_" + elementIndex;
return str;
}
private float rate = 100f;
// private float YOffset = 2.4f;
private float YOffset = 3.2f;
private float XOffset = 0;
private float xOffsetPosition = 0f;
//2 整体位置偏移量
private float x = 0;
private float y = 0;
private float ExtraPropYOffset = 0.31f;
private float CornYOffset = 0.35f;
float scale = 0;
private bool isLoadNextLand = false;
private bool isLoadNextElement = false;
int startLandIndex = 0;
int startElementIndex = 0;
bool carIsDead = false;
float lastLandPositionX = 0f;
float lastElementPositionX = 0f;
float curDistance = 0;
private float addMidSceneDisTimes = 1146;
//已经添加的中间场景的数量
private int addedMidSceneNum = 0;
private bool isChangeBg = false;
private ArrayList sceneRandomList;
private int finalLandIndex = 0;
private int startLandCount = 0;
private bool isChangeScene = false;
int midSceneDistance = 3000;
int currentLeftLand = 0;
int currentElementLeftLand = 0;
private List<RandomlandElement> tempElementList;
public bool isMidScene = false;
private float secondYOffset = 0.8f;
void Update ()
{
if (TempValue.GetInstance ().willOver) {
curDistance = BossConfig.GetInstant ().bossCurrentDistance;
LoadNextLand ();
LoadNextLandElements ();
} else {
curDistance = UserInfos.GetInstance ().distance;
LoadNextLand ();
LoadNextLandElements ();
}
// if (isChangeBg) {
// ChangeBgTexture ();
// }
}
void LoadNextLand ()
{
//加载路面
if (curDistance >= (lastLandPositionX - 12) && !isLoadNextLand) {
if (carIsDead) {
startLandIndex += 10;
LoadLand (startLandIndex);
carIsDead = false;
} else {
if (startLandIndex <= LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count) {
// GLogger.LogError ("===================================================== 路面总长 " + LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count);
currentLeftLand = LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count - endLandIndex;
// GLogger.LogError ("======================================================================剩余路面 ;" + (currentLeftLand));
if (currentLeftLand >= 10) {
startLandIndex += 10;
} else {
startLandIndex += currentLeftLand;
}
LoadLand (startLandIndex);
}
}
isLoadNextLand = true;
CheckIsRandomNextLand ();
} else if ((curDistance < (lastLandPositionX - 12)) && isLoadNextLand == true) {
isLoadNextLand = false;
}
}
void CheckIsRandomNextLand ()
{
if (IsLastLand ()) {
// GLogger.LogError ("*******************************************************************************************lastLandPositionX::: " + lastLandPositionX);
float temp = lastLandPositionX / 0.382f;
if (temp > 500 && temp <= 3000) {
NewLandParseXML.index = 1;
} else if (temp > 3000 && temp <= 6000) {
NewLandParseXML.index = 2;
} else if (temp > 6000 && temp <= 9000) {
NewLandParseXML.index = 3;
} else if (temp > 9000 && temp <= 12000) {
NewLandParseXML.index = 4;
} else if (temp > 12000 && temp <= 15000) {
NewLandParseXML.index = 5;
} else if (temp > 15000 && temp <= 18000) {
NewLandParseXML.index = 6;
} else if (temp > 18000 && temp <= 21000) {
NewLandParseXML.index = 7;
} else if (temp > 21000 && temp <= 24000) {
NewLandParseXML.index = 8;
} else if (temp > 24000 && temp <= 27000) {
NewLandParseXML.index = 9;
} else if (temp > 27000 && temp <= 30000) {
NewLandParseXML.index = 10;
} else if (temp > 30000) {
NewLandParseXML.index = 11;
}
finalElementPosition = lastLandPositionX;
// GLogger.LogError ("========================================================================================finalElementPosition=: " + finalElementPosition);
startElementIndex = 0;
endElementIndex = 0;
startElementCount = 0;
tempLandPosition = lastLandPositionX;
// GLogger.LogError ("************************>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>tempLandPosition=: " + tempLandPosition);
//2、判断是否需要加载中间场景
if (temp > midSceneDistance) {
isMidScene = true;
//添加中间场景,lastLandPositionX、finalElementPosition保持过度场景与前后两个场景之间的悬崖距离
lastLandPositionX += 10f;
finalElementPosition += 10f;
NewMidScene ();
} else {
startLandCount = 0;
startLandIndex = 0;
endLandIndex = 0;
InitCurParm ();
isLoadNextLand = false;
// GLogger.LogError ("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm " + GetLevelSplitName ());
}
}
}
int startIndex = 0;
int tempIndex = 0;
int lastTempIndex = 0;
void LoadNextLandElements ()
{
//加载路面元素
if (curDistance > (lastElementPositionX - 14) && !isLoadNextElement) {//finalElementPosition
if (carIsDead) {
startElementIndex += 10;
LoadLandElements (startElementIndex);
carIsDead = false;
} else {
tempElementList = LandConfigParseXML.GetLandElement (GetLevelSplitName ());
// for (int i = startIndex; i < tempElementList.Count; i++) {
//// GLogger.LogError ("lastTempIndex " + lastTempIndex + " startIndex " + startIndex + "============================================================");
//
// if (tempElementList [i].x / 100 + lastElementPositionX >= curDistance + 20) {
//
// GLogger.LogError (((tempElementList [i].x / 100)+ lastElementPositionX) + " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lastElementPositionX " + lastElementPositionX);
// tempIndex = i;
//
//// startIndex = tempIndex;
//
// startIndex += tempIndex;
// if(startIndex >= tempElementList.Count){
// startIndex = tempElementList.Count;
// }
//
// GLogger.LogError ("tempIndex: " + tempIndex + " >>>>>>>>>>>>>>>>>>>>>" + " startIndex: " + startIndex + ">>**********>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>curDistance + 20 " + (curDistance + 20));
// break;
// }
// }
// int tempValue = tempIndex - lastTempIndex;
// int tempValue = 9;
lastTempIndex = tempIndex;
if (startElementIndex < tempElementList.Count) {
// GLogger.LogError ("===================================================== 路面元素总长 " + tempElementList.Count);
currentElementLeftLand = tempElementList.Count - endElementIndex;
// GLogger.LogError ("======================================================================剩余路面元素 ;" + (currentElementLeftLand));
if (currentElementLeftLand > 6) {
startElementIndex += 6;
} else {
startElementIndex += currentElementLeftLand;
}
LoadLandElements (startElementIndex);
}
}
isLoadNextElement = true;
// if (IsLastElement ()) {
// finalElementPosition = lastLandPositionX;
// GLogger.LogError ("========================================================================================finalElementPosition=: " + finalElementPosition);
// startElementIndex = 0;
// endElementIndex = 0;
// startElementCount = 0;
// }
// } else if (curDistance <= (lastElementPositionX - 15) && isLoadNextElement == true) {
} else if (isLoadNextElement == true) {
isLoadNextElement = false;
}
}
bool IsLastLand ()
{
if (LandConfigParseXML.GetLandList (GetLevelSplitName ()).Count == endLandIndex) {
return true;
} else {
return false;
}
}
bool IsLastElement ()
{
if (tempElementList.Count == endElementIndex) {
return true;
} else {
return false;
}
}
private List<RandomlandElement> tempMidElementList;
private List<RandomLand> tempMidLandList;
bool NewMidScene ()
{
addedMidSceneNum++;
isChangeBg = true;
ResetCarInMidScene ();
SetRandomBgIndex ();
CarConfig.GetInstance ().isMidScene = true;
int midIndex = 7;
// int midElementIndex = Random.Range (1, 6);
int midElementIndex = 1;
GameObject ob = null;
string midName = midIndex + "_" + midElementIndex;
tempMidElementList = LandConfigParseXML.GetLandElement (midName);
tempMidLandList = LandConfigParseXML.GetLandList (midName);
for (int i = 0; i < tempMidLandList.Count; i++) {
RandomLand land = new RandomLand ();
land = tempMidLandList [i];
switch (land.type) {
case (int)ObjectType.Land:
x = (land.x - XOffset) / rate - 0 + lastLandPositionX;
y = -land.y / rate + 1.07f;
string resourceName = land.resource;
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem (resourceName));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
}
// lastLandPositionX = ob.transform.localPosition.x;
float cornScale = 0;
GameObject elementOb = null;
for (int i = 0; i < tempMidElementList.Count; i++) {
RandomlandElement landElement = new RandomlandElement ();
landElement = tempMidElementList [i];
switch (landElement.type) {
case (int)ObjectType.Corn:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = Instantiate (ResManager.Load ("Prefab/Monster/Corn/CommomCorn/" + landElement.resource)) as GameObject;
elementOb.transform.parent = road_Parent.transform;
// elementOb = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + 3.4f, 10f);
// GLogger.LogError ("*********************************8888888888888888888 " + landElement.resource + " ==== " + cornScale + " *** " + ItemPool.GetInstance ().GetItem (landElement.resource).name + " 00 " + elementOb.transform.localPosition);
// elementOb.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.GravityCorn:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = Instantiate (ResManager.Load ("Prefab/Monster/Corn/GravityCorn/" + landElement.resource)) as GameObject;
elementOb.transform.parent = road_Parent.transform;
// elementOb = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + 3.4f, 10f);
// elementOb.transform.localScale = new Vector3 (cornScale, cornScale, 1f);
break;
case (int)ObjectType.Randomevent:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
string str = RandomEventInGame.GetInstance ().GetRandomValue ();
elementOb.GetComponent<AwardPropInGame> ().SetPropAttribute (str);
elementOb.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
case (int)ObjectType.Event:
x = (landElement.x - XOffset) / rate - 8 + finalElementPosition;
y = -landElement.y / rate + YOffset;
elementOb = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
elementOb.GetComponent<AwardPropInGame> ().SetPropAttribute (landElement.resource);
elementOb.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
}
}
if (midSceneDistance >= 12000) {
midSceneDistance += 2000;
} else {
midSceneDistance += 3000;
}
lastLandPositionX = ob.transform.localPosition.x + 11f;
finalElementPosition = lastLandPositionX;
tempLandPosition = lastLandPositionX;
startLandCount = 0;
startLandIndex = 0;
endLandIndex = 0;
InitCurParm ();
isLoadNextLand = false;
return true;
}
/// <summary>
/// 改变游戏背景Texture Update
/// </summary>
// void ChangeBgTexture ()
// {
// int temp = (int)((UserInfos.GetInstance ().distance) / (addMidSceneDisTimes + 18));
// if (addedMidSceneNum <= 0 || temp <= addedMidSceneNum - 1) {
// return;
// }
// isChangeBg = false;
// }
int sceneIndex = 1;
int SetRandomBgIndex ()
{
int tempId = 0;
if ((curDistance / 0.382f) > 12000) {
int tempIndex = Random.Range (0, sceneRandomList.Count);
tempId = (int)sceneRandomList [tempIndex];
sceneRandomList.RemoveAt (tempIndex);
} else {
tempId = (int)sceneRandomList [sceneIndex];
sceneIndex++;
if (sceneIndex >= 4) {
sceneIndex = 0;
}
}
if (sceneRandomList.Count <= 0) {
sceneRandomList.Add (1);
sceneRandomList.Add (2);
sceneRandomList.Add (3);
sceneRandomList.Add (4);
}
TempValue.GetInstance ().curLandType = tempId - 1;
return tempId;
}
/// <summary>
/// 0、暂停前一个场景的Boss
/// 1、判断跑过中间场景的次数
/// 2、在中间场景重新设置汽车配置
/// 3、在中间场景,不再积蓄飞行模式
/// </summary>
void ResetCarInMidScene ()
{
TempValue.GetInstance ().isPlayBackgroundAnim = false;
//暂停前一个场景的Boss
GameObject.FindGameObjectWithTag ("Player").GetComponent<CarControlor> ().ChangeBossAccordingToNextLevel (false);
CarConfig.GetInstance ().throughMidScenetimes++;//统计路过中间场景的次数
}
int endLandIndex = 0;
float tempLandPosition = 0;
void LoadLand (int landCount)
{
int tempEndIndex = 0;
GameObject ob = null;
// GLogger.LogError ("*******************************************landCount> " + landCount);
// GLogger.LogError ("===================================================startLandCount> " + startLandCount);
RandomLand land = new RandomLand ();
for (int i = startLandCount; i < landCount; i++) {
land = LandConfigParseXML.GetLandList (GetLevelSplitName ()) [i];
switch (land.type) {
case (int)ObjectType.Land:
x = (land.x - XOffset) / rate - xOffsetPosition + tempLandPosition;
y = -land.y / rate + YOffset;
string resourceName = land.resource;
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem (resourceName));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case (int)Land_type.Ground_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Ground_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
case (int)Land_type.Night_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Night_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
case (int)Land_type.Rain_land:
switch (resourceName) {
case "Dusk_land_End_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_End_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_End_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_End_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_1_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_1_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Mid_2_3":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Mid_2_3"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_1":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Start_1"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Dusk_land_Start_2":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Rain_land_Start_2"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "Cliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("Cliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
case "MinCliff":
ob = NGUITools.AddToChild (road_Parent, ItemPool.GetInstance ().GetItem ("MinCliff"));
ob.transform.localPosition = new Vector3 (x, y, 5);
break;
}
break;
}
if (resourceName == "MinCliff" || resourceName == "Cliff") {
ob.GetComponent<SpriteRenderer> ().enabled = false;
}
tempEndIndex = i + 1;
break;
}
}
endLandIndex = tempEndIndex;
startLandCount = landCount;
lastLandPositionX = ob.transform.localPosition.x + 0;
}
int endElementIndex = 0;
int startElementCount = 0;
float finalElementPosition = 0;
float monsterTempYOffset = 0f;
void LoadLandElements (int landElementCount)
{
if (landElementCount > tempElementList.Count) {
return;
}
int tempEndElementsIndex = 0;
// GLogger.LogError (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>landElementCount> " + landElementCount);
// GLogger.LogError (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>startElementCountstartElementCount > " + startElementCount);
GameObject ob = null;
for (int i = startElementCount; i < landElementCount; i++) {
RandomlandElement landElement = new RandomlandElement ();
landElement = tempElementList [i];
switch (landElement.type) {
case (int)ObjectType.Obstacle:
// x = (landElement.x - XOffset) / rate - xOffsetPosition + lastElementPositionX;
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
// x = (landElement.x - XOffset) / rate - xOffsetPosition + lastLandPositionX;
y = -landElement.y / rate + YOffset;
switch (landElement.resource) {
case "mouse":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("MouseRun"));
scale = ItemPool.GetInstance ().GetScale ("MouseRun");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Apple"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Apple");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Duck"));
scale = ItemPool.GetInstance ().GetScale ("Night_Duck");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Frog_Jump"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Frog_Jump");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
case "stone":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Stone1"));
scale = ItemPool.GetInstance ().GetScale ("Stone1");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Bone"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Bone");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Grass"));
scale = ItemPool.GetInstance ().GetScale ("Night_Grass");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Puddles_Wave"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Puddles_Wave");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
case "sunflower":
switch (TempValue.GetInstance ().curLandType) {
case (int)Land_type.Dusk_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("SunflowerRun"));
scale = ItemPool.GetInstance ().GetScale ("SunflowerRun");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Ground_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Ground_Pumpkin"));
scale = ItemPool.GetInstance ().GetScale ("Ground_Pumpkin");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Night_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Night_Cactus"));
scale = ItemPool.GetInstance ().GetScale ("Night_Cactus");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
case (int)Land_type.Rain_land:
ob = NGUITools.AddToChild (monster_Parent, ItemPool.GetInstance ().GetItem ("Rain_Wind_Sway"));
scale = ItemPool.GetInstance ().GetScale ("Rain_Wind_Sway");
ob.transform.localScale = new Vector3 (scale, scale, 1);
ob.transform.localPosition = new Vector3 (x, y + monsterTempYOffset, 5);
break;
}
break;
}
break;
case (int)ObjectType.Corn:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = Instantiate (ResManager.Load ("Prefab/Monster/Corn/CommomCorn/" + landElement.resource)) as GameObject;
ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
//// cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
// ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.GravityCorn:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = Instantiate (ResManager.Load ("Prefab/Monster/Corn/GravityCorn/" + landElement.resource)) as GameObject;
ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob = NGUITools.AddToChild (corn_Parent, ItemPool.GetInstance ().GetItem (landElement.resource));
// // cornScale = ItemPool.GetInstance ().GetScale (landElement.resource);
// ob.transform.localPosition = new Vector3 (x, y + CornYOffset, 10);
// ob.transform.localScale = new Vector3 (0.3f, 0.3f, 1f);
break;
case (int)ObjectType.Randomevent:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
// ob = Instantiate (ResManager.Load ("Prefab/ExtraProp/ExtraProp")) as GameObject;
string str = RandomEventInGame.GetInstance ().GetRandomValue ();
ob.GetComponent<AwardPropInGame> ().SetPropAttribute (str);
// ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
case (int)ObjectType.Event:
x = (landElement.x - XOffset) / rate - xOffsetPosition + finalElementPosition;
y = -landElement.y / rate + YOffset;
ob = NGUITools.AddToChild (propInGame, ItemPool.GetInstance ().GetItem ("ExtraProp"));
// ob = Instantiate (ResManager.Load ("Prefab/ExtraProp/ExtraProp")) as GameObject;
ob.GetComponent<AwardPropInGame> ().SetPropAttribute (landElement.resource);
// ob.transform.parent = road_Parent.transform;
ob.transform.localPosition = new Vector3 (x, y + ExtraPropYOffset, 10);
break;
}
tempEndElementsIndex = i + 1;
}
endElementIndex = tempEndElementsIndex;
startElementCount = landElementCount;
lastElementPositionX = ob.transform.localPosition.x;
// finalElementPosition = ob.transform.localPosition.x;
}
}

6947

被折叠的 条评论
为什么被折叠?



