Exemplo n.º 1
0
 public bool ComeBack(IPoolWater poolWater)
 {
     bool isSuccess = false;
     if (poolWater.ownerPool.Equals(this))
     {
         (poolWater as Component).transform.parent = transform;
         restingWaterList.Add(poolWater);
         workingWaterList.Remove(poolWater);
     }
     return isSuccess;
 }
Exemplo n.º 2
0
 private void AddRestingWater(int num)
 {
     for (int i = 0; i < num; i++)
     {
         GameObject tempGO = Instantiate(prefab, transform);
         IPoolWater poolWater = tempGO.GetComponent<IPoolWater>();
         if (poolWater != null)
         {
             poolWater.ownerPool = this;
             poolWater.Rest();
             restingWaterList.Add(poolWater);
         }
     }
 }
Exemplo n.º 3
0
 public GameObject Borrow(Vector3 position, Quaternion rotation, Vector3 localScale, Transform parent)
 {
     if(restingWaterList.Count <= 0) AddRestingWater(increaseSize);
     IPoolWater poolWater = restingWaterList[0];
     Transform transform = (poolWater as Component).transform;
     transform.position = position;
     transform.rotation = rotation;
     transform.localScale = localScale;
     transform.parent = parent;
     poolWater.Work();
     workingWaterList.Add(poolWater);
     restingWaterList.RemoveAt(0);
     return transform.gameObject;
 }
Exemplo n.º 4
0
 public void ClearItems()
 {
     foreach (GameObject tempGO in scenePickUpList)
     {
         IPoolWater poolWater = tempGO.GetComponent <IPoolWater>();
         if (poolWater != null)
         {
             pickUpItemPool.GiveBack(poolWater);
         }
         else
         {
             Destroy(tempGO);
         }
     }
     scenePickUpList.Clear();
 }