public void Initialize() { Data = new CharacterStatusData(); WalkSpeed = 1f; StrafeSpeed = 1.75f; RunSpeed = 4f; SprintSpeed = 5.2f; ArmFatigue = 0; MaxArmFatigue = 5; ResetSpeedModifier(); MaxStamina = 100; Stamina = 100; StaminaRestoreSpeed = 6; StaminaReduceMult = 1; MaxHealth = 160; Health = 160; Energy = 3000; MaxEnergy = 3000; EyeSight = 1.5f; Intelligence = 2; RadiationDefense = 10; MaxCarryWeight = 40.0f; }
public bool Serialize(CharacterStatusData data) { bool ret = true; ret &= Serialize((byte)Encoding.Unicode.GetBytes(data.Name).Length); ret &= Serialize(data.Name); ret &= Serialize(data.Gender); ret &= Serialize(data.Level); ret &= Serialize(data.HClass); ret &= Serialize(data.Exp); ret &= Serialize(data.HealthPoint); ret &= Serialize(data.MagicPoint); ret &= Serialize(data.HpRegeneration); ret &= Serialize(data.MpRegeneration); ret &= Serialize(data.MoveSpeed); ret &= Serialize(data.Attack); ret &= Serialize(data.Defense); ret &= Serialize(data.SkillPoint); ret &= Serialize(data.DreamStone); for (int i = 0; i < HeroData.skillNum; i++) { ret &= Serialize(data.SkillLevel[i]); } for (int i = 0; i < HeroData.equipNum; i++) { ret &= Serialize(data.EquipLevel[i]); } return(ret); }
public void SetCharacterStatus(CharacterStatusData characterStatusData) { hName = characterStatusData.Name; level = characterStatusData.Level; hGender = (Gender)characterStatusData.Gender; charClass = (CharClass)characterStatusData.HClass; exp = characterStatusData.Exp; healthPoint = characterStatusData.HealthPoint; magicPoint = characterStatusData.MagicPoint; hpRegeneration = characterStatusData.HpRegeneration; mpRegeneration = characterStatusData.MpRegeneration; attack = characterStatusData.Attack; defense = characterStatusData.Defense; dreamStone = characterStatusData.DreamStone; skillLevel = new int[skillNum]; equipLevel = new int[equipNum]; for (int i = 0; i < skillNum; i++) { skillLevel[i] = characterStatusData.SkillLevel[i]; } for (int i = 0; i < equipNum; i++) { equipLevel[i] = characterStatusData.EquipLevel[i]; } }
//캐릭터 정보 요청 public void RequestCharacterStatus(DataPacket packet) { Console.WriteLine(packet.client.RemoteEndPoint.ToString() + "캐릭터 정보 요청"); CharacterIndexPacket characterIndexPacket = new CharacterIndexPacket(packet.msg); CharacterIndexData characterIndexData = characterIndexPacket.GetData(); string id = loginUser[packet.client]; int character = characterIndexData.Index; userState[id].characterId = character; HeroData heroData = database.GetHeroData(id, character); CharacterStatusData characterStatusData = new CharacterStatusData(heroData); CharacterStatusPacket characterStatusPacket = new CharacterStatusPacket(characterStatusData); characterStatusPacket.SetPacketId((int)ServerPacketId.CharacterStatus); Console.WriteLine(characterStatusData.HClass + ", " + characterStatusData.Gender); byte[] msg = CreatePacket(characterStatusPacket); packet = new DataPacket(msg, packet.client); lock (sendLock) { sendMsgs.Enqueue(packet); } }
public bool Deserialize(ref CharacterStatusData element) { if (GetDataSize() == 0) { // 데이터가 설정되지 않았다. return(false); } bool ret = true; byte nameLength = 0; string name; byte gender = 0; byte level = 0; byte hClass = 0; byte exp = 0; byte healthPoint = 0; byte magicPoint = 0; byte hpRegeneration = 0; byte mpRegeneration = 0; byte moveSpeed = 0; byte attack = 0; byte defense = 0; byte skillPoint = 0; byte dreamStone = 0; byte[] skillLevel = new byte[HeroData.skillNum]; byte[] equipLevel = new byte[HeroData.equipNum]; ret &= Deserialize(ref nameLength); ret &= Deserialize(out name, nameLength); ret &= Deserialize(ref gender); ret &= Deserialize(ref level); ret &= Deserialize(ref hClass); ret &= Deserialize(ref exp); ret &= Deserialize(ref healthPoint); ret &= Deserialize(ref magicPoint); ret &= Deserialize(ref hpRegeneration); ret &= Deserialize(ref mpRegeneration); ret &= Deserialize(ref moveSpeed); ret &= Deserialize(ref attack); ret &= Deserialize(ref defense); ret &= Deserialize(ref skillPoint); ret &= Deserialize(ref dreamStone); for (int i = 0; i < HeroData.skillNum; i++) { ret &= Deserialize(ref skillLevel[i]); } for (int i = 0; i < HeroData.equipNum; i++) { ret &= Deserialize(ref equipLevel[i]); } element = new CharacterStatusData(name, level, gender, hClass, exp, healthPoint, magicPoint, hpRegeneration, mpRegeneration, moveSpeed, attack, defense, skillPoint, dreamStone, skillLevel, equipLevel); return(ret); }
//Server - 캐릭터 정보 수신 public void CharacterData(DataPacket packet) { Debug.Log("캐릭터 정보 수신"); CharacterStatusPacket characterStatusPacket = new CharacterStatusPacket(packet.msg); CharacterStatusData characterStatusData = characterStatusPacket.GetData(); characterStatus.SetCharacterStatus(characterStatusData); }
//Server - 캐릭터 정보 수신 public void CharacterStatus(DataPacket packet) { Debug.Log("캐릭터 정보 수신"); CharacterStatusPacket characterStatusPacket = new CharacterStatusPacket(packet.msg); CharacterStatusData characterStatusData = characterStatusPacket.GetData(); characterStatus.SetCharacterStatus(characterStatusData); if (SceneChanger.Instance.CurrentScene == SceneChanger.SceneName.LoadingScene) { SceneChanger.Instance.LoadingCheck[1] = true; } }
//Server - 캐릭터 정보 수신 public void SetCharacterStatus(DataPacket packet) { Debug.Log("캐릭터 정보 수신"); CharacterStatusPacket characterStatusPacket = new CharacterStatusPacket(packet.msg); CharacterStatusData characterStatusData = characterStatusPacket.GetData(); Debug.Log(characterStatusData.HClass + ", " + characterStatusData.Gender); CharacterStatus characterStatus = GameObject.Find("CharacterStatus").GetComponent <CharacterStatus>(); characterStatus.SetCharacterStatus(characterStatusData); if (SceneChanger.Instance.CurrentScene == SceneChanger.SceneName.LoadingScene) { SceneChanger.Instance.LoadingCheck[1] = true; } }
public void SetCharacterStatus(CharacterStatusData characterStatusData) { hName = characterStatusData.Name; level = characterStatusData.Level; hGender = (Gender)characterStatusData.Gender; charClass = (CharClass)characterStatusData.HClass; exp = characterStatusData.Exp; maxExp = characterStatusData.Exp; healthPoint = characterStatusData.HealthPoint; maxHealthPoint = characterStatusData.HealthPoint; maxMagicPoint = 2000; magicPoint = 2000; hpRegeneration = characterStatusData.HpRegeneration; mpRegeneration = characterStatusData.MpRegeneration; moveSpeed = characterStatusData.MoveSpeed; attack = characterStatusData.Attack; defense = characterStatusData.Defense; dreamStone = characterStatusData.DreamStone; activeSkillUse = new bool[5]; skillLevel = new int[skillNum]; equipLevel = new int[equipNum]; Debug.Log(moveSpeed); for (int i = 0; i < skillNum; i++) { skillLevel[i] = characterStatusData.SkillLevel[i]; } for (int i = 0; i < equipNum; i++) { equipLevel[i] = characterStatusData.EquipLevel[i]; } for (int i = 0; i < activeSkillUse.Length; i++) { activeSkillUse[i] = true; } }