public static void DrawChest(RectTransform fieldContainer, Chest chest) { var chestObject = GameObject.Instantiate(Resources.Load(RaceManager.GetChestPrefabLocation(chest.ChestResultType))) as GameObject; chestObject.transform.SetParent(fieldContainer.transform); var chestRemover = chestObject.AddComponent <ChestTakingListener>(); chestRemover.Chest = chest; chest.RemoveEvents(); chest.Take += chestRemover.Delete; chestObject.transform.localPosition = CoordsUtility.GetUiPosition(chest.CurrentPositionInMaze); }
public static void DrawHero(RectTransform fieldContainer, Hero hero) { var heroObject = GameObject.Instantiate(Resources.Load(RaceManager.GetHeroPrefabLocation(hero.Race))) as GameObject; heroObject.transform.SetParent(fieldContainer.transform); var heroMover = heroObject.AddComponent <HeroMovementListener>(); var heroClicker = heroObject.GetComponent <HeroClickListener>(); var heroViewer = heroObject.GetComponent <HeroInfoView>(); heroViewer.SetAvatar(hero.Race); heroClicker.Hero = hero; hero.RemoveEvents(); hero.OnMove += heroMover.Move; hero.OnDie += heroMover.Die; heroObject.transform.localPosition = CoordsUtility.GetUiPosition(hero.CurrentPositionInMaze); }
public void Move(LocationInMaze newLocation) { transform.localPosition = CoordsUtility.GetUiPosition(newLocation); }