Пример #1
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.fKeySlot] = (data) =>
        {
            var keySlot = fKeySlot.GetRootAsfKeySlot(data.ByteBuffer);

            for (int i = 0; i < (int)EKeySlot.last; i++)
            {
                var n = keySlot.SlotNum(i);
                if (n != 0)
                {
                    if (n < 0)
                    {
                        AddKey(SkillsManager.mskills[-n - 1], EKey[i]);
                    }
                    else
                    {
                        AddKey(InventoryManager.FindSlotOfItemID(n).Item, EKey[i]);
                    }
                }
            }
        };


        MouseButton[0] = () => { };
        MouseButton[1] = () => { };


        for (int i = 0; i < SlotParent.transform.childCount; i++)
        {
            Slots[i] = SlotParent.transform.GetChild(i).GetComponent <KeySlot>();
        }
        Slots[Slots.Count] = MouseL;
    }
Пример #2
0
 private void Start()
 {
     NetDataReader.GetInstace().Reder[Class.LogIn] = (data) =>
     {
         var LoginData = Login.GetRootAsLogin(data.ByteBuffer);
         if (LoginData.IsSuccess)
         {
             if (state_Login)
             {
                 GetComponent <OnServerStart>().Started(int.Parse(LoginData.Id));
                 LoginUI.SetActive(false);
                 Destroy(GetComponent <LoginManager>());
             }
             else
             {
                 SendLoginData(true, suT[0].text, suT[1].text);
                 state_Login = true;
             }
         }
         else
         {
             Debug.Log("로그인 실패.");
         }
     };
 }
Пример #3
0
 private void Start()
 {
     NetDataReader.GetInstace().Reder[Class.fChat] = (data) =>
     {
         var chatD_ = fChat.GetRootAsfChat(data.ByteBuffer);
         chatUI_.GetComponent <ChatView>().Addchat(OtherPlayers.instance.GetName(chatD_.PID) + " : " + chatD_.Str);
     };
 }
Пример #4
0
 private void Start()
 {
     NetDataReader.GetInstace().Reder[Class.fIG_Effect] = (data) =>
     {
         var eftData = fIG_Effect.GetRootAsfIG_Effect(data.ByteBuffer);
         EftShow(new Vector3(eftData.X, eftData.Y, eftData.Z), eftData.EftName);
     };
 }
Пример #5
0
 void Start()
 {
     NetDataReader.GetInstace().Reder[Class.fDamage] = (data) =>
     {
         var dData = fDamage.GetRootAsfDamage(data.ByteBuffer);
         var v3    = dData.Pos.Value;
         Instantiate(mDamageText, new Vector3(v3.X, v3.Y, v3.Z), Quaternion.identity).GetComponent <DamageText>().Show(-dData.Damage, dData.BCri);
     };
 }
Пример #6
0
    private void ListenForData()
    {
        try
        {
            if (DEBUG_MODE)
            {
                socketConnection = new TcpClient("Localhost", port);
            }
            else
            {
                socketConnection = new TcpClient(Url, port);
            }

            socketConnection.NoDelay = true;
            Byte[] bytes = new Byte[1024];
            while (true)
            {
                using (NetworkStream stream = socketConnection.GetStream())
                {
                    int length;
                    while ((length = stream.Read(bytes, 0, bytes.Length)) != 0)
                    {
                        var incommingData = new byte[length];
                        Array.Copy(bytes, 0, incommingData, 0, length);
                        ByteBuffer bb = new ByteBuffer(incommingData);

                        Base ctype = Base.GetRootAsBase(bb);

                        var Data = ctype;
                        if (Data.CType == Class.ping)
                        {
                            NetDataReader.GetInstace().Reder[Data.CType](Data);
                        }
                        else
                        {
                            actions.Enqueue(() =>
                            {
                                if (NetDataReader.GetInstace().Reder.ContainsKey(Data.CType))
                                {
                                    NetDataReader.GetInstace().Reder[Data.CType](Data);
                                }
                                else
                                {
                                    Debug.Log("잘못된 데이터가 옴.\n[" + Data.CType + "]" + "[" + length + "]");
                                }
                            });
                        }
                    }
                }
            }
        }
        catch (SocketException socketException)
        {
            Debug.Log("Socket exception: " + socketException);
        }
    }
