void GenerateRandomObject(int level = Constant.LEVEL_1) { FoodController.FoodType foodType = DelegateManager.GetRandomFoodType(); FoodController fController = DelegateManager.GetFood(foodType); fController.IsUsed = true; PetIconController.PetType petType = DelegateManager.GetRandomPetType(level); PetIconController piController = DelegateManager.GetPetIcon(level, petType); piController.IsUsed = true; BaseObject controller = GetObjectInPool(); controller.ActivateBaseObject(true); controller.LinkFoodAndPetIcon(ref fController, ref piController); controller.ActivateFoodAndPetIcon(true); //controller.FDController = fController; //controller.PIController = piController; controller.UpdateObjectState(BaseObject.ObjectState.CanMoved); m_ListObjects.Add(controller); //Update position in here now + update last object reference Vector3 newPos = new Vector3(m_LastObject.GetTransformation().position.x + m_Offset, m_PosY, 0); controller.UpdatePositionInWorld(newPos); m_LastObject = controller; }
void Awake() { if (m_CachedTransform == null) { m_CachedTransform = gameObject.transform; } int needIcons = 3; if (m_PetIconLevel01 == null) { m_PetIconLevel01 = new Dictionary <PetIconController.PetType, List <PetIconController> >(); foreach (var prefab in m_PetIconPrefabsLevel01) { List <PetIconController> controllerList = new List <PetIconController>(); for (int i = 0; i < needIcons; ++i) { GameObject obj = Instantiate(prefab) as GameObject; obj.SetActive(false); obj.transform.SetParent(m_CachedTransform); PetIconController controller = obj.GetComponent <PetIconController>(); controllerList.Add(controller); } m_PetIconLevel01[controllerList[0].CurrentPetType] = controllerList; } } if (m_PetIconLevel02 == null) { m_PetIconLevel02 = new Dictionary <PetIconController.PetType, List <PetIconController> >(); foreach (var prefab in m_PetIconPrefabsLevel02) { List <PetIconController> controllerList = new List <PetIconController>(); for (int i = 0; i < needIcons; ++i) { GameObject obj = Instantiate(prefab) as GameObject; obj.SetActive(false); obj.transform.SetParent(m_CachedTransform); PetIconController controller = obj.GetComponent <PetIconController>(); controllerList.Add(controller); } m_PetIconLevel02[controllerList[0].CurrentPetType] = controllerList; } } }
public void LinkFoodAndPetIcon(ref FoodController fController, ref PetIconController piController) { if (piController != null) { PIController = piController; float offsetUnit = 0.25f; Vector3 peticonOffset = new Vector3(offsetUnit * Constant.UNIT, -(offsetUnit * Constant.UNIT), 0f); piController.SetUnitOffset(peticonOffset); piController.SetPetIconScale(0.5f); } if (fController != null) { FDController = fController; Vector3 foodScale = new Vector3(1.0f, 1.0f, 0f); FDController.SetFoodScale(1.0f); FDController.SetUnitOffset(Vector3.zero); } }
BaseObject GetRequiredBaseOjbect(int level, PetIconController.PetType petType, FoodController.FoodType foodType) { FoodController fController = DelegateManager.GetFood(foodType); fController.IsUsed = true; PetIconController piController = DelegateManager.GetPetIcon(level, petType); piController.IsUsed = true; BaseObject obj = GetObjectInPool(); obj.ActivateBaseObject(true); obj.LinkFoodAndPetIcon(ref fController, ref piController); obj.ActivateFoodAndPetIcon(true); //obj.FDController = fController; //obj.PIController = piController; return(obj); }
void CreateListObjects(int level = Constant.LEVEL_1) { for (int i = 0; i < Constant.NUMBER_OBJECTS; ++i) { FoodController.FoodType foodType = DelegateManager.GetRandomFoodType(); FoodController fController = DelegateManager.GetFood(foodType); fController.IsUsed = true; PetIconController.PetType petType = DelegateManager.GetRandomPetType(level); PetIconController piController = DelegateManager.GetPetIcon(level, petType); piController.IsUsed = true; BaseObject controller = GetObjectInPool(); //controller.FDController = fController; //controller.PIController = piController; controller.ActivateBaseObject(true); controller.LinkFoodAndPetIcon(ref fController, ref piController); controller.ActivateFoodAndPetIcon(true); m_ListObjects.Add(controller); } }
PetIconController GetPetIcon(int level, PetIconController.PetType type) { List <PetIconController> icons = null; PetIconController icon = null; if (level == 1) { icons = m_PetIconLevel01[type]; } else if (level == 2) { icons = m_PetIconLevel02[type]; } foreach (var i in icons) { if (!i.IsUsed) { icon = i; break; } } if (icon == null) { GameObject sample = icons[0].gameObject; GameObject obj = Instantiate(sample) as GameObject; obj.SetActive(false); obj.transform.SetParent(m_CachedTransform); icon = obj.GetComponent <PetIconController>(); icons.Add(icon); } icon.IsUsed = true; return(icon); }