private void Initialize() { if (!Data) { Data = CreateInstance <MovingPlatformData>(); } Data.OnInitialize(); }
public void UpdateGlobalControls() { GlobalControl.Instance.playerData.movingPlatformIndex = IndexOfMovingPlatform(_player); GlobalControl.Instance.playerData.currentPlayerPosition = _player.transform.position; for (int index = 0; index < enemies.Length; index++) { EnemyData enemyData = GlobalControl.Instance.enemyData [index]; GameObject enemy = enemies [index]; Enemy enemyBehavior = enemy.GetComponent <Enemy> (); // is a moving Enemy if (!enemyBehavior) { Transform childEnemy = enemy.transform.GetChild(0); enemyBehavior = childEnemy.gameObject.GetComponent <Enemy> (); enemyData.isStunned = enemyBehavior.isStunned; enemyData.childPosition = childEnemy.position; enemyData.currentPosition = enemy.transform.position; enemyData.isMovingEnemy = true; } else { enemyData.isStunned = enemyBehavior.isStunned; enemyData.currentPosition = enemy.transform.position; enemyData.isMovingEnemy = false; } } for (int index = 0; index < coins.Length; index++) { CoinData coinData = GlobalControl.Instance.coinData [index]; GameObject coin = coins [index]; coinData.doesExist = coin.activeSelf; } for (int index = 0; index < platforms.Length; index++) { GameObject platform = platforms [index]; MovingPlatformData platformData = GlobalControl.Instance.platformsData [index]; platformData.currentPosition = platform.transform.position; PlatformMover platformMover = platform.GetComponent <PlatformMover> (); platformMover.myWaypointIndex = platformData.waypointIndex; } }
void RefreshWithGlobalControls() { _player.transform.position = GlobalControl.Instance.playerData.currentPlayerPosition; for (int index = 0; index < GlobalControl.Instance.enemyData.Length; index++) { EnemyData enemyData = GlobalControl.Instance.enemyData [index]; GameObject enemy = enemies [index]; Enemy enemyBehavior = enemy.GetComponent <Enemy> (); // is a moving Enemy if (!enemyBehavior) { Transform childEnemy = enemy.transform.GetChild(0); enemyBehavior = childEnemy.gameObject.GetComponent <Enemy> (); childEnemy.position = enemyData.childPosition; enemy.transform.position = enemyData.currentPosition; } else { enemy.transform.position = enemyData.currentPosition; } if (enemyData.isStunned) { enemyBehavior.Stunned(); } /* if (enemyData.movingPlatformIndex >= 0) { * SetObjectToChildOfPlatform (enemy, platforms [enemyData.movingPlatformIndex]); * } */ } for (int index = 0; index < GlobalControl.Instance.coinData.Length; index++) { CoinData coinData = GlobalControl.Instance.coinData [index]; GameObject coin = coins [index]; coin.SetActive(coinData.doesExist); } for (int index = 0; index < GlobalControl.Instance.platformsData.Length; index++) { MovingPlatformData platformData = GlobalControl.Instance.platformsData [index]; GameObject platform = platforms [index]; platform.transform.position = platformData.currentPosition; } }
void SetupGlobalControls() { GlobalControl.Instance.mainLevel = currentLevel; GlobalControl.Instance.playerData = new PlayerData(); GlobalControl.Instance.enemyData = new EnemyData[enemies.Length]; GlobalControl.Instance.coinData = new CoinData[coins.Length]; GlobalControl.Instance.platformsData = new MovingPlatformData[platforms.Length]; GlobalControl.Instance.playerData.playerHP = playerHP; GlobalControl.Instance.playerData.playerMAXHP = playerMAXHP; GlobalControl.Instance.playerData.movingPlatformIndex = IndexOfMovingPlatform(_player); for (int index = 0; index < enemies.Length; index++) { GameObject enemy = enemies [index]; EnemyData enemyData = new EnemyData(); enemyData.currentPosition = enemy.transform.position; enemyData.isStunned = false; GlobalControl.Instance.enemyData [index] = enemyData; } for (int index = 0; index < coins.Length; index++) { CoinData coinData = new CoinData(); coinData.doesExist = true; GlobalControl.Instance.coinData [index] = coinData; } for (int index = 0; index < platforms.Length; index++) { GameObject platform = platforms [index]; MovingPlatformData platformData = new MovingPlatformData(); platformData.currentPosition = platform.transform.position; GlobalControl.Instance.platformsData [index] = platformData; } }