void ConfirmAction()
    {
        if (!chosen)
        {
            return;
        }

        StoredSeeds grenierStorage = chosen.Storage;
        StoredSeeds pointerStorage = Pointer.Instance.GetComponent <StoredSeeds>();

        if (!pointerStorage)
        {
            return;
        }

        Seed[] seeds = grenierStorage.RemoveAllSeed();
        pointerStorage.AddSeeds(seeds);

        owner.SelectedGrenierId = chosen.Id;
        owner.ChosenGrenierId   = chosen.Id;

        SoundBox.Instance.PlaySeedTake();

        owner.State = Plateau.pState.turnPlay;
    }
Beispiel #2
0
    void ConfirmAction()
    {
        if (!chosen)
        {
            return;
        }

        StoredSeeds grenierStorage = chosen.Storage;
        StoredSeeds pointerStorage = Pointer.Instance.GetComponent <StoredSeeds>();

        if (!pointerStorage)
        {
            return;
        }

        Seed seed = pointerStorage.RemoveASeed();

        grenierStorage.AddSeed(seed);

        owner.SelectedGrenierId = chosen.Id;

        UnSelect();

        SoundBox.Instance.PlaySeedPut();


        if (pointerStorage.SeedNumber == 0)
        {
            if (owner.CheckGameOver())
            {
                owner.State = Plateau.pState.gameOver;
            }
            else if (owner.PlayerNumber != owner.GetGrenier(owner.SelectedGrenierId).player_number &&
                     (grenierStorage.SeedNumber == 2 || grenierStorage.SeedNumber == 3))
            {
                owner.State = Plateau.pState.turnEarn;
            }
            else
            {
                owner.State = Plateau.pState.turnChose;
            }
        }
        else
        {
            if ((owner.SelectedGrenierId + 1) % 12 != owner.ChosenGrenierId)
            {
                owner.Greniers[(owner.SelectedGrenierId + 1) % 12].Selectable();
            }
            else
            {
                owner.Greniers[(owner.SelectedGrenierId + 2) % 12].Selectable();
            }
        }
    }
Beispiel #3
0
    void PointerInteract(bool is_pointing, Collider pointed_collider)
    {
        Grenier grenier;

        if (!is_pointing)
        {
            grenier = pointed_collider.gameObject.GetComponent <Grenier>();
            if (!grenier)
            {
                return;
            }

            if (chosen && chosen == grenier)
            {
                UnChoose();
            }

            return;
        }

        grenier = pointed_collider.gameObject.GetComponent <Grenier>();
        if (!grenier)
        {
            return;
        }

        StoredSeeds grenierStorage = grenier.Storage;
        StoredSeeds pointerStorage = Pointer.Instance.GetComponent <StoredSeeds>();

        if (!pointerStorage)
        {
            return;
        }


        if ((owner.SelectedGrenierId + 1) % 12 != owner.ChosenGrenierId)
        {
            if (grenier.Id == (owner.SelectedGrenierId + 1) % 12)
            {
                Choose(grenier);
            }
        }
        else
        {
            if (grenier.Id == (owner.SelectedGrenierId + 2) % 12)
            {
                Choose(grenier);
            }
        }
    }
Beispiel #4
0
    IEnumerator Earn()
    {
        StoredSeeds lastGrenierStorage = owner.GetGrenier(owner.SelectedGrenierId).Storage;

        if (lastGrenierStorage.SeedNumber == 2 || lastGrenierStorage.SeedNumber == 3)
        {
            Seed[] seeds = lastGrenierStorage.RemoveAllSeed();
            foreach (Seed seed in seeds)
            {
                if (seed.gameObject.activeSelf)
                {
                    seed.enabled = false;
                    seedsEarning.Add(seed);
                }
                else
                {
                    EarnSeed(seed);
                }

                yield return(new WaitForSeconds(timeBetweenEachEarn));
            }

            --owner.SelectedGrenierId;
            if (owner.SelectedGrenierId == -1)
            {
                owner.SelectedGrenierId = owner.NbGrenier - 1;
            }
            yield return(Earn());
        }
        else
        {
            while (seedsEarning.Count != 0)
            {
                yield return(null);
            }

            if (owner.CheckGameOver())
            {
                owner.State = Plateau.pState.gameOver;
            }
            else
            {
                owner.State = Plateau.pState.turnChose;
            }
        }
    }
    void PointerInteract(bool is_pointing, Collider pointed_collider)
    {
        Grenier grenier;

        if (!is_pointing)
        {
            grenier = pointed_collider.gameObject.GetComponent <Grenier>();
            if (!grenier)
            {
                return;
            }

            if (chosen && chosen == grenier)
            {
                UnChoose();
            }

            return;
        }

        grenier = pointed_collider.gameObject.GetComponent <Grenier>();
        if (!grenier)
        {
            return;
        }

        StoredSeeds grenierStorage = grenier.Storage;
        StoredSeeds pointerStorage = Pointer.Instance.GetComponent <StoredSeeds>();

        if (!pointerStorage)
        {
            return;
        }

        if (pointerStorage.SeedNumber == 0)
        {
            if (owner.PlayableChoice(grenier))
            {
                Choose(grenier);
            }
        }
    }
Beispiel #6
0
 void Awake()
 {
     storage      = GetComponent <StoredSeeds>();
     outlineColor = GetComponent <OutlineColor>();
 }