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); }
private void UpdateViewPort(FishData playerDaata) { FishParameterData data = DefaultParameterManager.Instance.GetFishParameterData(playerDaata.fishSkin, playerDaata.level); //Debug.Log("Fish level " + playerDaata.level); float cam = 0.8f; if (data != null) { cam = data.cameraSize; } mainCameraUI.GetComponent <Camera>().orthographicSize = cam; }
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); } }
public void UpdateOcculstion(FishData data) { FishParameterData fishParam = DefaultParameterManager.Instance.GetFishParameterData(data.fishSkin, data.level); float diagonalView = Vector2.Distance(Vector2.zero, new Vector2(fishParam.viewWidth, fishParam.viewHeight)); float viewRadius = diagonalView / 2.0f; //Update occulsion of obstacle UpdateChidVisibility(parentObstacle, viewRadius + 1.0f); //Update occulsion of hiding place UpdateChidVisibility(parentHidingPlace, viewRadius + 2.0f); //Update occulsion of water ripple float rippleSize = TileGenerator.Instance.rippleSize; UpdateChidVisibility(TileGenerator.Instance.parentWaterRipple, viewRadius + rippleSize); //Update occulsion of tile UpdateChidVisibility(TileGenerator.Instance.parentTile, viewRadius + 1.5f); }
private bool CheckDeathFish(FishData enemyFish, FishData playerFish) { fishParamData = DefaultParameterManager.Instance.GetFishParameterData(playerFish.fishSkin, playerFish.level); float xMax = fishParamData.viewWidth / 2; float yMax = fishParamData.viewHeight / 2; float xDiff = Mathf.Abs(playerFish.xPosition - enemyFish.xPosition); float yDiff = Mathf.Abs(playerFish.yPosition - enemyFish.yPosition); if (xDiff < xMax && yDiff < yMax) { return(true); } else { return(false); } }
/// <summary> /// Call This Function when you want to generate a random bubble for the designated Player Fish /// </summary> private IEnumerator GenerateRandomBubble(FishData playerFish) { fishParamData = DefaultParameterManager.Instance.GetFishParameterData(playerFish.fishSkin, playerFish.level); float xRandom = fishParamData.viewWidth / 2; float yRandom = fishParamData.viewHeight / 2; xRandom = Random.Range(-xRandom, xRandom); yRandom = Random.Range(-yRandom, yRandom); GameObject bubble = Instantiate(bubblePrefab) as GameObject; bubble.transform.position = new Vector3(playerFish.xPosition + xRandom, playerFish.yPosition + yRandom, 1); float randomScale = Random.Range(0.015f, 0.075f); bubble.transform.localScale = new Vector3(randomScale, randomScale); bubble.transform.SetParent(gameObject.transform); yield return(new WaitForSeconds(0.3f)); bubble.GetComponent <MeshRenderer> ().enabled = true; StartCoroutine(TimelyDelete(bubble)); }
void SetDefaultParameterData(string jsonText) { var jsonData = Json.Deserialize(jsonText) as Dictionary <string, object>; Dictionary <string, object> data = null; if (NetworkConfig.IsUsingEncryption) { var enc = jsonData [TAG_DATA] as string; data = Json.Deserialize(AES.Decrypt(enc)) as Dictionary <string, object>; } else { data = jsonData[TAG_DATA] as Dictionary <string, object>; } foodSize = 2.0f * JsonUtility.GetFloat(data, TAG_FOOD_SIZE) / EssentialData.scaleFactor; //Load fishes parameter data skinLevelsData = new Dictionary <string, List <FishParameterData> >(); // skinColorData = new Dictionary<string, List<string>> (); var skins = data[TAG_FISH_SIZE] as List <object>; for (int i = 0; i < skins.Count; i++) { var skinData = skins[i] as Dictionary <string, object>; string skinName = JsonUtility.GetString(skinData, TAG_SKIN); var levelsData = skinData[TAG_LEVELS] as List <object>; List <FishParameterData> fishParameters = new List <FishParameterData>(); for (int fi = 0; fi < levelsData.Count; fi++) { var fishLevelData = levelsData[fi] as Dictionary <string, object>; FishParameterData fishLevel = new FishParameterData(fishLevelData); fishParameters.Add(fishLevel); } skinLevelsData.Add(skinName, fishParameters); // List<string> colorData = new List<string> (); var colors = skinData[TAG_COLOR_CODE] as List <object>; for (int ci = 0; ci < colors.Count; ci++) { // colorData.Add (colors [ci].ToString()); HSVData colorHSVData = new HSVData(); string colorString = colors [ci].ToString(); colorHSVData.colorHSVCodeId = colorString; colorHSVData.fishSkin = skinName; listHSVColorData.Add(colorHSVData); // Debug.Log ("skiname " + skinName + ", " + colorString + " ~ " + listHSVColorData.Count); } //Debug.Log (skinName); // skinColorData.Add (skinName, colorData); } //Load Predator Parameter Data predatorParameter = new List <PredatorParameterData>(); var predators = data[TAG_PREDATOR_SIZE] as List <object>; for (int i = 0; i < predators.Count; i++) { var rawPredatorData = predators[i] as Dictionary <string, object>; PredatorParameterData predatorData = new PredatorParameterData(rawPredatorData); predatorParameter.Add(predatorData); } }