예제 #1
0
    /// <summary>
    /// Handle clicking on tokens
    /// </summary>
    public bool InputUpdate(Ray ray)
    {
        if (FindObjectOfType <ShadowPhaseManager>().doingShadowPhase)
        {
            return(false);
        }

        if (Physics.Raycast(ray, out RaycastHit hit))
        {
            Transform objectHit = hit.transform;
            if (objectHit.name == "Exploration Token")
            {
                var objs = FindObjectsOfType <SpawnMarker>();
                foreach (var ob in objs)
                {
                    if (ob.name.Contains("SPAWNMARKER"))
                    {
                        Destroy(ob.gameObject);
                    }
                    if (ob.name == "STARTMARKER")
                    {
                        ob.gameObject.SetActive(false);
                    }
                }

                Tile tile = objectHit.parent.GetComponent <Tile>();

                interactionManager.GetNewTextPanel().ShowQueryExploration((res) =>
                {
                    if (res.btn1)
                    {
                        ShowExplorationText(tile, () =>
                        {
                            tile.RemoveExplorationToken();
                            tile.Colorize();
                            tile.RevealInteractiveTokens();
                            //fire trigger on chapter exploration
                            triggerManager.FireTrigger(tile.chapter.exploreTrigger);
                            //fire trigger on tile exploration
                            triggerManager.FireTrigger(tile.hexTile.triggerName);
                            //objectHit.parent.GetComponent<Tile>().tileGroup.ExploreTile();
                        });
                    }
                });

                camControl.MoveTo(tile.centerPosition, .2f);
                return(true);
            }
            else if (objectHit.name.Contains("Token"))
            {
                camControl.MoveTo(objectHit.parent.GetComponent <Tile>().centerPosition, .2f);
                QueryTokenInteraction(objectHit);
                return(true);
            }
        }
        return(false);
    }
예제 #2
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            //FindObjectOfType<MonsterManager>().AddMonsterGroup( new Monster()
            //{
            //	//isLarge = true,
            //	isElite = false,
            //	health = 2,
            //	currentHealth = new int[] { 2, 2, 2 },
            //	shieldValue = 0,
            //	count = 2,
            //	movementValue = 2,
            //	specialAbility = "",
            //	GUID = System.Guid.NewGuid(),
            //	monsterType = MonsterType.OrcHunter,
            //	dataName = "Orc Hunter",
            //	damage = 2
            //} );
        }
        else if (Input.GetKeyDown(KeyCode.S))
        {
            if (FindObjectOfType <ShadowPhaseManager>().doingShadowPhase ||
                FindObjectOfType <InteractionManager>().PanelShowing ||
                FindObjectOfType <ProvokeMessage>().provokeMode ||
                fader.gameObject.activeSelf)
            {
                ShowError("Can't QuickSave at this time");
                return;
            }
            ShowError("QuickSave State");
            GameState gs = new GameState();
            gs.SaveStateTemp(this);
        }
        else if (Input.GetKeyDown(KeyCode.L))
        {
            if (FindObjectOfType <ShadowPhaseManager>().doingShadowPhase ||
                FindObjectOfType <InteractionManager>().PanelShowing ||
                FindObjectOfType <ProvokeMessage>().provokeMode ||
                fader.gameObject.activeSelf)
            {
                ShowError("Can't QuickLoad at this time");
                return;
            }

            ShowError("QuickLoad State");
            RestoreGame(true);
        }
        else if (Input.GetKeyDown(KeyCode.Space))
        {
            if (tileManager.GetAllTileGroups().Length > 0)
            {
                Vector3 p = tileManager.GetAllTileGroups()[0].groupCenter;
                camControl.MoveTo(p);
            }
        }
        else if (Input.GetKeyDown(KeyCode.X))
        {
            //debug - save campaign state as if scenario was finished
            ShowError("DEBUG save campaign - scenario finished");
        }
    }