コード例 #1
0
 public void SetOnOff(bool a_on)
 {
     if (m_on == a_on)
     {
         return;
     }
     m_on = a_on;
     if (m_on)
     {
         Init();
     }
     if (m_type == eMissiontype.eKill || m_type == eMissiontype.eRescue)
     {
         int        num        = (int)m_objPerson % 2;
         GameObject gameObject = (m_type != eMissiontype.eKill) ? m_runawayPrefabs[num] : m_ragdollPrefabs[num];
         if (null != m_char)
         {
             Object.Destroy(m_char);
         }
         m_char = (GameObject)Object.Instantiate((!m_on) ? gameObject : m_charPrefabs[num], base.transform.position, base.transform.rotation);
         if (m_on)
         {
             Renderer[] componentsInChildren = m_char.GetComponentsInChildren <Renderer>();
             for (int i = 0; i < componentsInChildren.Length; i++)
             {
                 if (null != componentsInChildren[i])
                 {
                     componentsInChildren[i].gameObject.layer = 22;
                 }
             }
         }
         BodyHeadAnim bodyHeadAnim = (BodyHeadAnim)m_char.GetComponent(typeof(BodyHeadAnim));
         if (null != bodyHeadAnim)
         {
             bodyHeadAnim.ChangeHeadItem((int)m_objPerson);
         }
     }
     else if (m_type == eMissiontype.eDestroy && !m_on)
     {
         Vector3    position    = base.transform.position + Vector3.up * 0.5f + (Camera.main.transform.position - base.transform.position) * 0.25f;
         GameObject gameObject2 = (GameObject)Object.Instantiate(m_explosionPrefab, position, Quaternion.identity);
         gameObject2.transform.parent = Camera.main.transform;
     }
     UpdateGameObjects();
 }
コード例 #2
0
 public void SetInfo(CharData a_data)
 {
     if (a_data.type != m_type)
     {
         m_type = a_data.type;
         Spawn(m_id, m_type, m_isOwnPlayer);
         m_handItem = -1;
         m_look     = -1;
         m_skin     = -1;
         m_body     = -1;
     }
     if (null != m_animControl)
     {
         if (m_handItem != a_data.handItem)
         {
             m_animControl.ChangeHandItem(a_data.handItem);
             m_handItem = a_data.handItem;
         }
         if (m_look != a_data.look)
         {
             m_animControl.ChangeHeadItem(a_data.look);
             m_look = a_data.look;
         }
         if (m_skin != a_data.skin)
         {
             m_animControl.ChangeSkin(a_data.skin);
             m_skin = a_data.skin;
         }
         if (m_body != a_data.body)
         {
             m_animControl.ChangeBodyItem(a_data.body);
             m_body = a_data.body;
         }
     }
     if (m_lastRank != a_data.rank)
     {
         if (m_lastRank == -1)
         {
             if (m_isOwnPlayer && Global.isSteamActive)
             {
                 bool flag       = false;
                 bool pbAchieved = true;
                 int  num        = Mathf.Min(10, a_data.rank);
                 for (int i = 1; i <= num; i++)
                 {
                     if (SteamUserStats.GetAchievement("ACH_IMM_RANK_" + i, out pbAchieved) && !pbAchieved)
                     {
                         SteamUserStats.SetAchievement("ACH_IMM_RANK_" + i);
                         flag = true;
                     }
                 }
                 if (flag)
                 {
                     SteamUserStats.StoreStats();
                 }
             }
         }
         else if (a_data.rank > m_lastRank && a_data.rank < 11)
         {
             Object.Instantiate(m_lvlUpEffect, base.transform.position + Vector3.up * 3.5f, Quaternion.identity);
             if (m_isOwnPlayer && Global.isSteamActive)
             {
                 SteamUserStats.SetAchievement("ACH_IMM_RANK_" + Mathf.Clamp(a_data.rank, 1, 10));
                 SteamUserStats.StoreStats();
                 PlayerPrefs.SetInt("prefHints", 0);
             }
             Debug.Log(base.name + " m_lastRank " + m_lastRank + " a_data.rank " + a_data.rank + " level up");
         }
         m_lastRank = a_data.rank;
     }
     SetName(a_data.rank, a_data.karma, a_data.name);
 }