Beispiel #1
0
 private void SendQuarterEndedEventToScreens()
 {
     foreach (BizSimScreen s in BizSimScreen.GetAll())
     {
         s.HandleQuarterEnded();
     }
 }
Beispiel #2
0
 public void Awake()
 {
     webView = WebViewManager.Inst.CreateWebView(1, 1);
     webView.LoadURL(BizSimScreen.GetStageItemURL(1));
     webView.LoadCompleted += OnLoadCompleted;
     serverDataDisplay      = gameObject.AddComponent <ServerDataDisplay>();
 }
Beispiel #3
0
    private void HandleOtherObjectMessages(int userID, SFSObject msgObj)
    {
        if (msgObj.ContainsKey("mp") || msgObj.ContainsKey("mpx") || msgObj.ContainsKey("me"))
        {
            RemoteMouseManager.Inst.OnObjectMessage(userID, msgObj);
        }
        if (GameManager.Inst.LevelLoaded == GameManager.Level.BIZSIM && BizSimManager.Inst.productMgr != null)
        {
            BizSimManager.Inst.productMgr.HandleMessageObject(msgObj);
        }
        if (msgObj.ContainsKey("url"))
        {
            Debug.LogError("url -- message no longer supported, use room variables to change shared web panels");
        }
        if (msgObj.ContainsKey("js") || msgObj.ContainsKey("pl"))
        {
            BizSimScreen.HandleMessage(msgObj);
        }

        // Effects (confetti!)
        if (msgObj.ContainsKey("cnfon") || msgObj.ContainsKey("typn"))
        {
            PlayerManager.remoteEffectManager.OnObjectMessage(msgObj);
        }
    }
Beispiel #4
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 200;
     bssId     = CollabBrowserId.CHARTS;
     url       = BizSimScreen.GetStageItemURL(stageItem);
 }
Beispiel #5
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 80;
     bssId     = CollabBrowserId.WAREHOUSE;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     mInst     = this;
 }
Beispiel #6
0
 protected override void Awake()
 {
     base.Awake();
     disableScrolling = false;
     stageItem        = 300;
     bssId            = CollabBrowserId.ACCOUNTING;
     url = BizSimScreen.GetStageItemURL(stageItem);
 }
Beispiel #7
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 19;
     bssId     = CollabBrowserId.BANKINGCHARTS;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     mInst     = this;
 }
 protected override void Awake()
 {
     base.Awake();
     stageItem = 28;
     bssId     = CollabBrowserId.NEWPRODUCT;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     allNewProdInvesters[bssId] = this;
 }
Beispiel #9
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 6;
     bssId     = CollabBrowserId.SCORE;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     blacklistRequestURLFragments.Add("holdinginfo.php?playerid");
     requestReplacements.Add(BaseURL + "/images/flags/us.gif", Directory.GetCurrentDirectory() + "/img/blank.gif");
 }
Beispiel #10
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 5;
     bssId     = CollabBrowserId.NEWS;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     url      += "&num_items=" + numItemsToDisplay;
     blacklistRequestURLFragments.Add("holdinginfo.php?playerid");
 }
Beispiel #11
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 7;
     bssId     = CollabBrowserId.KPI;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     url      += "&override_chartheight=" + chartHeight;
     mInst     = this;
 }
Beispiel #12
0
 protected override void Awake()
 {
     base.Awake();
     stageItem = 20;
     bssId     = CollabBrowserId.FINANCE;
     url       = BizSimScreen.GetStageItemURL(stageItem);
     refreshOnInvestmentBudgetChange = true;
     mInst = this;
 }
Beispiel #13
0
    public List <JSValue> ExecuteJavaScriptOnAllBrowserPlanes(string JsCmd)
    {
        List <JSValue> ret = new List <JSValue>();

        foreach (BizSimScreen s in BizSimScreen.GetAll())
        {
            ret.Add(s.bTex.ExecuteJavaScriptWithResult(JsCmd));
        }
        return(ret);
    }