Пример #7
0
 private void Start()
 {
     NetDataReader.GetInstace().Reder[Class.fSkillSlot] = (data) =>
     {
         var SkS = fSkillSlot.GetRootAsfSkillSlot(data.ByteBuffer);
         for (int i = 0; i < 30; i++)
         {
             var n = SkS.SlotNum(i);
             if (n != 0)
             {
                 AddSkill(n - 1);
             }
         }
     };
 }
Пример #8
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.fEquip] = (data) =>
        {
            var mitem = fItem.GetRootAsfItem(data.ByteBuffer);
            Debug.Log("id : " + mitem.Id);

            Add(new AItem().GetfItemT(mitem).Get(), mitem.Val8);
        };

        foreach (var Slot in GetComponentsInChildren <ItemSlot>())
        {
            mslot.Add(Slot);
            Slot.item.Event += UpdateSlot;
        }
    }
Пример #9
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.fItem] = (data) =>
        {
            var item = fItem.GetRootAsfItem(data.ByteBuffer);

            AItem aItem = new AItem();

            AddItem(aItem.GetfItemT(item).Get(), item.Val8);
        };

        NetDataReader.GetInstace().Reder[Class.fInventory] = (data) =>
        {
            //var iv = fInventory.GetRootAsfInventory(data.ByteBuffer);
        };
    }
Пример #10
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.ping] = (data) =>
        {
            var m_ping = test.GetRootAstest(data.ByteBuffer);
            var t      = DateTime.Now.ToBinary() - m_ping.Num;
            PingUI.ping = (int)(t * 0.0001f);
        };

        iping.AddEvent(() =>
        {
            if (iping.Value > MaxPing.Value)
            {
                MaxPing.Value = iping.Value;
            }
        });
    }
Пример #11
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.Player] = (data) =>
        {
            var Effect = fNetEffect.GetRootAsfNetEffect(data.ByteBuffer);

            switch (Effect.EffectType)
            {
            // lv up
            case 1:
                Instantiate(LavelUPEffect, new Vector3(Effect.TargetPos.Value.X, Effect.TargetPos.Value.Y, Effect.TargetPos.Value.Z), Quaternion.identity);
                break;

            default:
                break;
            }
        };
    }
Пример #12
0
    // Use this for initialization
    void Start()
    {
        NetDataReader.GetInstace().Reder[Class.MonsterStat] = (data) =>
        {
            //long t = System.DateTime.Now.ToBinary() - (long)test.GetRootAstest(data.ByteBuffer).Num;
            //GetComponentInChildren<Text>().text = ""+(int)(t * (0.0001f));
            rm++;
        };

        //r = StartCoroutine(NetUpdate(() =>
        //{
        //          for (int i = 0; i < 10; i++)
        //          {
        //              Send();
        //              sm++;
        //          }

        //      }, SendRate));
    }
