I’ve got an issue where a game object is spawned that doesn’t work as well as an empty game object called “New Game Object”.
I also have this error: UnityException: Transform child out of bounds
UnitStatistics.Awake () (at Assets/Scripts/UnitStatistics.cs:67)
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion)
BattleController:Spawning() (at Assets/Scripts/BattleController.cs:124)
BattleController:Awake() (at Assets/Scripts/BattleController.cs:55)
The mentioned Functions: Unit Behaviour
public virtual void Awake ()
{
m_UnitStatistics = this.gameObject.GetComponent<UnitStatistics> ();
BattleControllerHoldingObject = GameObject.FindGameObjectWithTag("ManagementScriptHolder");
m_BattleController = BattleControllerHoldingObject.gameObject.GetComponent<BattleController> ();
m_Animator = this.gameObject.GetComponent<Animator> ();
PushBox = this.gameObject.GetComponent<Collider2D> ();
MoveAcc = MoveMax / MoveSpeed;
Attack1MoveAcc = Attack1MoveMax / Attack1MoveSpeed;
}
Battle Controller
void Awake ()
{
VictoryState = false;
Spawning();
m_OverallUnitList.AddRange(GameObject.FindGameObjectsWithTag("Unit"));
m_ActiveUnitList.AddRange(m_OverallUnitList);
TeamConditionStartup();
SpawnTeamPointSliders();
}
void Spawning ()
{
for (int i=0;i<m_HowManyUnitsToSpawn;++i)
{
GameObject CurrentObjectToSpawn = new GameObject();
switch (UnitToSpawn*)*
-
{*
-
case 0:*
-
CurrentObjectToSpawn = m_HumanSwordsmanOBJ;*
-
break;*
-
case 1:*
-
CurrentObjectToSpawn = m_HumanArcherOBJ;*
-
break;*
-
case 2:*
-
CurrentObjectToSpawn = m_MokoFighterOBJ;*
-
break;*
-
case 3:*
-
CurrentObjectToSpawn = m_MokoDartThrowOBJ;*
-
break;*
-
case 4:*
-
CurrentObjectToSpawn = m_DaveRushGoonOBJ;*
-
break;*
-
case 5:*
-
CurrentObjectToSpawn = m_BeaconBatterOBJ;*
-
break;*
-
}*
_ switch (SpawnpointSetToSpawnAt*)_
_ {_
_ case 0:*_
GameObject CurrentSpawnedObjectSP1 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints1[SpawnpointIndexToSpawnAt].position, m_Spawnpoints1[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP1STAT;
CSOBJSP1STAT = CurrentSpawnedObjectSP1.GetComponent();
CSOBJSP1STAT.Team = TeamToSpawnAs;_
CSOBJSP1STAT.m_Group = GroupToSpawnAs;
CSOBJSP1STAT.m_Faction = GroupToSpawnAs;
CSOBJSP1STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP1STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP1STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP1STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP1STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 1:*_
GameObject CurrentSpawnedObjectSP2 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints2[SpawnpointIndexToSpawnAt].position, m_Spawnpoints2[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP2STAT;
CSOBJSP2STAT = CurrentSpawnedObjectSP2.GetComponent();
CSOBJSP2STAT.Team = TeamToSpawnAs;_
CSOBJSP2STAT.m_Group = GroupToSpawnAs;
CSOBJSP2STAT.m_Faction = GroupToSpawnAs;
CSOBJSP2STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP2STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP2STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP2STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP2STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;*
* break;*
* case 2:*
GameObject CurrentSpawnedObjectSP3 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints3[SpawnpointIndexToSpawnAt].position, m_Spawnpoints3[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP3STAT;
CSOBJSP3STAT = CurrentSpawnedObjectSP3.GetComponent();
CSOBJSP3STAT.Team = TeamToSpawnAs;_
CSOBJSP3STAT.m_Group = GroupToSpawnAs;
CSOBJSP3STAT.m_Faction = GroupToSpawnAs;
CSOBJSP3STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP3STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP3STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP3STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP3STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 3:_
GameObject CurrentSpawnedObjectSP4 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints4[SpawnpointIndexToSpawnAt].position, m_Spawnpoints4[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP4STAT;
CSOBJSP4STAT = CurrentSpawnedObjectSP4.GetComponent();
CSOBJSP4STAT.Team = TeamToSpawnAs;_
CSOBJSP4STAT.m_Group = GroupToSpawnAs;
CSOBJSP4STAT.m_Faction = GroupToSpawnAs;
CSOBJSP4STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP4STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP4STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP4STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP4STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 4:_
GameObject CurrentSpawnedObjectSP5 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints5[SpawnpointIndexToSpawnAt].position, m_Spawnpoints5[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP5STAT;
CSOBJSP5STAT = CurrentSpawnedObjectSP5.GetComponent();
CSOBJSP5STAT.Team = TeamToSpawnAs;_
CSOBJSP5STAT.m_Group = GroupToSpawnAs;
CSOBJSP5STAT.m_Faction = GroupToSpawnAs;
CSOBJSP5STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP5STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP5STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP5STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP5STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 5:_
GameObject CurrentSpawnedObjectSP6 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints6[SpawnpointIndexToSpawnAt].position, m_Spawnpoints6[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP6STAT;
CSOBJSP6STAT = CurrentSpawnedObjectSP6.GetComponent();
CSOBJSP6STAT.Team = TeamToSpawnAs;_
CSOBJSP6STAT.m_Group = GroupToSpawnAs;
CSOBJSP6STAT.m_Faction = GroupToSpawnAs;
CSOBJSP6STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP6STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP6STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP6STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP6STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
}
}*_
* }*
----------
I’ve been trying to figure out what to do about this to no avail. Ohh and I don’t know for sure but these scripts probably aren’t the most efficient.