示例#1
0
        public GameEngine(MyGame game)
        {
            screenLog = new ScreenLog();
            _hotkeys = new List<HotKey>();
            _hotkeys.Add(new HotKey(new Keys[] { Keys.O }, SwichDebugRender));
            _hotkeys.Add(new HotKey(new Keys[] { Keys.P }, SwichBehaviourModel));

            KeyboardManager.Manager.AddKeyboardUser(this);

            game._engine = this;
            packs = new PackList();
             //   newPacks = new ContentNew.PackList();
            Instance = this;
            lightDir.Normalize();

            gameScene = new EngineScene();
            Scene = gameScene.Scene;

            //разме рэкрана
            MyGame.DeviceManager.PreferredBackBufferWidth = (int)(GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width *0.8 );
            MyGame.DeviceManager.PreferredBackBufferHeight = (int) (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height*0.8);
            GameConfiguration.ScreenResolution = new Vector2(MyGame.DeviceManager.PreferredBackBufferWidth, MyGame.DeviceManager.PreferredBackBufferHeight);

            MyGame.DeviceManager.IsFullScreen = false;

            _cashe = new ObjectCashe();
        }
    void SendLoadLevel()
    {
        if (isLoadServerLevel)
        {
            return;
        }

        isLoadServerLevel = true;
        //ScreenLog.Log("SendLoadLevel************************test");
        if (Network.isServer)
        {
            ScreenLog.Log("SendLoadLevel -> level " + GlobalData.GetInstance().gameLeve);
            MediaPlayer.stopPlayMove();
            Network.incomingPassword = "";
            IsServerPort             = true;
            IsConnectServer          = false;

            if (GlobalData.GetInstance().gameLeve == GameLeve.Leve1)
            {
                status = Application.LoadLevelAsync((int)GameLeve.Leve3);
            }
            else
            {
                status = Application.LoadLevelAsync((int)GameLeve.Leve4);
            }
            status.allowSceneActivation = false;
            Invoke("startIntoGame", 1.0f);
        }
    }
示例#3
0
    // Start is called before the first frame update
    public void Test()
    {
        Data[] inputData  = new Data[3];
        Data[] outputData = new Data[3];

        for (int i = 0; i < inputData.Length; i++)
        {
            inputData[i].A = i * 3 + 1;
            inputData[i].B = i * 3 + 2;
            inputData[i].C = i * 3 + 3;
            ScreenLog.Log(string.Format("inputData.A={0} inputData.B={1} inputData.C={2}", inputData[i].A, inputData[i].B, inputData[i].C));
        }
        ComputeBuffer inputBuffer  = new ComputeBuffer(outputData.Length, 12);
        ComputeBuffer outputBuffer = new ComputeBuffer(outputData.Length, 12);

        int k = shader.FindKernel("CSMain");

        inputBuffer.SetData(inputData);
        shader.SetBuffer(k, "inputData", inputBuffer);

        shader.SetBuffer(k, "outputData", outputBuffer);
        shader.Dispatch(k, outputData.Length, 1, 1);
        outputBuffer.GetData(outputData);
        inputBuffer.Dispose();
        outputBuffer.Dispose();
        for (int i = 0; i < outputData.Length; i++)
        {
            ScreenLog.Log(string.Format("outputData.A={0} outputData.B={1} outputData.C={2}", outputData[i].A, outputData[i].B, outputData[i].C));
        }
    }
    void ShowHuanWeiFuTeXiao()
    {
        if (HuanWeiFuTeXiao == null)
        {
            if (AiNetScript != null)
            {
                HuanWeiFuTeXiao = AiNetScript.HuanWeiFuTeXiao;
            }

            if (HuanWeiFuTeXiao != null)
            {
                HuanWeiFuTeXiao.SetActive(true);
            }
            else
            {
                ScreenLog.LogError("*****************HuanWeiFuTeXiao is null, name -> " + gameObject.name);
            }
        }
        else
        {
            if (HuanWeiFuTeXiao.activeSelf)
            {
                return;
            }
            HuanWeiFuTeXiao.SetActive(true);
        }

        DelayCloseHuanWeiFuTeXiao();
    }
 void Awake()
 {
     if (!Instance)
     {
         Instance = this;
     }
 }
