コード例 #1
0
    private void _spawnInLane(int laneIndex)
    {
        EventSystem.current.SetSelectedGameObject(null);
        var e = new Events.PurchaseEvent(Side.Player, laneIndex);

        Game.PushEvent(e);
    }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        var state      = Game.State;
        var difficulty = state.Difficulty;
        var money      = state.EnemyResources;

        if (state.Winner != Side.Neutral)
        {
            return;
        }
        if (State.SpawnCooldown > 0 || money <= 0)
        {
            State.SpawnCooldown -= Time.deltaTime;
        }
        else
        {
            var laneKey = EnemyAI.GetSpawnLaneKey(state, Game.Queries);
            if (laneKey != null)
            {
                var e = new Events.PurchaseEvent(Side.Enemy, Int32.Parse(laneKey));
                Game.PushEvent(e);
                State.SpawnCooldown = EnemyAI.GetCooldownForDifficulty(difficulty);
            }
            else
            {
                Debug.LogWarning("EnemyAI: failed to obtain a valid spawn lane");
            }
        }
    }