Example #1
0
 //싱글 톤 생성
 void Start()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Example #2
0
        public static string ParseSysMsgZone(string msgText)
        {
            var dictionary = Utils.ChatUtils.BuildParametersDictionary(msgText);
            var zoneId     = uint.Parse(dictionary["zoneName"]);

            return(Game.DB !.MonsterDatabase.GetZoneName(zoneId));
        }
Example #3
0
    //**********************************************************************************
    // Use this for initialization
    void Start()
    {
        for (int i = 0; i < (slotsX * slotsY); i++)
        {
            slots.Add(new Item());
            inventory.Add(new Item());
        }
        for (int i = 0; i < (slotsX * slotsY); i++)
        {
            slotsMonster.Add(new Monster());
            monsterInventory.Add(new Monster());
        }
        database    = GameObject.FindGameObjectWithTag("Item Database").GetComponent <ItemDatabase>();
        databaseMon = GameObject.FindGameObjectWithTag("Monster Database").GetComponent <MonsterDatabase> ();

        for (int i = 0; i < inventory.Count; i++)
        {
            inventory [i] = PlayerPrefs.GetInt("Inventory " + i, -1) >= 0 ? database.items [PlayerPrefs.GetInt("Inventory " + i)] : new Item();
        }

        for (int i = 0; i < monsterInventory.Count; i++)
        {
            monsterInventory [i] = PlayerPrefs.GetInt("Monster Inventory " + i, -1) >= 0 ? databaseMon.monsters [PlayerPrefs.GetInt("Monster Inventory " + i)] : new Monster();
        }

        if (scene == "Gashapon")
        {
            gashaButton.interactable = true;
        }
        AddItem(0);
        AddItem(1);
        AddItem(2);
    }
    public DataHandler(Queue <DataPacket> receiveQueue, Queue <DataPacket> sendQueue, object newReceiveLock, object newSendLock)
    {
        instance = this;

        receiveMsgs = receiveQueue;
        sendMsgs    = sendQueue;
        receiveLock = newReceiveLock;
        sendLock    = newSendLock;
        loginUser   = new Dictionary <Socket, string>();
        userState   = new Dictionary <string, UserState>();

        SetNotifier();

        database = AccountDatabase.Instance;
        database.InitailizeDatabase();
        monsterDatabase = MonsterDatabase.Instance;
        monsterDatabase.InitializeMonsterDatabase();
        dungeonDatabase = DungeonDatabase.Instance;
        dungeonDatabase.InitializeDungeonDatabase();
        monsterDatabase = MonsterDatabase.Instance;
        monsterDatabase.InitializeMonsterDatabase();
        characterDatabase = CharacterDatabase.Instance;
        characterDatabase.InitializeCharacterDatabase();
        roomManager = new RoomManager();

        Thread handleThread = new Thread(new ThreadStart(DataHandle));

        handleThread.Start();
        //Thread logoutCheckThread = new Thread(new ThreadStart(CheckLogoutUser));
        //logoutCheckThread.Start();
    }
Example #5
0
 public static MonsterDatabase GetMonsterDatabaseInstace()
 {
     if (MyMonsterDatabaseInstace == null)
     {
         MyMonsterDatabaseInstace = new MonsterDatabase();
     }
     return(MyMonsterDatabaseInstace);
 }
Example #6
0
    // Use this for initialization


    void Start()
    {
        for (int i = 0; i < (slotsX * slotsY); i++)
        {
            slotsMonster.Add(new Monster());
            monsterInventory.Add(new Monster());
        }
        databaseMon = GameObject.FindGameObjectWithTag("Monster Database").GetComponent <MonsterDatabase> ();
        AddAllMonster();
    }
Example #7
0
    // private string prefabPath = "Images/Mob";

    // Start is called before the first frame update
    void Start()
    {
        instance = this;

        mobDataFile          = new MobDataFile();
        mobDataFile.mobDatas = new List <EntityData>();

        //SaveMobData();
        LoadMobData();
    }
Example #8
0
    private void PrintMonsterData()
    {
        MonsterDatabase monsterDatabase = m_databaseManager.GetDatabase <MonsterDatabase>();
        MonsterData     monsterData     = null;

        for (int cnt = 0; cnt < monsterDatabase.GetCount(); cnt++)
        {
            monsterData = monsterDatabase.GetDataByKey(cnt.ToString());

            Debug.Log(string.Format("MonsterData_{0} : Key = {1}, Name = {2}, Hp = {3}",
                                    cnt, monsterData.Key, monsterData.Name, monsterData.Hp));
        }
    }
 void Update(S_BOSS_GAGE_INFO packet)
 {
     MaxHP     = packet.MaxHP;
     CurrentHP = packet.CurrentHP;
     AnimateHP(packet.CurrentHP);
     BossVisible = true;
     if (CurrentHP == 0)
     {
         BossVisible = false;
     }
     Dispatcher.Invoke(() =>
     {
         BossName.Text = MonsterDatabase.GetName(packet.Npc, packet.Type);
     });
 }
