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!"); } }
/* * 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); */ }