IEnumerator C_Initialize() { Main main = null; while (main == null) { main = GameManager.Instance.m_Main; yield return(null); } while (!main.IsBeginLoadingComplete) { yield return(null); } main.AddPlayerCharacter(this); while (!m_IsInitializeComplete) { yield return(null); } Material mat = null; if (m_PhotonView.IsMine) { mat = ((Main_Stage)GameManager.Instance.m_Main).m_LocalOutLineMaterial; } else { mat = ((Main_Stage)GameManager.Instance.m_Main).m_OtherOutLineMaterial; } SkinnedMeshRenderer[] renderers = m_Animator.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < renderers.Length; ++i) { Material[] newmat = new Material[renderers[i].materials.Length + 1]; for (int j = 0; j < renderers[i].materials.Length; ++j) { newmat[j] = renderers[i].materials[j]; } newmat[newmat.Length - 1] = mat; renderers[i].materials = newmat; } if (m_PhotonView.IsMine) { bool attachweapon = false; for (int i = 0; i < 3; ++i) { EquipmentItem item = InventoryManager.Instance.GetEquippedItem(i); if (item) { GameObject weapon = item.GetWeaponModel(); if (weapon) { attachweapon = true; m_AttackType = item.m_ItemElement; AttachWeapon(weapon.name, item.GetWeaponType()); break; } } } if (!attachweapon) { AttachWeapon("", E_WEAPONTYPE.PUNCH); } for (int i = 0; i < 3; ++i) { EquipmentItem item = InventoryManager.Instance.GetEquippedItem(i); if (item) { item.EquipAction(this); ActiveSkill sk = item.GetActiveSkill(); if (sk) { sk.Initialize(this, true); } List <PassiveSkill> list = item.GetPassiveSkills(); if (list != null) { for (int j = 0; j < list.Count; ++j) { list[j].Initialize(this, true); } } } } NetworkManager.Instance.RoomController.SetLocalPlayerProperties(m_CharacterReadyKey, true); } m_IsPlayerCharacterInitializeComplete = true; }