Example #10
0
    public void LoadMonsters()
    {
        TextAsset myText = Resources.Load("monster_data") as TextAsset;

        if (myText != null)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(MonsterDatabase));
            using (var reader = new System.IO.StringReader(myText.text)) {
                monsterDB = serializer.Deserialize(reader) as MonsterDatabase;
            }
        }
        else
        {
            Debug.LogError("File does not exist");
        }
    }
 public static void SpawnNPC(ushort zoneId, uint templateId, ulong entityId, Visibility v, bool force)
 {
     if (MonsterDatabase.TryGetMonster(templateId, zoneId, out Monster m))
     {
         if (zoneId == 950)
         {
             System.Console.WriteLine("[S_SPAWN_NPC] 950 - {0} - {1}", templateId, m.Name);
         }
         if ((m.IsBoss || m.MaxHP >= 40000000) || force)
         {
             App.Current.Dispatcher.Invoke(() =>
             {
                 CurrentBosses.Add(new Boss(entityId, zoneId, templateId, v));
             });
         }
     }
 }
Example #12
0
        public static void Main()
        {
            ResetBuffer();
            Console.CursorVisible = false;
            IMainFrame       mainFrame          = new MainFrame();
            IMainMenu        mainMenu           = new MainMenu();
            IStatusFrame     monsterStatusFrame = new MonsterStatusFrame();
            IOptionsFrame    optionsFrame       = new OptionsFrame();
            IStatusFrame     statusFrame        = new StatusFrame();
            IMenuHandler     menuHandler        = new MenuHandler(mainMenu, mainFrame, optionsFrame, statusFrame, monsterStatusFrame);
            IMonsterDatabase monsterDatabase    = new MonsterDatabase();
            IAreaDatabase    areaDatabase       = new AreaDatabase();
            IAIDatabase      aiDatabase         = new AIDatabase();
            IEngine          engine             = new Engine(menuHandler, monsterDatabase, areaDatabase, aiDatabase);

            engine.Run();
        }
Example #13
0
        public static string ParseSysMsgCreature(string msgText)
        {
            var dictionary = Utils.ChatUtils.BuildParametersDictionary(msgText);

            var creatureId    = dictionary["creature"];
            var creatureSplit = creatureId.Split('#');
            var zoneId        = uint.Parse(creatureSplit[0]);
            var templateId    = uint.Parse(creatureSplit[1]);

            var txt = creatureId;

            if (Game.DB !.MonsterDatabase.TryGetMonster(templateId, zoneId, out var m))
            {
                txt = m.Name;
            }

            return(txt);
        }
Example #14
0
        private void OnStartup(object sender, StartupEventArgs ev)
        {
            var cd = AppDomain.CurrentDomain;

            cd.UnhandledException += GlobalUnhandledExceptionHandler;
            System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.High;
            if (File.Exists(Environment.CurrentDirectory + "/TCCupdater.exe"))
            {
                File.Delete(Environment.CurrentDirectory + "/TCCupdater.exe");
            }
            UpdateManager.CheckAppVersion();
            UpdateManager.CheckDatabaseVersion();



            TeraSniffer.Instance.Enabled = true;
            WindowManager.Init();
            LoadSettings();
            PacketRouter.Init();

            TeraSniffer.Instance.NewConnection += (srv) => SkillManager.Clear();
            TeraSniffer.Instance.EndConnection += () => SkillManager.Clear();

            var LoadThread = new Thread(new ThreadStart(() =>
            {
                SkillsDatabase.Load();
                Console.WriteLine("Skills loaded.");
                BroochesDatabase.SetBroochesIcons();
                Console.WriteLine("Set brooches icons");
                MonsterDatabase.Populate();
                Console.WriteLine("Monsters loaded");
                AbnormalityDatabase.Load();
                Console.WriteLine("Abnormalities loaded");
                WindowManager.CooldownWindow.LoadingDone();
            }));

            SessionManager.CurrentPlayer.Class = Class.None;

            WindowManager.ShowWindow(WindowManager.CooldownWindow);
            LoadThread.Start();
            //Debug();
        }
    public DataHandler()
    {
        receiveMsgs = new Queue <DataPacket>();
        sendMsgs    = new Queue <DataPacket>();
        receiveLock = new object();
        sendLock    = new object();
        loginUser   = new Dictionary <Socket, string>();
        userState   = new Dictionary <string, UserState>();

        SetNotifier();

        database = AccountDatabase.Instance;
        database.InitailizeDatabase();
        dungeonDatabase = DungeonDatabase.Instance;
        dungeonDatabase.InitializeDungeonDatabase();
        monsterDatabase = MonsterDatabase.Instance;
        monsterDatabase.InitializeMonsterDatabase();

        roomManager = new RoomManager();

        Thread handleThread = new Thread(new ThreadStart(DataHandle));

        handleThread.Start();
    }
