Exemple #1
0
    //Called by the ghost when they die
    public void EnemyCaught()
    {
        enemiesCaught++;
        totalEnemiesCaught++;

        if (!can)
        {
            can = FindObjectOfType <CanvasUI>();
        }

        if (can)
        {
            can.enableGatcha();
        }

        if (enemiesCaught >= enemiesNumber)
        {
            PlayerVictory();
        }

        if (enemiesCaught + enemiesSaved >= enemiesNumber)
        {
            if (enemiesCaught > enemiesSaved)
            {
                PlayerVictory();
            }
            else
            {
                PlayerDefeated(false);
            }
        }
    }
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
Exemple #3
0
        static CanvasUI CreateCanvas()
        {
            var info   = new CanvasUI();
            var entity = new GameObject("canvas_000");

            var canvas = entity.AddComponent <Canvas>();

            canvas.renderMode = RenderMode.ScreenSpaceOverlay;

            var raycaster = entity.AddComponent <GraphicRaycaster>();
            var scalar    = entity.AddComponent <CanvasScaler>();

            scalar.scaleFactor          = 1f;
            scalar.dynamicPixelsPerUnit = 100f;

            var rt = entity.GetComponent <RectTransform>();

            rt.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 0f);
            rt.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 0f);
            rt.SetParent(parent);

            info.canvas = entity.transform;

            if (theme.palette_display == PreviewDisplay.Left ||
                theme.palette_display == PreviewDisplay.Right)
            {
                CreateMiniPreview(ref info, canvas);
            }

            CreateStatusBar(ref info, canvas);
            return(info);
        }
Exemple #4
0
        static void CreateStatusBar(ref CanvasUI info, Canvas canvas)
        {
            float hpad = Mathf.Max(32, theme.status_padding + 16);

            info.panel = CreatePanel("status_bar", theme.status_color, canvas);
            CreateUI(
                entity: info.panel,
                size:   new Vector2(
                    Screen.width - theme.status_padding * 2,
                    32 * theme.font_scaling),
                offset: new Vector3(0, theme.status_padding),
                align:  TextAnchor.UpperCenter);

            info.bar_right = CreateText(
                name:  "bar_right",
                fsize:  48,
                align:  TextAnchor.MiddleRight,
                c:      canvas);

            CreateUI(
                entity: info.bar_right,
                size:   new Vector2(200, 32 * theme.font_scaling),
                offset: new Vector3(hpad, theme.status_padding),
                align:  TextAnchor.UpperRight);

            info.bar_left = CreateText(
                name:  "bar_left",
                fsize:  48,
                align:  TextAnchor.MiddleLeft,
                c:      canvas);

            CreateUI(
                entity: info.bar_left,
                size:   new Vector2(200, 32 * theme.font_scaling),
                offset: new Vector3(hpad, theme.status_padding),
                align:  TextAnchor.UpperLeft);

            info.bar_center = CreateText(
                name:  "bar_center",
                fsize:  48,
                align:  TextAnchor.MiddleCenter,
                c:      canvas);

            CreateUI(
                entity: info.bar_center,
                size:   new Vector2(200, 32 * theme.font_scaling),
                offset: new Vector3(0, theme.status_padding),
                align:  TextAnchor.UpperCenter);
        }
Exemple #5
0
    void Start()
    {
        gm = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameManager>();


        canvas   = GetComponent <CanvasUI>();
        ticker   = GetComponent <Ticker>();
        pet      = GameObject.FindGameObjectWithTag("Pet").GetComponent <Pet>();
        petBreed = gm.chosePet.ToLower(); //"Dog" => "dog"

        UpgradePet(1);

        InvokeRepeating("PetCheck", 20, 1);
        InvokeRepeating("EverySecond", 1, 1);
    }
Exemple #6
0
    public void SwitchUI(CanvasType deriredType)
    {
        if (lastCanvas != null)
        {
            lastCanvas.gameObject.SetActive(false);
        }

        CanvasUI newCanvas = canvasUIs.Find(x => x.Type == deriredType);

        if (newCanvas != null)
        {
            newCanvas.gameObject.SetActive(true);
            lastCanvas = newCanvas;
        }
    }
Exemple #7
0
        internal static void Initialize(Transform parent, Theme theme, GameObject[] palette)
        {
            Overlay.parent = parent;
            Overlay.theme  = theme;

            pool = new Pool()
            {
                cursors             = new List <GameObject>(),
                palette_previews    = new SpriteRenderer[palette.Length],
                palette_grid        = new SpriteRenderer[theme.preview_width],
                palette_grid_cursor = GameObject.Instantiate(theme.grid_active, parent),
                background          = GameObject.Instantiate(theme.background, parent)
            };

            Alloc(pool.cursors, theme.cursor, 1);
            InitializeSprites(pool.palette_grid, theme.grid_square);
            InitializePreviews(palette);
            ui = CreateCanvas();
            pool.palette_grid_cursor.name = "palette_cursor_000";
        }