示例#6
0
    /// <summary>
    /// Creates a Surface on a real-world plane using either a DragSurfaceMesh or TapSurfaceMesh.
    /// </summary>
    /// <returns><c>true</c>, if Surface was successfully created, <c>false</c> otherwise.</returns>
    private bool CreateSurface()
    {
        Vector3 planeCenter;
        Plane   plane;

        if (!tangoPointCloud.FindPlane(Camera.main, Camera.main.WorldToScreenPoint(Vector3.Lerp(_firstCorner, _oppositeCorner, 0.5f)), out planeCenter, out plane))
        {
            ScreenLog.Write("Please try again.");
            return(false);
        }
        var surface = Instantiate(surfaceTemplate) as Surface;

        surface.SetTransform(plane, planeCenter);
        SurfaceMesh surfaceMesh;
        var         mode = MainMenuController.GetEdgeDetectionMode();

        if (mode == "DRAG")
        {
            surfaceMesh = new DragSurfaceMesh(surface, _firstCorner, _oppositeCorner);
        }
        else
        {
            surfaceMesh = new TapSurfaceMesh(surface, FindVerticesOnPlane(plane));
        }
        if (surfaceMesh == null)
        {
            //Do I need to destroy the surfaceMesh object, too?
            ScreenLog.Write("Please try again.");
            surface.Undo();
            return(false);
        }
        surface.SetMeshAndSelect(surfaceMesh.mesh);
        return(true);
    }
 void OnPlayerDisconnected(NetworkPlayer player)
 {
     ScreenLog.Log("OnPlayerDisconnected -> stop send msg! playerIP " + player.ipAddress);
     Network.RemoveRPCs(player);
     Network.DestroyPlayerObjects(player);
     SetServerSendState(0);
 }
    /**
     * ipInfo -> 第一个选择联机游戏的玩家IP信息.
     * port   -> 第一个选择联机游戏的玩家port信息.
     */
    public void ActiveGameSelectObj(string ipInfo, int port)
    {
        if (!FreeModeCtrl.IsHavePlayerIp)
        {
            return;
        }
        GlobalData.GetInstance().gameMode = GameMode.OnlineMode;        //强制设置为联机模式游戏.
        IsChangeGameMode = false;

        ScreenLog.Log("ActiveGameSelectObj -> ipInfo " + ipInfo + ", ipAddress " + Network.player.ipAddress
                      + ", port " + port + ", playerPort " + Network.player.port);
        if (ipInfo != Network.player.ipAddress || Network.player.port != port)
        {
            //该玩家不是第一个选择联机游戏的,不允许进行游戏关卡的选择.
            IsChangeGameLevel = false;
            ChangeLeve.ActiveSelectCityLevel(-1);
            return;
        }

        if (SelectObj.activeSelf)
        {
            return;
        }
        //该玩家是第一个选择联机游戏的,允许进行游戏关卡的选择.
        IsChangeGameLevel = true;
        SelectObj.SetActive(true);
        ChangeLeve.ActiveSelectCityLevel();
    }
示例#9
0
    public void SetIsDisconnect()
    {
        ScreenLog.Log("SetIsDisconnect...");
        if (NetCtrlScript == null)
        {
            NetCtrlScript = NetCtrl.GetInstance();
        }
        bIsDisconnect = true;

        switch (Network.peerType)
        {
        case NetworkPeerType.Server:
            OnServer();
            break;

        case NetworkPeerType.Client:
            OnClient();
            break;
        }

        if (NetCtrl.GetInstance() != null)
        {
            NetCtrl.GetInstance().DestroyNetCtrl();
        }
        Destroy(gameObject);
    }
