Example #1
0
 void startThreadForSyncTCP()
 {
     syncSockTCP = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     label.text += "\r\n self " + MGFoundtion.getInternIP() + ";serverip " + MGGlobalDataCenter.defaultCenter().serverIp + ";clientIP" + MGGlobalDataCenter.defaultCenter().clientIP;
     if (MGGlobalDataCenter.defaultCenter().isFrontRoler)
     {
         syncIEP = new IPEndPoint(IPAddress.Parse(MGGlobalDataCenter.defaultCenter().clientIP), MGGlobalDataCenter.defaultCenter().SyncPort);            //服务器的IP和端口
         try
         {
             //因为客户端只是用来向特定的服务器发送信息,所以不需要绑定本机的IP和端口。不需要监听。
             syncSockTCP.Connect(syncIEP);
         }
         catch (SocketException e)
         {
             label.text += " unable to connect to server" + e.ToString();
         }
         InvokeRepeating("syncNetworkTCP", 0.1f, 0.010f);
     }
     else
     {
         syncIEP = new IPEndPoint(IPAddress.Any, MGGlobalDataCenter.defaultCenter().SyncPort);            //本机预使用的IP和端口
         syncSockTCP.Bind(syncIEP);
         syncThread = new Thread(syncToReceiveTCP);
         syncThread.IsBackground = true;
         syncThread.Start();
     }
 }
    private void removeObserver(List <MGNotificationSelector> selList, string name)
    {
        if (selList == null)
        {
            return;
        }
        List <MGNotificationSelector> notiSelList, needDelList;

        needDelList = new List <MGNotificationSelector>();
        notiSelList = MGFoundtion.GetValue <string, List <MGNotificationSelector> >(this.nameHastable, name, null);

        if (notiSelList == null)
        {
            return;
        }
        //Debug.Log("before remove:"+selList.Count);

        foreach (MGNotificationSelector eachSel in notiSelList)
        {
            foreach (MGNotificationSelector delSel in selList)
            {
                if (delSel == eachSel)
                {
                    needDelList.Add(delSel);
                }
            }
        }
        foreach (MGNotificationSelector needDelSel in needDelList)
        {
            notiSelList.Remove(needDelSel);
        }
        // Debug.Log("after remove:"+selList.Count);
        needDelList.Clear();
    }
Example #3
0
 void startThreadForSync()
 {
     syncSock    = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);     //初始化一个Scoket实习,采用UDP传输
     label.text += "\r\n self " + MGFoundtion.getInternIP() + ";serverip " + MGGlobalDataCenter.defaultCenter().serverIp + ";clientIP" + MGGlobalDataCenter.defaultCenter().clientIP;
     if (MGGlobalDataCenter.defaultCenter().isFrontRoler)
     {
         //label.text += "\r\n self " + MGFoundtion.getInternIP() + ";serverip " + MGGlobalDataCenter.defaultCenter().serverIp;
         IPAddress clientAddress = IPAddress.Broadcast;
         syncIEP = new IPEndPoint(clientAddress, MGGlobalDataCenter.defaultCenter().SyncPort);            //初始化一个发送广播和指定端口的网络端口实例
         syncEP  = (EndPoint)syncIEP;
         //syncSock.Bind(syncEP);//绑定这个实例
         syncSock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);            //设置该scoket实例的发送形式
         InvokeRepeating("syncNetwork", 0.1f, 0.010f);
     }
     else
     {
         //label.text += "\r\n self " + MGFoundtion.getInternIP() + ";serverip " + MGGlobalDataCenter.defaultCenter().serverIp;
         //Debug.Log("serverIp="+MGGlobalDataCenter.defaultCenter().serverIp);
         IPAddress serverAddress = IPAddress.Any;
         syncIEP = new IPEndPoint(serverAddress, MGGlobalDataCenter.defaultCenter().SyncPort); //初始化一个侦听局域网内部所有IP和指定端口
         syncEP  = (EndPoint)syncIEP;
         syncSock.Bind(syncEP);                                                                //绑定这个实例
         syncThread = new Thread(syncToReceive);
         syncThread.IsBackground = true;
         syncThread.Start();
     }
 }
Example #4
0
 void Start()
 {
     isReceiveIP    = false;
     isCancelListen = false;
     udpReceive     = new listenForServerDelegate(UDPStartToReceive);
     MGGlobalDataCenter.defaultCenter().serverIp = MGFoundtion.getInternIP();
 }
Example #5
0
 public void OnChoosePlayer_mingyue(GameObject button)
 {
     print("2 click start mingyue");
     if (istianyaLoad == false)
     {
         ismingyueLoad = true;
     }
     if (ismingyueLoad)
     {
         if (MGGlobalDataCenter.defaultCenter().isSingle == true)
         {
             MGGlobalDataCenter.defaultCenter().isLaterRoler = false;
             MGGlobalDataCenter.defaultCenter().isFrontRoler = true;
             if (!MGGlobalDataCenter.defaultCenter().isMingYueGuide)
             {
                 MGFoundtion.setMingYueGuideFlag();
                 MGGlobalDataCenter.defaultCenter().isMingYueGuide = true;
                 Application.LoadLevel("guideScene");
             }
             else
             {
                 Application.LoadLevel("gameScene1");
             }
         }
         else
         {
             this.GetComponent <MyNetworkTest>().createHost();
         }
     }
 }