Exemple #8
0
        static void CreateMiniPreview(ref CanvasUI info, Canvas canvas)
        {
            info.mini_preview_bg = CreatePanel("palette_mini_bg", theme.status_color, canvas);
            info.mini_preview    = CreatePanel("palette_mini_fg", Color.white, canvas);

            var align = theme.palette_display == PreviewDisplay.Left
                ? TextAnchor.LowerLeft
                : TextAnchor.LowerRight;

            float panel_width = 70f;

            if (theme.show_preview_text)
            {
                info.preview_index = CreateText(
                    name:  "preview_index",
                    fsize:  48,
                    align:  align,
                    c:      canvas);

                CreateUI(
                    entity: info.preview_index,
                    size:   new Vector2(192, 54) * theme.font_scaling,
                    offset: new Vector3(100, 40) * theme.font_scaling,
                    align:  align);

                panel_width = 130f;
            }

            CreateUI(
                entity: info.mini_preview_bg,
                size:   new Vector2(panel_width, 70) * theme.font_scaling,
                offset: new Vector3(32, 32) * theme.font_scaling,
                align:  align);

            CreateUI(
                entity: info.mini_preview,
                size:   new Vector2(54, 54) * theme.font_scaling,
                offset: new Vector3(40, 40) * theme.font_scaling,
                align:  align);
        }
Exemple #9
0
    public GameObject toy;            //must be initialized in child class



    protected virtual void Start()
    {
        gm          = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameManager>();
        canvas      = gm.mainGameCanvas;
        petAudio    = GetComponent <AudioSource>();
        normalScale = transform.localScale;

        InvokeRepeating("DecreaseStats", 1, 1); //DecreastStats() runs every b seconds, a second after Start()

        hunger     = maxStat;
        thirst     = maxStat;
        love       = maxStat;
        clickCount = 0;

        money        = 0;
        resourceCost = 10;

        UpdateMoney();

        //how much to decrease hunger/thirst every x seconds by default
        decreaseHungerInt = 1;
        decreaseThirstInt = 3;
        decreaseLoveInt   = 1;
    }
Exemple #10
0
    private void PlayerDefeated(bool timeOver)
    {
        musicEvent.stop(FMOD.Studio.STOP_MODE.IMMEDIATE);
        FMODUnity.RuntimeManager.AttachInstanceToGameObject(endgameEvent, Player.Instance.transform, Player.Instance.GetComponent <Rigidbody>());
        endgameEvent.setParameterByName("WinParam", 0.0f);
        endgameEvent.start(); //fmod


        gameOver = true;
        if (timeOver)
        {
            string defeatText = String.Format("Derrota\n enemigos atrapados {0}/{1}\n enemigos salvados {2}{1}\n. Se ha acabado el tiempo!",
                                              enemiesCaught, enemiesNumber, enemiesSaved);

            Debug.Log(defeatText);
        }
        else
        {
            string defeatText = String.Format("Derrota\n enemigos atrapados {0}/{1}\n enemigos salvados {2}{1}",
                                              enemiesCaught, enemiesNumber, enemiesSaved);

            Debug.Log(defeatText);
        }

        if (!can)
        {
            can = FindObjectOfType <CanvasUI>();
        }

        can.defeatGO.SetActive(true);
        if (Player.Instance.GetComponent <PlayerMovement>())
        {
            Player.Instance.GetComponent <PlayerMovement>().enabled = false;
        }
        Invoke("ResetGame", 3f);
    }
Exemple #11
0
 void Awake()
 {
     instance = this;
 }
Exemple #12
0
    void Start()
    {
        canvas = GameObject.Find("Canvas").GetComponent <CanvasUI>();

        gm = FindObjectOfType <GameManager>();


        //This allows you to skip the main menu and just go into the game for playtesting.
        //It checks to see if there is a gamemanager. If not, add a GM onto the debug GO and set to default pet, "Spot DB" the dog
        if (!gm)
        {
            DebugGO.AddComponent <GameManager>();
            gm = DebugGO.GetComponent <GameManager>();
            SetDefaults();
        }

        canvas.PetNameText.text = gm.petName;

        switch (gm.chosePet)
        {
        case "Dog":
            Instantiate(DogSpritePrefab, canvas.spriteParent.transform);
            Debug.Log("Loaded " + DogSpritePrefab.name + " prefab!");
            break;

        case "Cat":
            Instantiate(CatSpritePrefab, canvas.spriteParent.transform);
            Debug.Log("Loaded " + CatSpritePrefab.name + " prefab!");
            break;

        default:
            break;
        }


        /*
         * switch (gm.ChosenPet) //switch case based on what pet breed was chosen - determines which sprite to show
         * {
         *
         *
         *  case GameManager.Breeds.DOG:
         *      Instantiate(DogSpritePrefab, canvas.spriteParent.transform);
         *      Debug.Log("Loaded " + DogSpritePrefab.name + " prefab!");
         *      break;
         *  case GameManager.Breeds.CAT:
         *      Instantiate(CatSpritePrefab, canvas.spriteParent.transform);
         *      Debug.Log("Loaded " + CatSpritePrefab.name + " prefab!");
         *      break;
         *  default:
         *      break;
         *
         * } //instantiate correct prefab pet sprite based on gm.ChosenPet
         */


        //set up feed and water buttons ----------------

        loadedPet = FindObjectOfType <Pet>();

        gm.pet = loadedPet;

        gm.mainGameCanvas = canvas; //make reference to canvas accessible in other scripts

        canvas.FoodButton.onClick.AddListener(PointToFeed);
        canvas.WaterButton.onClick.AddListener(PointToWater);


        gm.PlayMusic(gm.InGameMusic);


        gm.gameActive = true;
    }
Exemple #13
0
 private void AddTemporary(CanvasUI canvas, int index)
 {
     canvas.CanvasIndex = index;
     canvasTemporary.Add(canvas);
 }