示例#1
0
    public override async Task OnClick()
    {
        try {
            if (!CharacterCreationScreenRefresherService.GetHasCharacterTypeSelected())
            {
                return;
            }

            var characterType = CharacterCreationScreenRefresherService.GetSelectedCharacterType();

            LOG.Log($"Sending a request to create character: {GameState.PlayerName} on {GameState.CurrentWorld.World.Id} and type {characterType}");
            var characterData = await NetworkService.RequestCreateCharacter(
                GameState.PlayerName,
                GameState.CurrentWorld.World.Id,
                characterType
                );

            if (characterData != null)
            {
                LOG.Log($"Character creation was ok");
                GameState.CurrentCharacter = characterData;
                await ScreenChangerService.ChangeScreen(ScreenId.Area);
            }
        }
        catch (System.Exception e) {
            LOG.Log(e);
            throw;
        }
    }
示例#2
0
    public override async Task OnClick()
    {
        try {
            switch (Type)
            {
            case PanelChangerButtonType.Open:
                await PanelChangerService.ShowPanel(Id);

                break;

            case PanelChangerButtonType.Close:
                await PanelChangerService.HidePanel(Id);

                break;

            case PanelChangerButtonType.Toggle:
                await PanelChangerService.TogglePanel(Id);

                break;
            }
        }
        catch (System.Exception e) {
            LOG.Log(e);
            throw;
        }
    }
    public static async Task <RegisterAccountResponse> TryToRegister()
    {
        var username   = Object.usernameInputField.GetValue();
        var playerName = Object.playerNameInputField.GetValue();
        var password   = Object.passwordInputField.GetValue();

        LOG.Log($"Trying to register with: {username} | {password} | {playerName}");

        var res = await NetworkService.Register(username, password, playerName);

        string message = "";

        switch (res.response)
        {
        case RegisterAccountResponseType.Success:
            message = $"Registration was ok!";
            break;

        case RegisterAccountResponseType.UserNameAlreadyExists:
            message = $"Username already exists";
            break;

        case RegisterAccountResponseType.PlayerNameAlreadyExists:
            message = $"Player name already exists";
            break;
        }

        LOG.Log(message);
        UIEvents.ChangeGameText(GameTextId.RegisterResponse, message);

        return(res);
    }
示例#4
0
    void Start()
    {
        Debug.Log("Start");
        index = 0;

        StartCoroutine(PerFrameLoad());

        string    testStr   = "testStr";
        ClassTest testClass = new ClassTest();

        testClass.name = "testClass.name";
        ChangeString(testStr);
        Debug.Log("Start|ChangeString:" + testStr);

        ChangeClassString(testClass);
        Debug.Log("Start|ChangeClassString:" + testClass.name);

        ChangeStringByRef(ref testStr);
        Debug.Log("Start|ChangeStringByRef:" + testStr);

        ChangeClassStringByRef(ref testClass);
        Debug.Log("Start|ChangeClassStringByRef:" + testClass.name);

        PerFrameLoad();
        LOG.Log("after PerFrameLoad");
    }
示例#5
0
    public override async Task OnClick()
    {
        try {
            await GameState.SetCurrentWorldByWorldIndex(WorldIndex);

            UIEvents.ChangeGameText(GameTextId.WorldName, GameState.CurrentWorld.World.Name);

            var character = GameState.GetCharacterByWorldId(GameState.CurrentWorld.World.Id);

            if (character == null)
            {
                LOG.Log($"Player does not have a character on world: {GameState.CurrentWorld.World.Id}");
                await ScreenChangerService.ChangeScreen(ScreenId.CreateCharacter);
            }
            else
            {
                LOG.Log($"Found Character!");
                GameState.CurrentCharacter = character;
                await ScreenChangerService.ChangeScreen(ScreenId.SelectCharacter);
            }
        }
        catch (System.Exception e) {
            LOG.Log(e);
            throw;
        }
    }
示例#6
0
    public static bool ConnectToServer(string ip, string port)
    {
        LOG.Log("ConnectToServer");

        if (connector != null)
        {
            if (connector.state == NetworkState.ConnectSuccess)
            {
                connector.Disonnect();
            }

            connector = null;
        }

        connector = new Connector();

        connector.Connect(ip, int.Parse(port));

        if (onConnected != null)
        {
            onConnected(connector.state);
        }

        if (connector.state == NetworkState.ConnectSuccess)
        {
            return(true);
        }

        return(false);
    }
