public void OnMarketEventEnter(MarketEvents marketEvent, Stock stock)
    {
        if (m_bInEvent)
        {
            return;
        }
        string str = marketEvent.EventText;

        m_bInEvent   = true;
        m_bScrolling = true;
        string printStr = str;

        if (stock != null)
        {
            m_tickerText.text = str;
            int replaceIdx = str.IndexOf("%symbol%");
            while (replaceIdx != -1)
            {
                printStr   = str.Remove(replaceIdx, "%symbol%".Length);
                printStr   = printStr.Insert(replaceIdx, stock.Symbol);
                replaceIdx = str.IndexOf("%symbol%");
            }
            m_tickerText.text = printStr;
        }
        m_tickerText.transform.position = m_originalPosition;
    }
예제 #2
0
    void Start()
    {
        PlayerCash = PlayerInitialCash;

        if (uiManager == null)
        {
            Debug.Log("GameManager: UIManager reference not set");
        }
        if (gameStep == null)
        {
            Debug.Log("GameManager: GameStep reference not set");
        }

        m_markets   = new List <Stock>();
        m_portfolio = new List <Stock>();

        m_marketEvent = null;

        m_uniqueID = 0;

        foreach (string symbol in StockSymbols)
        {
            Stock stock = Stock.MakeStock(m_uniqueID++, symbol, 100f);
            if (stock != null)
            {
                m_markets.Add(stock);
            }
        }

        gameStep.SimulateTime();
    }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        if (!m_bSetup)
        {
            m_bSetup = true;
            uiManager.OnClickMarkets();
            uiManager.OnCashChanged(PlayerCash);
            return;
        }

        // determine if any market events occur this frame
        if (m_marketEvent == null)
        {
            m_marketEvent = marketEvents[0];
            GameEvents.BroadcastMarketEvent(m_marketEvent, null);
            return;
        }

        /*
         * List<MarketEvents> selected = new List<MarketEvents>();
         * foreach (MarketEvents marketEvent in marketEvents)
         * {
         *  float probability = Time.deltaTime * 1000f / (marketEvent.Periodicity * 1000f);
         *  float rando = Random.Range(0f, 1000f);
         *  if (rando < probability)
         *  {
         *      Debug.Log("Market Event: " + marketEvent.EventType.ToString());
         *      selected.Add(marketEvent);
         *  }
         * }
         * if (selected.Count > 0)
         * {
         *  int select = Random.Range(0, selected.Count);
         *  m_marketEvent = selected[select];
         *  selected.Clear();
         *  Stock stockAffected = null;
         *  switch (m_marketEvent.StocksAffected)
         *  {
         *      case MarketEvents.EStocksAffected.One:
         *          stockAffected = Markets[Random.Range(0, Markets.Count)];
         *          break;
         *      case MarketEvents.EStocksAffected.All:
         *          break;
         *      default:
         *          break;
         *  }
         *  GameEvents.BroadcastMarketEvent(m_marketEvent, stockAffected);
         *  Debug.Log("Market Event: " + m_marketEvent.EventType.ToString());
         * }
         */
    }
예제 #4
0
    private void Awake()
    {
        MarketEvents.firstOpening();

        Time.timeScale = 1;

        SavePlayer x = MarketEvents.readDataFromFile();

        playerColorMaterial = Resources.Load <Material>("PlayerMaterials/" + x.color);

        if (playerColorMaterial == null)
        {
            playerColorMaterial = Resources.Load <Material>("PlayerMaterials/whitePlayer");
        }
        GetComponent <SpriteRenderer>().sharedMaterial = playerColorMaterial;
    }
예제 #5
0
 public static void BroadcastMarketEvent(MarketEvents marketEvent, Stock stock)
 {
     OnMarketEvent(marketEvent, stock);
 }
예제 #6
0
 public void OnMarketEvent(MarketEvents marketEvent, Stock stock)
 {
 }