public FoodItem CreateOneFood(QS_FoodItemData foodData)
    {
        if (null == foodData)
        {
            return(null);
        }
        bool     isFind = false;
        FoodItem food   = null;

        for (int i = 0; i < foodList.Count; i++)
        {
            if (foodList[i].isUsing == false && foodList[i].foodInfo.FOODSTATE == FoodState.Free)
            {
                food   = foodList[i];
                isFind = true;
                break;
            }
        }
        if (!isFind)
        {
            var requet = Resources.Load("Prefabs/Foods/FoodItem");
            var obj    = Instantiate(requet, bornTR.position, Quaternion.identity, transform) as GameObject;
            food = obj.GetComponent <FoodItem>();
            //Debug.Log("bornPos:{bornTR.position},recttran:{(bornTR as RectTransform).anchoredPosition}");
            if (null == food)
            {
                food = obj.AddComponent <FoodItem>();
            }
            food.InitItem();
            foodList.Add(food);
        }
        food.RefreshItem(foodData);
        GameCtrl._Ins.CurrFoodNum++;
        return(food);
    }
    public QS_FoodItemData GetOneFoodData()
    {
        QS_FoodItemData food = null;

        if (GameCtrl._Ins.CurrPattern == GamePattern.Challenge)
        {
            if (foodDataIndex > foodDatas.Count - 1)
            {
                GameCtrl._Ins.IsFoodDataRunOut = true;
                return(null);
            }
            food = foodDatas[foodDataIndex];
            foodDataIndex++;
        }
        else
        {
            // 随机生成一种食物
            if (GameCtrl._Ins.IsGameOver == false)
            {
                int index = UnityEngine.Random.Range(0, foodDatas.Count);
                food = foodDatas[index];
            }
        }

        return(food);
    }
Exemple #3
0
 public void RefreshItem(QS_FoodItemData data)
 {
     foodImg.sprite = Resources.Load <Sprite>("UI/" + data.ID);
     isUsing        = true;
     foodInfo       = data;
     gameObject.SetActive(true);
     splineMove.enabled  = true;
     boxcollider.enabled = true;
     splineMove.speed    = GameCtrl._Ins.MoveSpeed; //data.Movespeed;
     splineMove.StartMove();
 }