示例#7
0
 private void Awake()
 {
     Object = this;
     if (container == null)
     {
         LOG.Log("No container on CharacterCreationScreenRefresherService", LogLevel.Error);
     }
 }
示例#8
0
 private void Awake()
 {
     Object = this;
     if (usernameInputField == null || passwordInputField == null)
     {
         LOG.Log("Missing fields on LoginService", LogLevel.Error);
     }
 }
示例#9
0
 public void Hide()
 {
     if (contianer == null)
     {
         LOG.Log($"{Id.ToString()} screen does not have a container!");
     }
     contianer.SetActive(false);
 }
示例#10
0
 public override async Task OnClick()
 {
     try {
         await ScreenChangerService.ChangeScreen(screenId);
     }
     catch (System.Exception e) {
         LOG.Log(e);
     }
 }
示例#11
0
 private void DoBTEnd(Behavior behavior)
 {
     LOG.Log("End");
     if (mamaState == MamaState.Walking)
     {
         m_MamaBT.Start();
         RandomMovetoTarget();
     }
 }
示例#12
0
 public void SetInteractable(bool value)
 {
     if (button == null)
     {
         LOG.Log($"Tryied to access null variable {gameObject.name}", LogLevel.Warning);
         return;
     }
     button.interactable = value;
 }
示例#13
0
 public static void PlaySong(SongId id)
 {
     LOG.Log($"Starting to play song: {id}");
     if (!Object.SoundEnable)
     {
         return;
     }
     StopAllSongs();
     Object.songInstances[id].start();
 }
示例#14
0
    IEnumerator PerFrameLoad()
    {
        while (index < 3)
        {
            index++;
            yield return(new WaitForSeconds(1f));

            LOG.Log("after yield index = " + index);
        }
    }
示例#15
0
    private void Awake()
    {
        Object  = this;
        buttons = Resources.FindObjectsOfTypeAll <SelectWorldButton>().ToList();

        if (questButton == null || playerInfoButton == null || spiritShopButton == null || raidsButton == null || spiritActionHouse == null)
        {
            LOG.Log("One button is null!", LogLevel.Error);
        }
    }
示例#16
0
    public static void ReqWXUserInfo(string access_token, string openid)
    {
        string url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid;

        LOG.Log("xue:url:" + url);
        string str = Get_Url(url);

        LOG.Log("Rsp str:  " + str);
        //     SdkManager.json_UserInfo(str);
    }
示例#17
0
 public void Play()
 {
     if (mTestActionTween != null)
     {
         mTestActionTween.Play();
     }
     else
     {
         LOG.Log("mTestActionTween can not Statr ");
     }
 }
示例#18
0
 private void RefreshWhenPlayerDataRecieved(object sender, NetworkArgs <PlayerData> e)
 {
     MainThreadHelperService.AddJob(() => {
         try {
             Object.RefreshQuestList(status);
         }
         catch (Exception ex) {
             LOG.Log(ex);
             throw;
         }
     });
 }
示例#19
0
 public void Kill()
 {
     if (mTestActionTween != null)
     {
         mTestActionTween.Kill();
         mTestActionTween = null;
     }
     else
     {
         LOG.Log("mTestActionTween can not Statr ");
     }
 }
示例#20
0
    public override async Task OnClick()
    {
        try {
            await NetworkService.RequestStartQuest(GameState.PlayerName, GameState.CurrentQuest.Description.QuestId);

            await QuestScreenRefresherService.Refresh(QuestStatus.Available);
        }
        catch (System.Exception e) {
            LOG.Log(e);
            throw;
        }
    }
示例#21
0
    public override async Task OnClick()
    {
        try {
            await NetworkService.RequestCollectQuest(GameState.PlayerName, GameState.CurrentQuest.Description.QuestId);

            QuestScreenRefresherService.ShowQuestList();
        }
        catch (System.Exception e) {
            LOG.Log(e);
            throw;
        }
    }
示例#22
0
    public static void      PrintSendMsgProperties(object obj)
    {
        if (!NetworkConfig.IsDebugMode)
        {
            return;
        }

        LOG.Log("............... Send Msg Begin: " + obj + "...............");
        LOG.Log(DateTime.Now.ToString());
        PrintProperties(obj, 1);
        LOG.Log("............... Send Msg End: " + obj + "...............");
    }