示例#10
0
    // Update is called once per frame
    public static void Log(string txt = "", float duration = 0.0016f)
    {
        if (instance == null)
        {
            GameObject prefab = (GameObject)FileUtility.LoadFile("ScreenLogPrefab");
            GameObject obj    = (GameObject)Instantiate(prefab);
            instance           = obj.GetComponent <ScreenLog>();
            instance.logBuffer = new List <LogElement>();
        }

        if (instance.disableAllLogs || !enableCurrentLog)
        {
            return;
        }
        // Get call stack
        StackTrace stackTrace = new StackTrace(true);

        // Get calling method name
        var frame      = stackTrace.GetFrame(1);
        var frame2     = stackTrace.GetFrame(2);
        int lineNumber = frame.GetFileLineNumber();

        txt = frame2.GetMethod().Name + "()." + frame.GetMethod().Name + "() " + lineNumber + " " + txt;

        if (instance.LineColors != null && instance.LineColors.Length > 999)
        {
            instance.logBuffer.Add(new LogElement(txt, duration, GetColorBasedOnLineNumber(lineNumber + frame2.GetFileLineNumber())));
        }
        else
        {
            instance.logBuffer.Add(new LogElement(txt, duration, Color.white));
        }
    }
    IEnumerator WaitForAr()
    {
        bool checking = true;

        while (checking)
        {
            if (ARSession.state == ARSessionState.Unsupported)
            {
                ScreenLog.Log("AR not supported on device");
                yield break;
            }

            if (ARSession.state >= ARSessionState.Ready)
            {
                checking = false;
            }

            yield return(null);
        }

        ScreenLog.Log("AR Supported");

        PromptToScan(true);

        //looking for planes by trackingn them
        while (planeManager.trackables.count == 0)
        {
            yield return(null);
        }
        PromptToScan(false);
        ScreenLog.Log("Tracking Planes");

        OnARRunning.Invoke(true);
    }
    void sendToOtherCloseDaoJu()
    {
        ScreenLog.Log("sendToOtherCloseDaoJu -> daoJuName " + gameObject.name);
        enabled = false;
        gameObject.SetActive(false);
//		Network.RemoveRPCs(networkView.viewID);
//		Network.Destroy(gameObject);
    }
示例#13
0
 private void Window_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.L)
     {
         ScreenLog log = new ScreenLog(this.eng);
         log.Show();
     }
 }
示例#14
0
 void OnFailedToConnect(NetworkConnectionError error)
 {
     ScreenLog.Log("Could not connect to server: " + error);
     if (GlobalData.GetInstance().gameLeve == GameLeve.Movie)
     {
         InitCreateServer();
     }
 }