Пример #13
0
    void Start()
    {
        GetMonsNameKR["hobgoblin"] = "홉고블린";
        GetMonsNameKR["Goblin"]    = "고블린";



        NetDataReader.GetInstace().Reder[Class.Monster] = (data) =>
        {
            var m_Monster = Monster.GetRootAsMonster(data.ByteBuffer);

            if (!Monsters.ContainsKey(m_Monster.ID) && !GetMonsters.ContainsKey(m_Monster.ID))
            {
                GetMonsters[m_Monster.ID] = (MonName) =>
                {
                    var Pos = m_Monster.Pos.Value;
                    var obj = Instantiate(Resources.Load <GameObject>(MonName), new Vector3(Pos.X, Pos.Y, Pos.Z), Quaternion.identity);
                    obj.AddComponent <oNetworkIdentity>().id   = m_Monster.ID;
                    obj.GetComponent <oNetworkIdentity>().type = oNetworkIdentity.ObjType.monster;
                    Monsters[m_Monster.ID] = obj.AddComponent <OtherMonster>();
                    Monsters[m_Monster.ID].PosUpdate(m_Monster);
                };
                SendToMe_MonsterStat.Send(m_Monster.ID);
            }



            if (Monsters.ContainsKey(m_Monster.ID))
            {
                if (m_Monster.Ani == 0.2f)
                {
                    Transform lookPos;
                    if (m_Monster.TargetID == BPlayer.MainPlayer.GetComponent <oNetworkIdentity>().id)
                    {
                        lookPos = BPlayer.MainPlayer.transform;
                    }
                    else
                    {
                        lookPos = OtherPlayers.instance.OPlayers[m_Monster.TargetID].gameObject.transform;
                    }

                    Monsters[m_Monster.ID].gameObject.transform.LookAt(new Vector3(lookPos.position.x, Monsters[m_Monster.ID].gameObject.transform.position.y, lookPos.position.z), Vector3.up);
                }
                Monsters[m_Monster.ID].PosUpdate(m_Monster);
            }
        };

        NetDataReader.GetInstace().Reder[Class.MonsterStat] = (data) =>
        {
            var _MonsterStat = MonsterStat.GetRootAsMonsterStat(data.ByteBuffer);

            if (GetMonsters.ContainsKey(_MonsterStat.ID))
            {
                GetMonsters[_MonsterStat.ID](_MonsterStat.MonName);
                GetMonsters.Remove(_MonsterStat.ID);
            }
            if (Monsters.ContainsKey(_MonsterStat.ID))
            {
                if (Monsters[_MonsterStat.ID].GetComponent <oCreature>() == null)
                {
                    Monsters[_MonsterStat.ID].name = GetMonsNameKR[_MonsterStat.MonName];

                    Monsters[_MonsterStat.ID].gameObject.AddComponent <oCreature>();
                    Monsters[_MonsterStat.ID].gameObject.GetComponent <oCreature>().CurrentHP.NoEventSet(_MonsterStat.HP);
                    Monsters[_MonsterStat.ID].gameObject.GetComponent <oCreature>().MaximumHP = _MonsterStat.MAXHP;
                    Monsters[_MonsterStat.ID].gameObject.GetComponent <OtherMonster>().SetStatEvent();
                }

                Monsters[_MonsterStat.ID].gameObject.GetComponent <oCreature>().Data_Update(_MonsterStat);
            }
        };
    }