Beispiel #14
0
 public void ReloadAll(bool reloadServerData = true)
 {
     Debug.Log("refreshing all biz sim screens");
     if (reloadServerData && serverData != null)
     {
         serverData.RefreshWebView();
     }
     foreach (BizSimScreen s in BizSimScreen.GetAll())
     {
         s.Refresh();
     }
 }
Beispiel #15
0
 protected override void Awake()
 {
     allProdMgrs[ServerID] = this;
     base.Awake();
     stageItem = 30;
     bssId     = CollabBrowserId.PRODUCTMGR + id;
     if (id < 0)
     {
         Debug.LogError("ProductManagementScreen: Please specify an id in the editor");
     }
     url = BizSimScreen.GetStageItemURL(stageItem);
 }
Beispiel #16
0
 // if affectMouseRepresentation, then the enable flag will affect whether mouse representations are on or off aswell
 public void EnableInputOnAllBrowserPlanes(bool enable, bool affectMouseRepresentation = true)
 {
     foreach (BizSimScreen s in BizSimScreen.GetAll())
     {
         if (s.bTex != null)
         {
             s.bTex.AllowInputChanges = enable;
             if (affectMouseRepresentation)
             {
                 s.bTex.ShowMouseRepresentation = enable;
             }
         }
     }
 }
Beispiel #17
0
    private void DisplaySim()
    {
        foreach (BizSimScreen screen in BizSimScreen.GetAll())
        {
            if (!screen.Initialized)
            {
                screen.Initialize();

                // setup load complete callbacks
                screen.bTex.AddLoadCompleteEventListener(OnBrowserLoadComplete);
            }
            else
            {
                screen.Refresh();
            }
        }
    }
Beispiel #18
0
    public void HandleAction(string action)
    {
        string[] tok = action.Split(new char[] { ',' }, 3);
        if (tok.Length < 3)
        {
            Debug.LogError("Number of expected tokens not found");
            return;
        }

        int bssId = -1;

        int.TryParse(tok[0].Substring(tok[0].IndexOf("=") + 1), out bssId);

        string div = tok[1].Substring(tok[1].IndexOf("=") + 1);
        string url = tok[2].Substring(tok[2].IndexOf("=") + 1);;


        // This can become more efficient
        for (int i = 0; i < BizSimScreen.GetAll().Count; ++i)
        {
            if (BizSimScreen.GetAll()[i].bTex.id == bssId)
            {
                string error = null;
                if (BizSimScreen.GetAll()[i].bTex.isWebViewBusy())
                {
                    error = "The panel appears to be busy, please try again";
                }
                if (BizSimScreen.GetAll()[i].bTex.URL != url)
                {
                    error = "The url appears to have changed, please try again";
                }
                if (error != null)
                {
                    InfoMessageManager.Display(error);
                }
                else
                {
                    BizSimScreen.GetAll()[i].bTex.ForceConfirmClickOnDiv(":submit");
                }

                return;
            }
        }
    }
Beispiel #19
0
 public static string GetProductURL(string productTag)
 {
     return(BizSimScreen.GetStageItemURL(100) + "&ptag=" + productTag);
 }
Beispiel #20
0
    public void HandleObjectMessage(int userID, SFSObject dataObj)
    {
        //we are ignoring all msgs that doesnt have a "type" defined
        if (!dataObj.ContainsKey("type"))
        {
            HandleOtherObjectMessages(userID, dataObj); // support messages that don't conform to the "type" system for now.
            return;
        }

        switch (dataObj.GetUtfString("type"))
        {
        case "anim":
        {
            Player player = GameManager.Inst.playerManager.GetPlayer(userID);
            if (player != null)
            {
                string animName = dataObj.GetUtfString("anim");
                player.gameObject.GetComponent <AnimatorHelper>().StartAnim(animName, false);
            }
        }
        break;

        case "panim":
        {
            Player player = GameManager.Inst.playerManager.GetPlayer(userID);
            if (player != null)
            {
                string animName = dataObj.GetUtfString("anim");
                player.gameObject.GetComponent <AnimatorHelper>().StopAnim(animName, false);
            }
        }
        break;

        case "cmd":
            switch (dataObj.GetUtfString("cmd"))
            {
            case "rm":
                GameGUI.Inst.WriteToConsoleLog("Removing player unit from " + userID);
                //	                    GameManager.Inst.playerManager.RemoveRemotePlayer(sender);
                break;

            case "whisper":
                GameGUI.Inst.WriteToConsoleLog("whispering pm from " + userID);
                break;
            }
            break;

        case "voice":
            VoiceManager.Inst.HandleMessage(dataObj);
            break;

        case "screen":
            Debug.LogError("Got Screen message, contains rs?: " + (dataObj.ContainsKey("type") ? "yes" : "no"));
            int stageItemID = dataObj.GetInt("rs");
            BizSimScreen.RefreshScreen(stageItemID);
            break;

        case "ss":
            if (StrategyScreen.Inst != null)
            {
                StrategyScreen.Inst.HandleMessage(dataObj);
            }
            break;
        }
    }