示例#15
0
    void StartCreat()
    {
        if (bIsLinkServer)
        {
            bIsLinkServer = false;
            if (FreeModeCtrl.IsServer)
            {
                FreeModeCtrl.CheckIsHavePlayerIp();
                //ScreenLog.Log("start create to server...");
                string passwordStr = "Movie";
                if (Application.loadedLevelName != GameLeve.Movie.ToString())
                {
                    passwordStr = "LinkGame";
                }

                NetworkConnectionError error = NetworkConnectionError.CreateSocketOrThreadFailure;
                if (NetCtrlScript == null || (NetCtrlScript != null && NetCtrlScript.IsServerPort))
                {
                    error = Network.InitializeServer(30, port, true);
                    Network.incomingPassword = passwordStr;
                }

                ScreenLog.Log("NetworkServerNet -> current level is " + Application.loadedLevelName
                              + ", password " + passwordStr);
                //ScreenLog.Log("creat server: info is " + error);
                if (error.ToString() != "NoError")
                {
                    bIsLinkServer = true;
                }
            }
            else if (!FreeModeCtrl.IsServer)
            {
                if (Application.loadedLevel < (int)GameLeve.Leve3)
                {
                    TimeLinkServer += Time.deltaTime;
                    if (TimeLinkServer < 3.0f)
                    {
                        bIsLinkServer = true;
                        return;
                    }
                    TimeLinkServer = 0.0f;
                }
                FreeModeCtrl.CheckIsHavePlayerIp();

                if (NetCtrlScript == null || (NetCtrlScript != null && NetCtrlScript.GetIsConnectServer()))
                {
                    string passwordStr = "Movie";
                    if (Application.loadedLevelName != GameLeve.Movie.ToString())
                    {
                        passwordStr = "LinkGame";
                    }
                    ScreenLog.Log("start connect to server -> current level is " + Application.loadedLevelName
                                  + ", password " + passwordStr + ", connectIp " + ip);
                    Network.Connect(ip, port, passwordStr);
                }
            }
        }
    }
 public static void init()
 {
     if (_Instance == null)
     {
         GameObject obj = new GameObject("_ScreenLog");
         _Instance = obj.AddComponent <ScreenLog>();
         //DontDestroyOnLoad(obj);
     }
 }
示例#17
0
 //接收校准按键消息,打开查找光点开关.
 public void ActiveJiaoZhunZuoBiao()
 {
     if (m_mode != MODE.MODE_SET_CALIBRATION)
     {
         return;
     }
     m_bRectifyState = true;
     ScreenLog.Log("ActiveJiaoZhunZuoBiao -> m_nLed " + m_nLed);
 }
示例#18
0
 public static CSampleGrabberCB GetInstance()
 {
     if (_Instance == null)
     {
         _Instance = new CSampleGrabberCB(0);
         ScreenLog.Log("create CSampleGrabberCB!");
     }
     return(_Instance);
 }
    void SendToClientSetIsIntoMoveScense()
    {
        if (Network.isServer)
        {
            return;
        }

        ScreenLog.Log("SendToClientSetIsIntoMoveScense...");
        IsIntoMoveScense = true;
    }
示例#20
0
 void OnConnectedToServer()
 {
     ScreenLog.Log("OnConnectedToServer: ip " + Network.player.ipAddress);
     if (Application.loadedLevel == (int)GameLeve.Movie)
     {
         isTryLinkServer = false;
         bIsLinkServer   = false;
         StartSenceChangeUI.GetInstance().HanldeClientSelectLink();
     }
 }
示例#21
0
 void Update()
 {
     //Debug.Log("in Update");
     if (number >= 0)
     {
         ScreenLog.Log("in MyScript Update, count = " + number);
         DoSomething();
         number -= 1;             // reduce number by one
     }
 }
示例#22
0
    private void Awake()
    {
        instance_ = this;

        skin = ScriptableObject.CreateInstance <GUISkin>();
        skin.label.normal.textColor = new UnityEngine.Color(1, 1, 1);
        skin.label.wordWrap         = true;

        styleError.normal.textColor   = new UnityEngine.Color(1.0f, 0.0f, 0.0f);
        styleWarning.normal.textColor = new UnityEngine.Color(248.0f / 255.0f, 253.0f / 255.0f, 43.0f / 255.0f);
    }
 public void RestartComPort()
 {
     if (!ComThreadClass.IsReadMsgComTimeOut)
     {
         return;
     }
     CountRestartCom++;
     ScreenLog.Log("Restart ComPort " + ComThreadClass.ComPortName + ", time " + (int)Time.realtimeSinceStartup);
     ScreenLog.Log("CountRestartCom: " + CountRestartCom);
     StartCoroutine(OpenComThread());
 }
