Exemple #1
0
    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);
    }
Exemple #2
0
    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);
                }
            }
        }
    }
Exemple #3
0
    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);
        }
    }