FishData CompileUserData(string userData) { FishData playerFish = new FishData(); string[] playerData = userData.Split(';'); string[] playerArray = playerData[0].Split(','); playerFish.playerID = playerArray[0]; playerFish.playerName = playerArray [1]; playerFish.xPosition = float.Parse(playerArray [2]) / scaleFactor; playerFish.yPosition = float.Parse(playerArray [3]) / scaleFactor; playerFish.fishAngle = float.Parse(playerArray [4]); playerFish.colorCode = int.Parse(playerArray [5]); playerFish.fishSkin = playerArray [6]; playerFish.level = int.Parse(playerArray [7]); FishParameterData levelData = DefaultParameterManager.Instance.GetFishParameterData(playerFish.fishSkin, playerFish.level); if (levelData != null) { playerFish.width = levelData.totalSize; playerFish.height = levelData.totalSize; } playerFish.experience = float.Parse(playerArray [8]); playerFish.buffType = int.Parse(playerArray[9]); playerFish.buffTime = float.Parse(playerArray[10]); playerFish.isInPredatorRange = int.Parse(playerArray [11]); // == 1 ? true : false; playerFish.isTargetedByPredator = int.Parse(playerArray[12]) == 1 ? true : false; playerFish.isBoost = int.Parse(playerArray[13]) == 1 ? true : false; playerFish.boostValue = float.Parse(playerArray [14]); //playerFish.isTargetedByPredator = true; //playerFish.isInPredatorRange = true; if (playerData.Length > 1) { for (int i = 1; i < playerData.Length; i++) { FishBodyData bodyData = new FishBodyData(); string[] rawBodyData = playerData[i].Split(','); bodyData.xPosition = float.Parse(rawBodyData[0]) / scaleFactor; bodyData.yPosition = float.Parse(rawBodyData[1]) / scaleFactor; bodyData.width = float.Parse(rawBodyData[2]) / scaleFactor; bodyData.height = float.Parse(rawBodyData[3]) / scaleFactor; playerFish.bodies.Add(bodyData); } } localPos = new Vector2(playerFish.xPosition, playerFish.yPosition); if (playerID != playerArray [0]) { Debug.LogError("ERROR - ID does not match"); } return(playerFish); }
public void SetFishBodies(FishData data) { //Set The position of the head SetPosition(data.xPosition, data.yPosition, data.fishAngle); //Set The size of the head SetFishSize(data.width, data.height); //Set Fish Level According to the level given in data SetFishLevel(data.level); if (EssentialData.Instance.IsShowBody) { //Set Bodies position and size for (int i = 0; i < data.bodies.Count; i++) { FishBodyData bodyData = data.bodies[i]; if (i >= bodyObjects.Count) { //Create new body object for the fish GameObject go = Instantiate(headHitBox) as GameObject; go.name = "Fish " + data.playerID + " Body " + (i + 1); go.transform.SetParent(tFishBodies); go.transform.localPosition = new Vector3(bodyData.xPosition, bodyData.yPosition, 0); go.transform.localScale = new Vector3(bodyData.width, bodyData.height, 1.0f); go.SetActive(true); bodyObjects.Add(go); } else { bodyObjects[i].transform.position = new Vector3(bodyData.xPosition, bodyData.yPosition, 0); bodyObjects[i].transform.localScale = new Vector3(bodyData.width, bodyData.height, 1.0f); } } } }
void PlaceOpponent(string opponentData) { //Debug.Log ("Opponent = " + opponentData); string[] opponentDetails = opponentData.Split(';'); string[] opponentArray = opponentDetails[0].Split(','); FishData fish = new FishData(); fish.playerID = opponentArray [0]; fish.playerName = opponentArray [1]; fish.xPosition = float.Parse(opponentArray [2]) / scaleFactor; fish.yPosition = float.Parse(opponentArray [3]) / scaleFactor; fish.fishAngle = float.Parse(opponentArray [4]); fish.colorCode = int.Parse(opponentArray [5]); fish.fishSkin = opponentArray [6]; fish.level = int.Parse(opponentArray [7]); //Read fish width and height from default parameter FishParameterData levelData = DefaultParameterManager.Instance.GetFishParameterData(fish.fishSkin, fish.level); if (levelData != null) { fish.width = levelData.totalSize; fish.height = levelData.totalSize; } fish.buffType = int.Parse(opponentArray[8]); fish.buffTime = int.Parse(opponentArray[9]); fish.isBoost = int.Parse(opponentArray[10]) == 1 ? true : false; if (opponentDetails.Length > 1) { for (int i = 1; i < opponentDetails.Length; i++) { FishBodyData bodyData = new FishBodyData(); string[] rawBodyData = opponentDetails[i].Split(','); bodyData.xPosition = float.Parse(rawBodyData[0]) / scaleFactor; bodyData.yPosition = float.Parse(rawBodyData[1]) / scaleFactor; bodyData.width = float.Parse(rawBodyData[2]) / scaleFactor; bodyData.height = float.Parse(rawBodyData[3]) / scaleFactor; fish.bodies.Add(bodyData); } } if (playerID != opponentArray [0]) { listOpponentData.Add(fish); } }