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