Example #16
0
    public static void BuildDB()
    {
        database = Resources.Load <MonsterDatabase>("Database/monsterDB");

        Dictionary <int, Dictionary <int, List <int> > > waves = new Dictionary <int, Dictionary <int, List <int> > >();
        Dictionary <int, int> maxTurn = new Dictionary <int, int>();

        using (StreamReader reader = new StreamReader("Assets/Resources/Database/CSVFiles/waveManagement.csv"))
        {
            string nextSign = "#Next";
            string endSign  = "#End";

            int wave = 1;
            int turn = 1;

            bool isEnd = false;

            while (true)
            {
                Dictionary <int, List <int> > waveInfo = new Dictionary <int, List <int> >();

                turn = 1;

                while (true)
                {
                    string readLine = reader.ReadLine();
                    int    offset   = (wave - 1) * 3;

                    string[] splitedLine = readLine.Split(',');

                    if (splitedLine[offset].Equals(endSign))
                    {
                        isEnd = true;
                        break;
                    }
                    else if (splitedLine[offset].Equals(nextSign))
                    {
                        break;
                    }

                    List <int> turnInfo = new List <int>();
                    turnInfo.Add(int.Parse(splitedLine[offset]));               //spawnerId
                    turnInfo.Add(int.Parse(splitedLine[offset + 1]));           //monsterId
                    turnInfo.Add(int.Parse(splitedLine[offset + 2]));           //delay

                    Debug.Log($"wave {wave} turn {turn} : {turnInfo[0]}, {turnInfo[1]}, {turnInfo[2]}");

                    waveInfo.Add(turn, turnInfo);

                    turn++;
                }
                turn--;
                maxTurn.Add(wave, turn);

                waves.Add(wave, waveInfo);

                if (isEnd)
                {
                    break;
                }

                wave++;

                reader.BaseStream.Position = 0;
            }

            database.maxWave = wave;
        }

        database.waves   = waves;
        database.maxTurn = maxTurn;
    }
    public void InitializeMonsterDatabase()
    {
        instance    = this;
        monsterData = new List <MonsterBaseData>();

        AddBaseData(new MonsterBaseData((int)MonsterId.Frog, "Frog"));
        AddBaseData(new MonsterBaseData((int)MonsterId.Duck, "Duck"));
        AddBaseData(new MonsterBaseData((int)MonsterId.Rabbit, "Rabbit"));
        AddBaseData(new MonsterBaseData((int)MonsterId.Bear, "Bear"));
        AddBaseData(new MonsterBaseData((int)MonsterId.BlackBear, "BlackBear"));

        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(1, 2, 0, 30, 5));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(2, 3, 0, 40, 5));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(3, 5, 0, 50, 6));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(4, 7, 0, 70, 6));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(5, 9, 0, 90, 7));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(6, 11, 5, 110, 7));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(7, 15, 7, 150, 8));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(8, 20, 9, 200, 8));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(9, 24, 11, 250, 9));
        GetBaseData((int)MonsterId.Frog).AddLevelData(new MonsterLevelData(10, 30, 15, 350, 9));

        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(1, 3, 0, 35, 4));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(2, 4, 0, 45, 4));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(3, 5, 0, 55, 4));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(4, 6, 0, 75, 5));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(5, 7, 0, 95, 5));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(6, 8, 0, 115, 5));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(7, 10, 0, 145, 5));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(8, 12, 0, 175, 5));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(9, 14, 0, 205, 6));
        GetBaseData((int)MonsterId.Duck).AddLevelData(new MonsterLevelData(10, 16, 0, 235, 6));

        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(1, 5, 0, 75, 4));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(2, 7, 1, 100, 4));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(3, 9, 2, 125, 5));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(4, 12, 3, 175, 5));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(5, 15, 4, 225, 6));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(6, 18, 5, 275, 6));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(7, 21, 6, 325, 7));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(8, 25, 7, 400, 7));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(9, 29, 8, 475, 7));
        GetBaseData((int)MonsterId.Rabbit).AddLevelData(new MonsterLevelData(10, 33, 9, 550, 8));

        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(1, 10, 0, 200, 5));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(2, 15, 1, 300, 5));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(3, 21, 2, 400, 6));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(4, 27, 4, 500, 6));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(5, 33, 6, 6500, 7));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(6, 40, 8, 800, 7));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(7, 48, 12, 1000, 8));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(8, 57, 18, 1300, 8));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(9, 67, 24, 1600, 9));
        GetBaseData((int)MonsterId.Bear).AddLevelData(new MonsterLevelData(10, 78, 45, 2000, 10));

        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(1, 20, 0, 300, 5));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(2, 35, 2, 450, 5));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(3, 50, 4, 700, 6));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(4, 75, 8, 1000, 6));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(5, 105, 12, 1400, 7));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(6, 130, 16, 2000, 7));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(7, 160, 24, 2800, 8));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(8, 200, 36, 3800, 8));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(9, 250, 48, 5000, 9));
        GetBaseData((int)MonsterId.BlackBear).AddLevelData(new MonsterLevelData(10, 330, 90, 6400, 10));
    }