Example #1
0
    private void OnPlaceHero(UnitEvents.PlaceHeroEvent e)
    {
        if (_gridModel != null && _gridModel.Hero == null && _gridModel.SelectedTile != null)
        {
            var hero = Instantiate(HeroPrefab).GetComponent <Unit>();
            hero.Name = "Hero";
            _gridModel.Units.Add(hero);
            hero.OccupyingTile = _gridModel.SelectedTile;

            var heroPosition = _gridModel.SelectedTile.transform.position;
            heroPosition.y         += hero.GetComponent <MeshRenderer>().bounds.extents.y;
            hero.transform.position = heroPosition;

            //_gridModel.Hero = hero.GetComponent<Hero>();
            _gridModel.SelectedTile.Selected = false;
        }
    }
Example #2
0
    void Awake()
    {
        CardPreview.gameObject.SetActive(false);

        GenerateGridButton.onClick.AddListener(delegate
        {
            var gridEvent = new GridEvents.CreateDataEvent();
            EventSystem.instance.Dispatch(gridEvent);
        });

        PlaceHeroButton.onClick.AddListener(delegate
        {
            var heroEvent = new UnitEvents.PlaceHeroEvent();
            EventSystem.instance.Dispatch(heroEvent);
        });

        PlaceUnitButton.onClick.AddListener(delegate
        {
            var unitEvent = new UnitEvents.PlaceUnitEvent();
            EventSystem.instance.Dispatch(unitEvent);
        });

        ResetMovementButton.onClick.AddListener(delegate
        {
            var movementEvent = new DebugEvents.ResetAllRemainingMovementEvent();
            EventSystem.instance.Dispatch(movementEvent);
        });

        var previousContext = new NavigationEvents.PreviousContextEvent();

        BackButton.onClick.AddListener(delegate
        {
            EventSystem.instance.Dispatch(previousContext);
        });

        _model = ApplicationFacade.instance.GetModel <GridModel>();

        EventSystem.instance.Connect <UnitEvents.UnitSelectedEvent>(OnUnitSelected);
        EventSystem.instance.Connect <CardEvents.CardPreviewEvent>(OnCardPreviewed);
        EventSystem.instance.Connect <CardEvents.HideCardPreviewEvent>(OnHideCardPreview);
    }