Example #1
0
        private void LoadCharacterData()
        {
            string      path = Application.dataPath;
            Object      obj  = Resources.Load("Config/character_data");
            string      f    = obj.ToString();
            XmlDocument doc  = new XmlDocument();

            doc.LoadXml(f);
            XmlElement root = doc.DocumentElement;

            XmlNodeList xmlList = root.GetElementsByTagName("instruction");

            foreach (XmlNode node in xmlList)
            {
                XmlElement ele = node as XmlElement;
                CharacterInstructionData pData = DataBase.CreateInstance <CharacterInstructionData>();
                pData.FromXml(ele);
                m_dicCharacterData[pData.id] = pData;
            }

            /*GameObject obj = (GameObject)Resources.Load("Prefab/EditorPrefab/CharacterEditorData");
             * GameObject gm = Object.Instantiate(obj);
             * CharacterEditorData[] chaEditorDts = gm.GetComponents<CharacterEditorData>();
             * foreach(CharacterEditorData dt in chaEditorDts)
             * {
             *  CharacterInstructionData pData = DataBase.CreateInstance<CharacterInstructionData>();
             *  pData.FromPrefabs(dt);
             *  m_dicCharacterData[pData.id] = pData;
             * }*/
        }
Example #2
0
        private void InitPlayerInfo(MapData pMapData)
        {
            Dictionary <int, int> m_dicTeamCount = new Dictionary <int, int>();

            for (int i = 0; i < m_stBattleInfo.m_listPlayers.Count; ++i)
            {
                PlayerInfo playerInfo          = m_stBattleInfo.m_listPlayers[i];
                CharacterInstructionData pData = GameGOW.Get().DataMgr.GetCharacterInstructionByID(playerInfo.m_iInstructionID);
                //pData.default_name = playerInfo.m_strName;
                CharacterLogic logic = GameGOW.Get().CharacterMgr.CreateCharacter(playerInfo.m_iPlayerUID, pData);

                if (!m_dicTeamCount.ContainsKey(playerInfo.m_iTeam))
                {
                    m_dicTeamCount[playerInfo.m_iTeam] = 0;
                }
                BornData pBornData = pMapData.GetBornData(playerInfo.m_iTeam, m_dicTeamCount[playerInfo.m_iTeam]++);
                logic.Position                 = new UnityEngine.Vector2(pBornData.pos_x, pBornData.pos_y);
                logic.m_pInfo.m_iFacing        = pBornData.face;
                logic.m_pInfo.m_iMoveEnergy    = playerInfo.m_iMoveEnergy;
                logic.m_pInfo.m_iAddEnergy     = playerInfo.m_iAddEnergy;
                logic.m_pInfo.m_iMaxMoveEnergy = playerInfo.m_iMoveEnergy;
                logic.m_pInfo.m_bIsInRound     = m_iCurrentRoundPlayerIndex == i;
                logic.m_pInfo.m_iTeam          = playerInfo.m_iTeam;
                logic.m_pInfo.m_iHP            = playerInfo.m_iHP;
                logic.m_pInfo.m_iMaxHP         = playerInfo.m_iHP;
                AddPlayerResult(playerInfo.m_iPlayerUID, playerInfo.m_iTeam);
            }
            m_iPlayerCount = m_stBattleInfo.m_listPlayers.Count;
        }
Example #3
0
 public void ChangeInstruction(CharacterInstructionData pData)
 {
     m_pInfo.m_pInstructionData = pData;
     m_pInfo.m_iFireAngle       = pData.low_fire_angle;
     SetCollideRect(pData.be_attack_box_min_x,
                    pData.be_attack_box_min_y,
                    pData.be_attack_box_max_x,
                    pData.be_attack_box_max_y);
     m_pBody.DoAction(CharacterStateType.IDLE1);
 }
Example #4
0
 public CharacterLogic CreateCharacter(int uid, CharacterInstructionData pData)
 {
     if (m_dicCharacterLogic.ContainsKey(uid))
     {
         return(m_dicCharacterLogic[uid]);
     }
     else
     {
         CharacterLogic pRet = ObjectPools.CheckOut <CharacterLogic>((int)uid, pData);
         m_dicCharacterLogic[uid] = pRet;
         if (OnCharacterNew != null)
         {
             OnCharacterNew(pRet);
         }
         return(pRet);
     }
 }
Example #5
0
        public void UnInitialize()
        {
            m_iHP           = 0;
            m_iFireAngle    = 0;
            m_iCurrentAngle = 0;

            m_pCurrentStateData = null;
            m_pInstructionData  = null;
            m_eCurrentStateType = CharacterStateType.UNDEFINE;
            m_iCurrentFrame     = 0;

            m_iFacing        = GameDefine.FACING_RIGHT;
            m_iDirectionKeys = 0;
            m_iMoveEnergy    = 0;
            m_iAddEnergy     = 0;

            m_icanattackmin = 0;
            m_icanattackmax = 0;

            EmojiID   = 0;
            MessageID = 0;
        }