Example #6
0
    GameObject createOneUI(GameObject gameObject, Vector3 pos)
    {
        GameObject objc = GameObject.Instantiate(gameObject, new Vector3(0, 0, 0), Quaternion.Euler(0, 0, 0)) as GameObject;

        objc.transform.parent     = NGUIRoot.transform;
        objc.layer                = UILayerMask;
        objc.transform.position   = MGFoundtion.WorldPointToNGUIPoint(pos, uiCamera);
        objc.transform.localScale = new Vector3(MGGlobalDataCenter.defaultCenter().UIScale, MGGlobalDataCenter.defaultCenter().UIScale, 1);
        return(objc);
    }
Example #7
0
    // Update is called once per frame
    void Update()
    {
        y += 0.05f;
        this.transform.Translate(new Vector3(Random.Range(1f, 3f), Mathf.Sin(y) / 5f, 0) * Random.Range(3f, 5f) * Time.deltaTime);
        //this.transform.Translate(new Vector3(Random.Range(1f, 2f), Random.Range(0.1f, 0.2f) * Time.deltaTime));

        if (this.transform.position.x > MGFoundtion.pixelToWroldPoint(MGGlobalDataCenter.defaultCenter().pixelWidth, 0).x)
        {
            Destroy(this.gameObject);
        }
    }
    /// <summary>
    /// Removes the observer.
    /// </summary>
    /// <param name="observer">Observer.</param>
    /// <param name="name">Name.</param>
    public void removeObserver(object observer, string name)
    {
        Dictionary <string, List <MGNotificationSelector> > nameListDic = MGFoundtion.GetValue <object, Dictionary <string, List <MGNotificationSelector> > >(this.objcNamesSel, observer, null);

        if (nameListDic == null)
        {
            return;
        }
        // Debug.Log("123123");
        this.removeObserver(nameListDic[name], name);
        nameListDic.Remove(name);
    }
Example #9
0
 // Use this for initialization
 void Awake()
 {
     if (MGFoundtion.isFirstLaunch())
     {
         Debug.Log("isFirstLaunch=true");
         MGGlobalDataCenter.defaultCenter().isFirstLaunch = true;
         MGFoundtion.setFirstLaunchFlag();
     }
     MGGlobalDataCenter.defaultCenter().isMingYueGuide = MGFoundtion.isMingYueGuide();
     MGGlobalDataCenter.defaultCenter().isTianYaGuide  = MGFoundtion.isTianYaGuide();
     Debug.Log("MGGlobalDataCenter.defaultCenter().isMingYueGuide=" + MGGlobalDataCenter.defaultCenter().isMingYueGuide);
     Debug.Log("MGGlobalDataCenter.defaultCenter().isTianYaGuide=" + MGGlobalDataCenter.defaultCenter().isTianYaGuide);
 }
    /// <summary>
    /// Removes the observer.
    /// </summary>
    /// <param name="observer">Observer.</param>
    public void removeObserver(object observer)
    {
        Dictionary <string, List <MGNotificationSelector> > nameListDic = MGFoundtion.GetValue <object, Dictionary <string, List <MGNotificationSelector> > >(this.objcNamesSel, observer, null);

        if (nameListDic == null)
        {
            return;
        }
        foreach (KeyValuePair <string, List <MGNotificationSelector> > pair in nameListDic)
        {
            this.removeObserver(pair.Value, pair.Key);
        }
    }
    /// <summary>
    /// Posts the notification.
    /// </summary>
    /// <param name="name">Name.</param>
    /// <param name="objc">Objc.</param>
    /// <param name="userInfo">User info.</param>
    public void postNotification(string name, object objc, Dictionary <object, object> userInfo)
    {
        List <MGNotificationSelector> selList = MGFoundtion.GetValue <string, List <MGNotificationSelector> >(this.nameHastable, name, null);

        if (selList == null)
        {
            return;
        }
        foreach (MGNotificationSelector sel in selList)
        {
            sel(new MGNotification(name, objc, userInfo));
        }
    }
Example #12
0
 void showButtonAndLabel(string buttonName, string labelString)
 {
     foreach (GameObject uiButton in UIButtons)
     {
         if (uiButton.name == buttonName)
         {
             uiButton.SetActive(true);
             uiButton.GetComponent <UIButton>().enabled = false;
             this.GetComponent <MGGuideDarkLayer>().createDarkLayerInPos(MGFoundtion.NGUIPointToWorldPoint(uiButton.transform.position, uiCamera));
             break;
         }
     }
     guideLabel.GetComponent <UILabel>().text = labelString;
     guideLabel.SetActive(true);
     Time.timeScale = 0;
 }
