/* Create instance of StonePrefab on each possition we've made and setup it's image, and id */
    private void CreateStones()
    {
        float startStoneCord = 0f + (StonesCount % 10) / 2;
        float endStoneCord   = 20f - (StonesCount % 10) / 2;

        CreateStonePossitions(startStoneCord, endStoneCord);
        int reverseStoneIndex = 1;

        for (int i = 1, n = StonesCount; i <= n; i++)
        {
            GameObject go = Instantiate(stonePref, StonesPossitions[i - 1], Quaternion.identity);
            go.GetComponent <StonePrefab>().StoneSetup(((i + 1) / 2) * reverseStoneIndex);
            go.GetComponentInChildren <SpriteRenderer>().sprite = StonesImagesHolder[(i - 1) / 2];
            go.GetComponentInChildren <SpriteRenderer>().transform.localScale = new Vector3(3f, 3f, 1f);
            Stones.Add(go.GetComponent <StonePrefab>());
            go.transform.parent = perant.transform;
            reverseStoneIndex  *= -1;
        }
    }
Esempio n. 2
0
        public StoneManager(EarthSpiritCrappa earthSpiritCrappa)
        {
            Main   = earthSpiritCrappa;
            Stones =
                EntityManager <Unit> .Entities.Where(x => x.IsValid && x.ClassId == ClassId.CDOTA_Unit_Earth_Spirit_Stone)
                .ToList();

            EntityManager <Unit> .EntityAdded += (sender, unit) =>
            {
                if (unit.ClassId == ClassId.CDOTA_Unit_Earth_Spirit_Stone)
                {
                    Stones.Add(unit);
                }
            };
            EntityManager <Unit> .EntityRemoved += (sender, unit) =>
            {
                if (unit.ClassId == ClassId.CDOTA_Unit_Earth_Spirit_Stone)
                {
                    Stones.Remove(unit);
                }
            };
        }