Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        database = gameObject.GetComponent <AnimalDatabase>();
        Animal animal = database.FetchAnimalByID(DataManager.animalClicked);

        GameObject.Find("AnimalIcon").GetComponent <Image>().sprite = animal.sprite;
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        database = GetComponent <AnimalDatabase>();
        // Get previous clicked animal ID
        animal = database.FetchAnimalByID(DataManager.animalClicked);
        _scene = scene.GetComponent <Crosstales.RTVoice.Demo.AniVoice>();

        // Instantiate model for previously clicked animal
        Debug.Log(animal.id);
        model = Instantiate((GameObject)Resources.Load("Prefab/Models" + animal.modelPath));
        model.transform.SetParent(GameObject.Find("UserDefinedTarget").transform);
        model.transform.localScale = new Vector3(animal.scale, animal.scale, animal.scale);
        model.transform.position   = Vector3.zero;
        model.transform.Rotate(0, animal.rotation, 0);
        model.SetActive(false);
        model.name = "Model";

        /*
         *
         * // Instantiate Animation deleted after 2 seconds in the UDTEventHandler script
         * GameObject mod = Instantiate((GameObject)Resources.Load("Prefab/Summon/SummonGround"));
         * mod.transform.parent = model.transform;
         * mod.transform.localScale = new Vector3(1F, 1F, 1F);
         *
         */

        // Set Animal's name
        animalName.GetComponent <Text>().text = animal.name;

        // Vectors
        string[] splitted1 = animal.part1_vector.Split(',');
        string[] splitted2 = animal.part2_vector.Split(',');
        string[] splitted3 = animal.part3_vector.Split(',');
        // Rotations
        string[] splittedrot1 = animal.part1_rotation.Split(',');
        string[] splittedrot2 = animal.part2_rotation.Split(',');
        string[] splittedrot3 = animal.part3_rotation.Split(',');

        for (int i = 0; i < 3; i++)
        {
            part1_vector[i]   = float.Parse(splitted1[i]);
            part2_vector[i]   = float.Parse(splitted2[i]);
            part3_vector[i]   = float.Parse(splitted3[i]);
            part1_rotation[i] = float.Parse(splittedrot1[i]);
            part2_rotation[i] = float.Parse(splittedrot2[i]);
            part3_rotation[i] = float.Parse(splittedrot3[i]);
        }



        // Set ScreenManager modified to false
        GameObject.Find("SceneManager").GetComponent <ScreenManager>().setModify(false);

        infoPanel  = GameObject.Find("TargetBuilderCanvas").transform.GetChild(5).gameObject;
        imagePanel = GameObject.Find("TargetBuilderCanvas").transform.GetChild(6).gameObject;
    }
Beispiel #3
0
    public void processImage(FoundImageObject c)
    {
        // Acquiring animal phase
        database = GameObject.Find("Image").GetComponent <AnimalDatabase>();
        ScreenManager sManager = GameObject.Find("SceneManager").GetComponent <ScreenManager>();
        Animal        animal;

        foreach (Category cat in c.categories)
        {
            // Fetch animal from database if animal fetched is not null then add to acquired animals
            animal = database.FetchAnimalByName(cat.name.Replace("\"", ""));
            if (animal != null)
            {
                int[] animals = PlayerPrefsX.GetIntArray("AnimalsAquired");
                int[] dummy   = new int[animals.Length + 1];
                Debug.Log("-- " + animal.id + " " + database.FetchAnimalByID(animal.id));
                for (int i = 0; i < animals.Length; i++)
                {
                    dummy[i] = animals[i];
                }
                if (!contains(animals, animal.id))
                {
                    dummy[dummy.Length - 1] = animal.id;
                    PlayerPrefsX.SetIntArray("AnimalsAquired", dummy);
                    DataManager.animalClicked = animal.id;
                    // Set Found Animals
                    PlayerPrefs.SetInt("foundAnimals", PlayerPrefs.GetInt("foundAnimals") + 1);
                    PlayerPrefs.SetInt(animal.type, PlayerPrefs.GetInt(animal.type) + 1);
                    // Set ScreenManager modified to false
                    sManager.setModify(false);
                    // Off camera
                    cam.Exit();
                    showNoFoundPanel = false;
                    // Redirect to FoundNewAnimal Screen
                    SceneManager.LoadScene("FoundNewAnimal");
                }
                else
                {
                    showNoFoundPanel = false;
                    StartCoroutine(activateDuplicatePanel());
                }
                break;
            }
        }

        if (showNoFoundPanel)
        {
            StartCoroutine(activateNoFoundPanel());
        }
    }
