Beispiel #1
0
    private void UpdateCrewPos(Point _nextPos)
    {
        TileScript _tile = LevelManager.Instance.Tiles[crewPos];
        RoomScript _room = _tile.transform.GetChild(0).GetChild(0).GetComponent <RoomScript>();

        //_room.ExitRoom();
        //Debug.LogError("crewPos: " + crewPos.X + ", " + crewPos.Y);

        //crewPos.X += _x;
        //crewPos.Y += _y;
        crewPos = _nextPos;

        //Vector3 _vect = LevelManager.Instance.Tiles [crewPos].transform.position;
        //_vect.x -= (tileDistance / 2);



        //stuff here!
        Debug.LogError("crewPos: " + crewPos.X + ", " + crewPos.Y + ", " + crewPos.Z);


        _tile       = LevelManager.Instance.Tiles[crewPos];
        previousPos = _tile.transform.position;


        //_tile = LevelManager.Instance.Tiles[crewPos];

        RoomScript _nextRoom = _tile.transform.GetChild(0).GetChild(0).GetComponent <RoomScript>();

        //_room.EnterRoom();

        //made change room a bool that returns true if room was changed
        if (_room.ChangeRoom(_nextRoom, hScr))
        {
            //previousPos = _vect;

            //for closeCmbt
            currentRoom = _nextRoom.OriginScr;

            //inform all aggressors of departure
            hScr.InformAggressors();


            SwitchCrewTarget(0);
            //Debug.LogError ("crewPos: " + crewPos.X + ", " + crewPos.Y);
            //Debug.LogError("roomChange!");
        }
    }
Beispiel #2
0
    /*
     * private void ReassignCrewPos()
     * {
     *  //Debug.LogError ("crewtrans: " + transform.position.x);
     *  //Debug.LogError ("crewPrev: " + previousPos.x);
     *  //Debug.LogError ("tileDist: " + tileDistance);
     *
     *  //reassigns crewPos
     *  if (transform.position.x - previousPos.x > tileDistance)
     *  {
     *      //moved to the right
     *      UpdateCrewPos(2, 0);
     *
     *      //crewPos.X += 2;
     *      //previousPos = LevelManager.Instance.Tiles [crewPos].transform.position;
     *      //Debug.Log ("crewPos: " + crewPos.X);
     *  }
     *  else if (transform.position.x - previousPos.x < -tileDistance)
     *  {
     *      //moved to the left
     *      UpdateCrewPos(-2, 0);
     *
     *      //crewPos.X -= 2;
     *      //previousPos = LevelManager.Instance.Tiles [crewPos].transform.position;
     *      //Debug.Log ("crewPos: " + crewPos.X);
     *  }
     * }
     */

    //classic edit
    private void UpdateCrewPos(Point _newPos)
    {
        TileScript _newTile = LevelManager.Instance.Tiles[_newPos];
        Point      _nextPos = crewPos;

        //if the point crew has moved to is a tween
        if (!_newTile.IsTile)
        {
            //add the difference to determine movement direction
            int _direction = (crewPos.X - _newPos.X);

            //Point _nextPos = crewPos;
            _nextPos.X -= (_direction * 2);
        }
        else
        {
            //for elevators //should really always be called if newPos is not horizontally adjacent to crewPos
            if (_newPos.Y != crewPos.Y)
            {
                _nextPos = _newPos;
            }

            /*
             * //should really always be called if newPos is not horizontally adjacent to crewPos
             * if (_newPos.X == (crewPos.X - 2) || _newPos.X == (crewPos.X + 2)) {
             *
             * } else {
             *  _nextPos = _newPos;
             *  Debug.LogError("biuo: " + crewPos.X + ", " + _newPos.X);
             * }
             */
        }

        //get room references
        TileScript _prevTile = LevelManager.Instance.Tiles[crewPos];
        TileScript _nextTile = LevelManager.Instance.Tiles[_nextPos];

        RoomScript _prevRoom = _prevTile.transform.GetChild(0).GetChild(0).GetComponent <RoomScript>();
        RoomScript _nextRoom = _nextTile.transform.GetChild(0).GetChild(0).GetComponent <RoomScript>();

        _prevRoom.ChangeRoom(_nextRoom, hScr);
        crewPos = _nextPos;

        Debug.LogError("updated crewPos: " + crewPos.X + ", " + crewPos.Y);


        /*
         * TileScript _prevTile = LevelManager.Instance.Tiles[CrewPos];
         * RoomScript _room = _prevTile.transform.GetChild(0).GetChild(0).GetComponent<RoomScript>();
         *
         *
         * //_room.ExitRoom();
         * //Debug.LogError("crewPos: " + crewPos.X + ", " + crewPos.Y);
         *
         * //crewPos.X += _x;
         * //crewPos.Y += _y;
         *
         * //Vector3 _vect = LevelManager.Instance.Tiles [crewPos].transform.position;
         * //_vect.x -= (tileDistance / 2);
         *
         *
         *
         * //stuff here!
         * //Debug.LogError ("crewPos: " + crewPos.X + ", " + crewPos.Y + ", " + crewPos.Z);
         *
         *
         * TileScript _currTile = LevelManager.Instance.Tiles[_newPos];
         * //previousPos = _tile.transform.position;
         *
         *
         * //_tile = LevelManager.Instance.Tiles[crewPos];
         *
         * RoomScript _nextRoom = _currTile.transform.GetChild(0).GetChild(0).GetComponent<RoomScript>();
         * //_room.EnterRoom();
         * _room.ChangeRoom(_nextRoom, hScr);
         * //previousPos = _vect;
         *
         * //Debug.LogError ("crewPos: " + crewPos.X + ", " + crewPos.Y);
         */
    }