/* 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; } }
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); } }; }