private void Initialize()
 {
     if (!Data)
     {
         Data = CreateInstance <MovingPlatformData>();
     }
     Data.OnInitialize();
 }
Ejemplo n.º 2
0
    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;
        }
    }
Ejemplo n.º 3
0
    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;
        }
    }
Ejemplo n.º 4
0
    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;
        }
    }