Example #13
0
    void Start()
    {
        roleLater         = MGGlobalDataCenter.defaultCenter().roleLater;
        roleLaterStartPos = roleLater.transform.position;
        roleFront         = MGGlobalDataCenter.defaultCenter().role;
        roleFrontStartPos = roleFront.transform.position;

        if (MGGlobalDataCenter.defaultCenter().isLaterRoler)
        {
            //先删除AI脚本
            Object Script = roleFront.GetComponent <MGRoleActAIController>();
            Destroy(Script);
            Script = roleFront.GetComponent <MGRoleFrontSkillAIController>();
            Destroy(Script);
        }
        else
        {
            //先删除AI脚本
            Object Script = roleLater.GetComponent <MGRoleActAIController>();
            Destroy(Script);
            Script = roleLater.GetComponent <MGRoleLaterSkillAIController>();
            Destroy(Script);
        }

        roleLaterJumpScript = roleLater.GetComponent <Jump>();
        roleFrontJumpScript = roleFront.GetComponent <Jump>();
        guideMask           = 0;
        guideEndMask        = 0;
        guideDelayTimer     = 0;
        guideLastStepTimer  = 0;
        guideDartStep       = 1;
        guideStepTimer      = 0;
        isHiddenButtons     = false;
        UIButtons           = null;
        isReStart           = false;
        flag       = false;
        isGuideEnd = false;
        guideLabel = GameObject.Instantiate(guideLabel, new Vector3(0, 0, 0), Quaternion.Euler(0, 0, 0)) as GameObject;
        guideLabel.transform.parent     = NGUIRoot.transform;
        guideLabel.transform.position   = MGFoundtion.WorldPointToNGUIPoint(new Vector3(0, 2.11f, 0), uiCamera);
        guideLabel.transform.localScale = new Vector3(1, 1, 1);
        guideLabel.layer = 10;
        guideLabel.GetComponent <UILabel>().text = "";
        guideLabel.SetActive(false);
    }
    void Awake()
    {
        Camera             camera         = GameObject.Find("Main Camera").GetComponent <Camera>();
        MGGlobalDataCenter singleInstance = MGGlobalDataCenter.defaultCenter();

        singleInstance.pixelHight = camera.pixelHeight;
        singleInstance.pixelWidth = camera.pixelWidth;
        Vector3 rightTopPos   = MGFoundtion.pixelToWroldPoint(singleInstance.pixelWidth, singleInstance.pixelHight);
        Vector3 leftBottomPos = MGFoundtion.pixelToWroldPoint(0, 0);

        singleInstance.leftBottomPos = leftBottomPos;
        singleInstance.rightTopPos   = rightTopPos;

        singleInstance.screenBottomY = leftBottomPos.y;
        singleInstance.screenTopY    = -1 * singleInstance.screenBottomY;
        singleInstance.screenLiftX   = leftBottomPos.x;
        singleInstance.screenRightX  = -1 * singleInstance.screenLiftX;

        Vector3 pos = MGFoundtion.pixelToWroldPoint(88f, 88f);

        singleInstance.NGUI_ButtonWidth = (pos.x - singleInstance.screenLiftX) * MGGlobalDataCenter.defaultCenter().UIScale;
    }
    /// <summary>
    /// Adds the observer.
    /// </summary>
    /// <param name="observer">Observer.</param>
    /// <param name="sel">selector.</param>
    /// <param name="name">nitification Name.</param>
    public void addObserver(object observer, MGNotificationSelector sel, string name)
    {
        if (observer == null || sel == null || name == null)
        {
            return;
        }
        List <MGNotificationSelector> selList = MGFoundtion.GetValue <string, List <MGNotificationSelector> >(this.nameHastable, name, null);

        if (selList == null)
        {
            selList = new List <MGNotificationSelector>();
        }
        if (selList.Contains(sel))
        {
            return;
        }
        selList.Add(sel);
        //Debug.Log("after add sel:"+selList.Count);
        MGFoundtion.AddOrPeplace <string, List <MGNotificationSelector> >(this.nameHastable, name, selList);
        Dictionary <string, List <MGNotificationSelector> > nameListDic = MGFoundtion.GetValue <object, Dictionary <string, List <MGNotificationSelector> > >(this.objcNamesSel, observer, null);

        if (nameListDic == null)
        {
            nameListDic = new Dictionary <string, List <MGNotificationSelector> >();
        }
        List <MGNotificationSelector> obj_name_selList = MGFoundtion.GetValue <string, List <MGNotificationSelector> >(nameListDic, name, null);

        if (obj_name_selList == null)
        {
            obj_name_selList = new List <MGNotificationSelector>();
        }
        obj_name_selList.Add(sel);
        MGFoundtion.AddOrPeplace <string, List <MGNotificationSelector> >(nameListDic, name, obj_name_selList);
        MGFoundtion.AddOrPeplace <object, Dictionary <string, List <MGNotificationSelector> > >(this.objcNamesSel, observer, nameListDic);
        //Debug.Log("objcNamesSel count:" + this.objcNamesSel.Count);
    }