示例#24
0
        private bool TestError(string context)
        {
            if (error == 0)
            {
                return(false);
            }

            Debug.LogError("network_err #" + error + " " + ((NetworkError)error) + ": " + context);
            ScreenLog.Write("network_err #" + error + " " + ((NetworkError)error) + ": " + context);
            return(true);
        }
 public void HiddenServerWait()
 {
     ScreenLog.Log("HiddenServerWait...");
     ServerWaitUI.SetActive(false);
     ServerWaitCity.SetActive(false);
     ServerWaitOutdoor.SetActive(false);
     if (Network.peerType == NetworkPeerType.Client)
     {
         MapUI.SetActive(true);
     }
 }
 public static void InitPlayerIpArray()
 {
     PlayerIpArray   = new string[8];
     PlayerPortArray = new int[8];
     for (int i = 0; i < 8; i++)
     {
         PlayerIpArray[i]   = "";
         PlayerPortArray[i] = -1;
     }
     ScreenLog.Log("InitPlayerIpArray...");
 }
    void StartCreat()
    {
//		if (Application.loadedLevel != (int)GameLevel.Movie) {
//			return;
//		}

        if (!bIsLinkServer)
        {
            return;
        }
        bIsLinkServer = false;

        if (GameModeCtrl.ModeVal != GameMode.LianJi)
        {
            return;
        }

        if (GameTypeCtrl.IsServer)
        {
            NetworkConnectionError error = NetworkConnectionError.CreateSocketOrThreadFailure;
            error = Network.InitializeServer(30, port, true);
            if (Application.loadedLevel == (int)GameLevel.Movie)
            {
                Network.incomingPassword = ServerPassword.XKMovie.ToString();
            }
            else
            {
                Network.incomingPassword = ServerPassword.XKGame.ToString();
            }
            ScreenLog.Log("start create to server, Password " + Network.incomingPassword);

            //ScreenLog.Log("NetworkServerNet -> current level is " + Application.loadedLevelName);
            ScreenLog.Log("creat server: info is " + error);
            if (error.ToString() != "NoError")
            {
                bIsLinkServer = true;
            }
        }
        else
        {
            if (!IsActiveClient)
            {
                return;
            }

            string passwordVal = ServerPassword.XKMovie.ToString();
            if (Application.loadedLevel > (int)GameLevel.Movie)
            {
                passwordVal = ServerPassword.XKGame.ToString();
            }
            ScreenLog.Log("start connect to server, password " + passwordVal);
            Network.Connect(ip, port, passwordVal);
        }
    }
    // Use this for initialization
    void Start()
    {
        if (PosEvent == BikeCamEvent.JingZhi && JingZhiCamTrans == null)
        {
            ScreenLog.LogWarning("CamPosEvent::Start -> JingZhiCamTrans is null, PosEvent = " + PosEvent);
        }

        if (PosEvent == BikeCamEvent.JingZhiMiaoZhun && JingZhiCamTrans == null)
        {
            ScreenLog.LogWarning("CamPosEvent::Start -> JingZhiCamTrans is null, PosEvent = " + PosEvent);
        }
    }
示例#29
0
    void Start()
    {
        //Debug.Log("transform.childCount " + transform.childCount);
        correctPlayerPos = transform.position;
        correctPlayerRot = transform.rotation;

        rockParticle = transform.GetChild(0).gameObject;
        if (rockParticle == null)
        {
            ScreenLog.Log("rockParticle is null! name " + transform.name);
        }
    }
示例#30
0
 void Awake()
 {
     if (jLog == null)
     {
         jLog = this;
         DontDestroyOnLoad(gameObject);
         Initialize();
     }
     else
     {
         Destroy(gameObject);
     }
 }
    void OnPlayerConnectedInfo()
    {
        int max = Network.connections.Length;

        ScreenLog.Log("OnPlayerConnected -> init, clientCount " + max);
        for (int i = 0; i < max; i++)
        {
            CreatLinkPlayer(Network.connections[i]);
        }
        NetworkServerNet.CountPlayerStatic = 0;
        ServerWaitUI.SetActive(false);
        NetCtrl.GetInstance().SendCheckIsPlayGame();
    }