Beispiel #4
0
    void addAnimal(int id)
    {
        Animal animalToAdd;

        if (database.FetchAnimalByID(id) != null)
        {
            animalToAdd = database.FetchAnimalByID(id);
        }
        else
        {
            animalToAdd = database.FetchAnimalByID(Mathf.Abs(-id));
        }
        Debug.Log(animalToAdd.name);
        for (int i = 0; i < animals.Count; i++)
        {
            if (animals[i].id == -999)
            {
                if (id >= 0)
                {
                    animals[i] = animalToAdd;
                    GameObject animalObj = Instantiate(InventoryAnimal);
                    animalObj.transform.SetParent(slots[i].transform);
                    slots[i].GetComponent <Button>().onClick.AddListener(() => {
                        // When Animal is clicked
                        DataManager.animalClicked = id;
                        AudioSource bgm           = GameObject.Find("SceneManager").GetComponent <AudioSource>();
                        bgm.Stop();
                        // Redirect To AR Screen
                        SceneManager.LoadScene("ARScreen");
                    });
                    animalObj.transform.position            = Vector2.zero;
                    animalObj.GetComponent <Image>().sprite = animalToAdd.sprite;
                    animalObj.name = animalToAdd.name;
                    break;
                }
                else
                {
                    animals[i] = animalToAdd;
                    GameObject animalObj = Instantiate(InventoryAnimal);
                    animalObj.transform.SetParent(slots[i].transform);
                    slots[i].GetComponent <Button>().onClick.AddListener(() => {
                        // When Animal is clicked
                        DataManager.animalClicked = Mathf.Abs(id);
                        AudioSource bgm           = GameObject.Find("SceneManager").GetComponent <AudioSource>();
                        bgm.Stop();
                        Debug.Log(animalToAdd.name);

                        GameObject panelBuyContainer = GameObject.Find("Canvas").transform.GetChild(3).gameObject;
                        panelBuyContainer.SetActive(true);
                        // Saves when bought
                        panelBuyContainer.transform.GetChild(1).GetComponent <Button>().onClick.AddListener(() => {
                            int gold = PlayerPrefs.GetInt("goldcoins");

                            if (gold >= 250)
                            {
                                int[] animals = PlayerPrefsX.GetIntArray("AnimalsAquired");
                                int[] dummy   = new int[animals.Length + 1];
                                for (int j = 0; j < animals.Length; j++)
                                {
                                    dummy[j] = animals[j];
                                }
                                dummy[dummy.Length - 1] = Mathf.Abs(id);
                                PlayerPrefsX.SetIntArray("AnimalsAquired", dummy);

                                // Subtract gold
                                gold -= 250;
                                PlayerPrefs.SetInt("goldcoins", gold);
                                PlayerPrefs.Save();

                                // Loads Scene
                                DataManager.animalClicked = Mathf.Abs(id);
                                SceneManager.LoadScene("FoundNewAnimal");
                                GameObject.Find("SceneManager").GetComponent <ScreenManager>().setBought(true);
                            }
                            else
                            {
                                StartCoroutine(notEnoughGoldPanel());
                            }
                        });
                        // Cancels the transaction
                        panelBuyContainer.transform.GetChild(2).GetComponent <Button>().onClick.AddListener(() => {
                            panelBuyContainer.SetActive(false);
                        });
                    });
                    animalObj.transform.position            = Vector2.zero;
                    animalObj.GetComponent <Image>().sprite = animalToAdd.sprite;
                    animalObj.GetComponent <Image>().color  = new Color(0, 0, 0, 0.5f);
                    animalObj.name = animalToAdd.name;
                    break;
                }
            }
        }
    }