//싱글 톤 생성 void Start() { if (instance == null) { instance = this; } }
public static string ParseSysMsgZone(string msgText) { var dictionary = Utils.ChatUtils.BuildParametersDictionary(msgText); var zoneId = uint.Parse(dictionary["zoneName"]); return(Game.DB !.MonsterDatabase.GetZoneName(zoneId)); }
//********************************************************************************** // 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(); }
public static MonsterDatabase GetMonsterDatabaseInstace() { if (MyMonsterDatabaseInstace == null) { MyMonsterDatabaseInstace = new MonsterDatabase(); } return(MyMonsterDatabaseInstace); }
// 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(); }
// 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(); }
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); }); }
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)); }); } } }
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(); }
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); }
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(); }
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)); }