Exemplo n.º 1
0
    void PlacePredator(string predatorData)
    {
        //Debug.Log (predatorData);
        PredatorData predator = new PredatorData();

        string[] predators = predatorData.Split(',');
        predator.id           = predators[0].ToString();
        predator.xPosition    = float.Parse(predators[1]) / scaleFactor;
        predator.yPosition    = float.Parse(predators[2]) / scaleFactor;
        predator.angle        = float.Parse(predators[3]);
        predator.assetKeyword = predators[4];
        predator.targetUserId = predators[5];
        predator.height       = predator.width = DefaultParameterManager.Instance.GetPredatorSize(predator.assetKeyword);

        listPredatorData.Add(predator);

        if (predator.assetKeyword == "shark")
        {
            WarningHandler.Instance.SetSharkPosition(predator.xPosition, predator.yPosition);
            WarningHandler.Instance.isSharkAround = true;
        }
        else
        {
            WarningHandler.Instance.isSharkAround = false;
        }
    }
Exemplo n.º 2
0
 public void SetData(PredatorData data)
 {
     SetPredatorId(data.id);
     SetPosition(data.xPosition, data.yPosition);
     SetSize(data.width, data.height);
     SetAngle(data.angle);
     keyword = data.assetKeyword;
 }
Exemplo n.º 3
0
 private void InitVariables()
 {
     controller           = GameController.Get();
     data                 = controller.players[owner].data;
     moveSpeed            = data.moveSpeed;
     satiety              = data.satiety;
     hunger_rate          = data.hunger_rate;
     starvation_threshold = data.starvation_threshold;
     overeating_threshold = data.overeating_threshold;
     state                = data.state;
     target_search_delay  = data.target_search_delay;
     logging              = data.logging;
 }
Exemplo n.º 4
0
    public void UpdatePredators(List <PredatorData> listPredator)
    {
        for (int idx = 0; idx < listPredator.Count; idx++)
        {
            PredatorData data = listPredator[idx];
            int          fIdx = registeredPredator.FindIndex(x => x.predatorId.Equals(data.id));
            //Find the given data in the list. If it's not in the list, create new predator
            if (fIdx < 0)
            {
                GameObject         go      = predatorPool.GetGameObject(data.assetKeyword);
                PredatorController control = go.GetComponent <PredatorController>();
                //reset animation before deploying
                control.SetAnimationToMove();

                LayerController.Instance.SetFishLayer(go, 10);
                if (control == null)
                {
                    control = go.AddComponent <PredatorController>();
                }
                control.SetData(data);
                registeredPredator.Add(control);
//				Debug.Log ("predator id = "+data.id);
            }
            //When it's already in the list, just reset the data
            else
            {
                registeredPredator[fIdx].SetData(data);
            }
        }

        predatorUpdateCount += 1;
        //Clear food after 10 updates, to reduce procesing cost
        if (predatorUpdateCount >= 10)
        {
            ClearPredator(listPredator);
            predatorUpdateCount = 0;
        }
    }