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(); }
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); }