void initSinglePlayerSlots(string character) { if (playerUnitSlots.ContainsKey(character)) { playerUnitSlots.Add(character, new PlayerUnitSlot[Player.SUMMON_SLOT_NUM]); } else { playerUnitSlots[character] = new PlayerUnitSlot[Player.SUMMON_SLOT_NUM]; } if (playerSkillSlots.ContainsKey(character)) { playerSkillSlots.Add(character, new PlayerSkillSlot[Player.SKILL_SLOT_NUM]); } else { playerSkillSlots[character] = new PlayerSkillSlot[Player.SKILL_SLOT_NUM]; } for (i = 0; i < 5; ++i) { playerUnitSlots[character][i] = new PlayerUnitSlot(); } for (i = 0; i < 3; ++i) { playerSkillSlots[character][i] = new PlayerSkillSlot(); } }
IEnumerator updateCharacter() { if (hero != null) { GameManager.me.characterManager.cleanMonster(hero); } for (int i = 0; i < 5; ++i) { if (units[i] != null) { GameManager.me.characterManager.cleanMonster(units[i]); } units[i] = null; } GameDataManager.instance.loadDefaultModelData(); while (GameDataManager.instance.isCompleteLoadModel == false) { yield return(null); } while (GameDataManager.instance.isCompleteLoadLobbyMap == false) { yield return(null); } hero = (Player)GameManager.me.characterManager.getMonster(true, true, _selectHeroId, false); // (Player)Instantiate(GameManager.me.player); hero.init(_currentGamePlayerData, true, false); hero.pet = (Pet)GameManager.me.characterManager.getMonster(false, true, _currentGamePlayerData.partsVehicle.parts.resource.ToUpper(), false); hero.pet.init(hero); hero.setParent(heroParent); hero.cTransform.localScale = new Vector3(1, 1, 1); hero.cTransform.localPosition = new Vector3(0, 0, 0); hero.setPositionCtransform(heroParent.position); Quaternion q = hero.tf.localRotation; Vector3 v = q.eulerAngles; v.x = 0; v.y = 0; v.z = 0; q.eulerAngles = v; hero.state = Monster.NORMAL; hero.pet.collider.enabled = true; hero.pet.collider.name = "PET"; hero.pet.tf.localRotation = q; hero.pet.cTransform.localRotation = q; for (int i = 0; i < 5; ++i) { if (_playerUnitSlots[i].isOpen == false) { continue; } units[i] = GameManager.me.characterManager.getMonster(false, true, _playerUnitSlots[i].unitData.resource, false); units[i].isEnabled = true; CharacterUtil.setRare(_playerUnitSlots[i].unitData.rare, units[i]); units[i].setParent(unitParent[i]); units[i].cTransform.localPosition = new Vector3(0, 0, 0); PlayerUnitSlot pus = _playerUnitSlots[i]; units[i].init(pus.unitInfo.transcendData, pus.unitInfo.transcendLevel, pus.unitData.id, true, Monster.TYPE.UNIT); units[i].normalCollider.enabled = true; units[i].name = "UNIT" + i; units[i].shadow.gameObject.SetActive(true); units[i].initShadowAndEffectSize(); units[i].startAction(); units[i].setIdleAndFreeze(true); if (units[i].ani.GetClip(Monster.NORMAL_LOBBY) != null) { units[i].state = Monster.NORMAL_LOBBY; } else { units[i].state = Monster.NORMAL; } units[i].renderAniRightNow(); q = units[i].transform.localRotation; v = q.eulerAngles; v.x = 0; v.y = 0; v.z = 0; q.eulerAngles = v; units[i].transform.localRotation = q; units[i].cTransform.localRotation = q; GameManager.me.effectManager.checkUnitBodyEffect(units[i], true); } lobbyCharacterPositionSetter.changePosition(units); nowZoomSize = LobbyCharacterPosition.defaultZoomSize; // if(LobbyCharacterPosition.hasOutsidePosition) nowZoomSize = 1.0f; // else nowZoomSize = 0.72f; chracterCamera.fieldOfView = 15.0f * nowZoomSize; _updateCharacterComplete = true; }