Пример #14
0
    void Start()
    {
        oNetworkManager MainPlayer = NetworkObject.mainPlayer.GetComponent <oNetworkManager>();

        NetDataReader.GetInstace().Reder[Class.Player] = (data) => {
            var m_player = Player.GetRootAsPlayer(data.ByteBuffer);

            if (m_player.ID != MainPlayer.id)
            {
                if (!OPlayers.ContainsKey(m_player.ID))
                {
                    var obj = Instantiate(PlayerPrifab, Vector3.zero, Quaternion.identity);
                    obj.AddComponent <OtherPlayer>();
                    obj.AddComponent <oNetworkIdentity>().id   = m_player.ID;
                    obj.GetComponent <oNetworkIdentity>().type = oNetworkIdentity.ObjType.player;
                    OPlayers[m_player.ID] = obj.GetComponent <OtherPlayer>();
                    SendToMe_PlayerStat.Send(m_player.ID);
                }

                OPlayers[m_player.ID].UpdateOtherObj(m_player);
            }
            else if (m_player.ID == MainPlayer.id)
            {
                var pos = m_player.Pos.Value;
                MainPlayer.transform.position.Set(pos.X, pos.Y, pos.Z);
            }
        };



        NetDataReader.GetInstace().Reder[Class.FirstCharacterData] = (data) =>
        {
            var FirstPlayerData = FirstCharacterData.GetRootAsFirstCharacterData(data.ByteBuffer);


            var fbb = new FlatBuffers.FlatBufferBuilder(1);

            fbb.Finish(PlayerStat.CreatePlayerStat(
                           fbb,
                           Class.PlayerStat,
                           FirstPlayerData.HP,
                           FirstPlayerData.HPLim,
                           FirstPlayerData.MP,
                           FirstPlayerData.MPLim,
                           FirstPlayerData.EXP,
                           FirstPlayerData.Attack,
                           FirstPlayerData.LV,
                           FirstPlayerData.ID
                           ).Value);

            var buf = new FlatBuffers.ByteBuffer(fbb.SizedByteArray());

            var _PlayerStat = PlayerStat.GetRootAsPlayerStat(buf);

            var pos = FirstPlayerData.Pos.Value;
            MainPlayer.GetComponent <oCreature>().Data_Update(_PlayerStat);
            MainPlayer.GetComponent <oCreature>().Data_Update(pos);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentHP.NoEventSet(_PlayerStat.HP);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentMP.NoEventSet(_PlayerStat.MP);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentHPLim.NoEventSet(_PlayerStat.HPLim);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentMPLim.NoEventSet(_PlayerStat.MPLim);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentLV.NoEventSet(_PlayerStat.LV);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentEXP.NoEventSet(_PlayerStat.EXP);
            MainPlayer.GetComponent <NetworkObject>().m_CurrentATK.NoEventSet(_PlayerStat.Attack);

            MainPlayer.GetComponent <NetworkObject>().CharacterName.NoEventSet(FirstPlayerData.Name);
            Vector3 v3 = new Vector3();
            v3.Set(pos.X, pos.Y, pos.Z);
        };



        NetDataReader.GetInstace().Reder[Class.fEquipSome] = (data) =>
        {
            var equipSome = fEquipSome.GetRootAsfEquipSome(data.ByteBuffer);
            Debug.Log(MainPlayer.GetComponent <oNetworkIdentity>().id + ":" + equipSome.PID + ":" + equipSome.SlotNum + ":" + equipSome.ObjNum);
            if (MainPlayer.GetComponent <oNetworkIdentity>().id == equipSome.PID)
            {
                MainPlayer.GetComponent <EquipManager>().Equip(equipSome.ObjNum, equipSome.SlotNum);
            }
            else
            {
                OPlayers[equipSome.PID].GetComponent <EquipManager>().Equip(equipSome.ObjNum, -1);
            }
        };


        NetDataReader.GetInstace().Reder[Class.PlayerStat] = (data) => {
            var _PlayerStat = PlayerStat.GetRootAsPlayerStat(data.ByteBuffer);
            var player      = MainPlayer.GetComponent <NetworkObject>();

            if (_PlayerStat.ID == MainPlayer.id)
            {
                MainPlayer.GetComponent <oCreature>().Data_Update(_PlayerStat);
                player.m_CurrentHP.NoEventSet(_PlayerStat.HP);
                player.m_CurrentMP.NoEventSet(_PlayerStat.MP);
                player.m_CurrentHPLim.NoEventSet(_PlayerStat.HPLim);
                player.m_CurrentMPLim.NoEventSet(_PlayerStat.MPLim);
                player.m_CurrentEXP.NoEventSet(_PlayerStat.EXP);
                player.m_CurrentATK.NoEventSet(_PlayerStat.Attack);
                if (_PlayerStat.LV > player.m_CurrentLV.Value)
                {
                    IG_EffectManager.Show(player.gameObject.transform.position, "LVUP");
                }
                player.m_CurrentLV.NoEventSet(_PlayerStat.LV);
            }
            else if (OPlayers.ContainsKey(_PlayerStat.ID))
            {
                if (OPlayers[_PlayerStat.ID].GetComponent <oCreature>() == null)
                {
                    OPlayers[_PlayerStat.ID].gameObject.AddComponent <oCreature>();
                    OPlayers[_PlayerStat.ID].gameObject.AddComponent <SendStateManager>();
                    OPlayers[_PlayerStat.ID].gameObject.GetComponent <OtherPlayer>().SetStatEvent();
                    OPlayers[_PlayerStat.ID].gameObject.name = _PlayerStat.NikName;
                }

                OPlayers[_PlayerStat.ID].gameObject.GetComponent <oCreature>().Data_Update(_PlayerStat);
            }
        };
    }