示例#23
0
 public void TraceAllRemainAction()
 {
     if (GameConfig.mode == GameConfig.MODE_DEBUG)
     {
         LOG.Log("-----------------TraceAllRemainAction------------------");
         for (int i = 0; i < m_actionQueue.Count; ++i)
         {
             LOG.Log(m_actionQueue[i].GetType().ToString());
         }
         LOG.Log("--------------TraceAllRemainAction  end------------------");
     }
 }
示例#24
0
    public void CreateQuestButton(QuestData data)
    {
        if (selectQuestButtonPrefab == null)
        {
            LOG.Log("Select button prefab is null", LogLevel.Error);
        }
        var go  = Instantiate(selectQuestButtonPrefab, questListScrollView.contentContainer, false);
        var btn = go.GetComponent <SelectQuestButton>();

        btn.Setup();
        btn.SetQuest(data);
    }
示例#25
0
 public static async Task <LoginResponseData> TryToLogin()
 {
     LOG.Log("Trying to log in");
     if (NetworkService.IsConnected)
     {
         return(await NetworkService.Login(new LoginData(Object.usernameInputField.GetValue(), Object.passwordInputField.GetValue())));
     }
     else
     {
         ShowLoginResponse($"Login failed: Not Connected to server");
         return(null);
     }
 }
示例#26
0
    public NetworkState Disonnect()
    {
        if (client == null)
        {
            return(NetworkState.Disconnected);
        }

        client.Close();
        LOG.Log(DateTime.Now + " Disconnect!");
        state = NetworkState.Disconnected;
        Network.NetworkMode = false;
        return(NetworkState.Disconnected);
    }
示例#27
0
    /************ Funcs **************/
    public void Connect(string ip, int port)
    {
        SetForceKickOff(false);

        //try
        //{
        LOG.Log("Time: " + System.DateTime.Now.Second.ToString() + " ip:" + ip + " port:" + port);

        /*
         #if !(UNITY_ANDROID || UNITY_IPHONE || UNITY_STANDALONE_WIN)
         * bool ret = Security.PrefetchSocketPolicy(ip, port, 10000);
         * LOG.Log("Time: " + System.DateTime.Now.Second.ToString() + " " + "Security.PrefetchSocketPolicy Ret: " + ret);
         * if (ret == false)
         * {
         * LOG.Error("无法获取策略文件!");
         * state = NetworkState.ConnectFailed;
         * return;
         * }
         #else
         #endif
         */

        try
        {
            String        newServerIp      = "";
            AddressFamily newAddressFamily = AddressFamily.InterNetwork;
            //cc  ipv6  getIPType(ip, port.ToString(), out newServerIp, out newAddressFamily);
            if (!string.IsNullOrEmpty(newServerIp))
            {
                ip = newServerIp;
            }

            Debug.Log("Socket AddressFamily :" + newAddressFamily.ToString() + "ServerIp:" + ip);

            client = new TcpClient(newAddressFamily);

            client.Connect(ip, port);

            client.GetStream().BeginRead(readBuf, 0, READ_BUFFER_SIZE, new AsyncCallback(DoRead), null);

            state = NetworkState.ConnectSuccess;

            LOG.Log(state.ToString());
        }
        catch (Exception ex)
        {
            state = NetworkState.ConnectFailed;
            LOG.Log("Can not Connect!  " + ex + "  exception");
            //MessageBox.Instance.Show("服务器维护中");
        }
    }
示例#28
0
 public override Task OnClick()
 {
     try {
         LOG.Log($"Selecting character {type}");
         CharacterCreationScreenRefresherService.SetHasCharacterTypeSelected(true);
         CharacterCreationScreenRefresherService.SetSelectedCharacterType(type);
         UIEvents.ChangeGameText(GameTextId.SelectedCharacterType, type.ToString());
         return(base.OnClick());
     }
     catch (System.Exception e) {
         LOG.Log(e);
         throw;
     }
 }
示例#29
0
    private void FindWhereGameBodyParent()
    {
        PlayerDestroy[] pds   = FindObjectsOfType <PlayerDestroy>();
        int             index = Random.Range(0, pds.Length);

        if (m_HuluePlayerDestroys.Contains(pds[index]))
        {
            LOG.Log("  paichu ");
            FindWhereGameBodyParent();
            return;
        }

        pds[index].m_HasGameMachine = true;
    }
示例#30
0
    public override async Task OnClick()
    {
        try {
            var response = await LoginService.TryToLogin();

            if (response != null)
            {
                await LoginService.ProcessLoginResponse(response);
            }
        }
        catch (System.Exception e) {
            LOG.Log(e);
        }
    }