Beispiel #21
0
 public List <BizSimScreen> GetAllScreens()
 {
     return(BizSimScreen.GetAll());
 }
Beispiel #22
0
    public void InitSim(string overrideSimType = "")
    {
        string companyName = "";

        switch (playMode)
        {
        case SimPlayMode.SINGLE_PLAYER:

            // until Industry Masters releases single player for more types of sims
            simType = (overrideSimType == "") ? "uimx_sustain" : overrideSimType;

            if (room != null && room.ContainsVariable("company"))
            {
                companyName = room.GetVariable("company").GetStringValue();
                if (room.ContainsVariable("starttime"))
                {
                    string startTimeStr = room.GetVariable("starttime").GetStringValue();

                    DateTime startTime = MsgStringToDateTime(startTimeStr);
                    Debug.Log("Sim was started: " + startTime.ToString());

                    if (forceNewGame || DateTime.UtcNow.Subtract(startTime).TotalHours >= 1.0)
                    {
                        Debug.Log("Last business simulation finished, start a new one");
                        // start a new game
                        companyName = GetUniqueCompanyName();
                        SetNewCompanyName(companyName);
                        forceNewGame = false;
                    }
                }
                else
                {
                    Debug.LogError("room needs to have a starttime variable setup on the server");
                }
            }
            else
            {
                Debug.LogError("Shouldn't get here -- Need to create a company variable via the server interface!!!");
                // create a company name -- this won't be persistent though, it dies when this user disconnects
                companyName = GetUniqueCompanyName();
                SetNewCompanyName(companyName);
            }
            AutoLogin(companyName);
            break;

        case SimPlayMode.MULTI_PLAYER:
            gameID      = TeamInfo.Inst.GetBizSimGameId(CommunicationManager.CurrentTeamID);
            simType     = (overrideSimType == "") ? TeamInfo.Inst.GetSimType(CommunicationManager.CurrentTeamID) : overrideSimType;
            simType     = string.IsNullOrEmpty(simType) ? "uimx_sustain" : simType;
            companyName = GetMultiplayerTeamName();
            AutoLogin(companyName);
            break;

        case SimPlayMode.DEMO:
            simType = (overrideSimType == "") ? "uimx_sustain" : overrideSimType;
            AutoLogin("Demo");
            break;

        case SimPlayMode.ADMIN_PLAYER:
            Debug.LogError("Admin Player is not currently implemented");
            break;
        }

        SetupSimType(simType);

        // update current tabs
        for (int i = 0; room != null && i < productMgr.NumProducts; ++i)
        {
            if (room.ContainsVariable("cat" + i))
            {
                HandleTabMsg(room, "cat" + i);
            }
        }

        for (int i = 0; i < ProductManagementScreen.GetAll().Count; ++i)
        {
            string varName = "prdurl" + i;
            if (room != null && room.ContainsVariable(varName))
            {
                ProductManagementScreen screen = ProductManagementScreen.GetAll()[i];
                string url = (screen.Initialized) ? BizSimScreen.GetStageItemURL(screen.StageItem) : room.GetVariable(varName).GetStringValue();
                screen.HandleNewURL(url);
                if (overrideSimType != "")
                {
                    ProductManagementScreen.GetAll()[i].UpdateServerWithNewURL(url);
                }
            }
        }
        MainCameraController.Inst.snapCamMakesPlayersInvisible = true;
    }