public HomeCharacterBase CreateNPC(HomePeople home_people, Transform parent, OutGameSettingsManager.HomeScene.NPC npc) { //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) if (!TutorialStep.IsTheTutorialOver(TUTORIAL_STEP.ENTER_FIELD_03) && npc.npcID != 0) { return(null); } OutGameSettingsManager.HomeScene.NPC.Situation situation = npc.GetSituation(); if (situation == null) { return(null); } HomeNPCCharacter homeNPCCharacter = (!npc.overrideComponentName.IsNullOrWhiteSpace()) ? (Utility.CreateGameObjectAndComponent(npc.overrideComponentName, parent, -1) as HomeNPCCharacter) : (Utility.CreateGameObjectAndComponent("HomeNPCCharacter", parent, -1) as HomeNPCCharacter); homeNPCCharacter.SetNPCInfo(npc); homeNPCCharacter.SetNPCData(Singleton <NPCTable> .I.GetNPCData(npc.npcID)); homeNPCCharacter.SetHomePeople(home_people); homeNPCCharacter._transform.set_position(situation.pos); homeNPCCharacter._transform.set_eulerAngles(new Vector3(0f, situation.rot, 0f)); homeNPCCharacter._transform.set_localScale(new Vector3(npc.scaleX, 1f, 1f)); homeNPCCharacter.StopDiscussion(); return(homeNPCCharacter); }
protected override void SetupLoginBonus() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) if (validLoginBonus) { shouldFrameInNPC006 = true; CheckLoginBonusFirst(); } else { HomeNPCCharacter homeNPCCharacter = MonoBehaviourSingleton <LoungeManager> .I.HomePeople.GetHomeNPCCharacter(6); homeNPCCharacter.HideShadow(); HomeDragonRandomMove homeDragonRandomMove = homeNPCCharacter.loader.GetAnimator().get_gameObject().AddComponent <HomeDragonRandomMove>(); homeDragonRandomMove.Reset(); } }
private void SetTargetAreaNPC(int npc_id) { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Expected O, but got Unknown //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) if (!(prefab_target_area == null) && MonoBehaviourSingleton <HomeManager> .IsValid() && !(MonoBehaviourSingleton <HomeManager> .I.HomePeople == null)) { HomeNPCCharacter homeNPCCharacter = MonoBehaviourSingleton <HomeManager> .I.HomePeople.GetHomeNPCCharacter(npc_id); if (!(homeNPCCharacter == null)) { t_target_area = ResourceUtility.Realizes(prefab_target_area, homeNPCCharacter.get_transform(), -1); t_target_area.set_position(homeNPCCharacter.get_transform().get_position()); } } }
public HomeNPCCharacter GetHomeNPCCharacter(int npcID) { if (charas == null) { return(null); } HomeNPCCharacter result = null; for (int i = 0; i < charas.Count; i++) { HomeNPCCharacter homeNPCCharacter = charas[i] as HomeNPCCharacter; if (!(homeNPCCharacter == null) && npcID == homeNPCCharacter.npcInfo.npcID) { result = homeNPCCharacter; break; } } return(result); }
private IEnumerator LoadEventLock() { isEventLockLoading = true; LoadingQueue loadingQueue = new LoadingQueue(this); LoadObject loadedArrow = loadingQueue.Load(RESOURCE_CATEGORY.NPC_MODEL, "lockeventbanner", new string[1] { "LockEventBanner" }, false); if (loadingQueue.IsLoading()) { yield return((object)loadingQueue.Wait()); } while (waitEventBalloon) { yield return((object)null); } HomeNPCCharacter eventNPC = MonoBehaviourSingleton <LoungeManager> .I.HomePeople.GetHomeNPCCharacter(6); if (eventNPC != null) { Vector3 MODEL_OFFSET = new Vector3(0f, 1.79f, 0.504f); Transform banner = Utility.CreateGameObject("EventLockBanner", eventNPC._transform, -1); ResourceUtility.Realizes(loadedArrow.loadedObject, banner, -1); banner.set_localPosition(MODEL_OFFSET); if ((int)MonoBehaviourSingleton <UserInfoManager> .I.userStatus.level < MonoBehaviourSingleton <GlobalSettingsManager> .I.unlockEventLevel) { banner.get_gameObject().SetActive(true); } else { banner.get_gameObject().SetActive(false); } eventLockMesh = banner; } isEventLockLoading = false; yield return((object)null); }
protected override void PlayNearAnim(HomeNPCCharacter npc) { //IL_008a: Unknown result type (might be due to invalid IL or missing references) if (!MonoBehaviourSingleton <UserInfoManager> .I.isArenaOpen) { animCtrl.Play(npc.nearAnim, false); } else if (MonoBehaviourSingleton <UserInfoManager> .I.isJoinedArenaRanking && animCtrl.playingAnim == PLCA.IDLE_01 && isTurned) { animCtrl.Play(PLCA.THROUGH_BOW, false); } else if ((int)MonoBehaviourSingleton <UserInfoManager> .I.userStatus.level >= 50) { if (!isTurned) { this.StartCoroutine(PlayThroughTurn()); isTurned = true; } } else { animCtrl.Play(npc.nearAnim, false); } }
protected virtual void PlayNearAnim(HomeNPCCharacter npc) { animCtrl.Play(npc.nearAnim, false); }
private IEnumerator DoFreeMove() { while (true) { if (waitTime > 0f) { WaitInFreeMove(); yield return((object)null); } else if (discussionTimer != 0f) { if (discussionTimer < 0f) { if (this is HomeNPCCharacter && homePeople.selfChara != null) { HomeNPCCharacter npc = (HomeNPCCharacter)this; if (npc != null && npc.nearAnim != PLCA.IDLE_01) { Vector2 val = homePeople.selfChara._transform.get_position().ToVector2XZ() - _transform.get_position().ToVector2XZ(); if (val.get_sqrMagnitude() < 9f) { PlayNearAnim(npc); } else if (animCtrl.playingAnim != animCtrl.defaultAnim) { animCtrl.PlayDefault(false); } yield return((object)null); continue; } } if (this is HomePlayerCharacter) { if (Random.Range(0, 10) == 0) { animCtrl.Play(PlayerAnimCtrl.emotionAnims, false); discussionTimer = Random.Range(2f, 4f); } else if (Random.Range(0, 2) == 0) { animCtrl.Play(PlayerAnimCtrl.talkAnims, false); discussionTimer = Random.Range(5f, 10f); } else { animCtrl.PlayIdleAnims(sexType, false); discussionTimer = Random.Range(3f, 6f); } } } else { discussionTimer -= Time.get_deltaTime(); } yield return((object)null); } else { SetupNextWayPoint(); yield return((object)null); if (MonoBehaviourSingleton <HomeManager> .IsValid()) { moveTargetPos = MonoBehaviourSingleton <HomeManager> .I.HomePeople.GetTargetPos(this, wayPoint); } else if (MonoBehaviourSingleton <LoungeManager> .IsValid()) { moveTargetPos = MonoBehaviourSingleton <LoungeManager> .I.HomePeople.GetTargetPos(this, wayPoint); } while (true) { animCtrl.PlayMove(false); Vector3 pos = _transform.get_position(); Vector3 diff = moveTargetPos - pos; Vector2 val2 = diff.ToVector2XZ(); Vector2 dir3 = val2.get_normalized(); Quaternion val3 = Quaternion.LookRotation(dir3.ToVector3XZ()); Vector3 eulerAngles = val3.get_eulerAngles(); float rot2 = eulerAngles.y; float vel2 = 0f; Vector3 eulerAngles2 = _transform.get_eulerAngles(); rot2 = Mathf.SmoothDampAngle(eulerAngles2.y, rot2, ref vel2, 0.1f); _transform.set_eulerAngles(new Vector3(0f, rot2, 0f)); if (diff.get_magnitude() < 0.75f) { break; } yield return((object)null); } if (wayPoint.get_name().StartsWith("LEAF")) { break; } if (wayPoint.get_name().StartsWith("WAIT")) { while (true) { Vector3 eulerAngles3 = wayPoint.get_transform().get_eulerAngles(); float dir2 = eulerAngles3.y; float vel = 0f; Vector3 eulerAngles4 = _transform.get_eulerAngles(); dir2 = Mathf.SmoothDampAngle(eulerAngles4.y, dir2, ref vel, 0.1f); _transform.set_eulerAngles(new Vector3(0f, dir2, 0f)); vel = Mathf.Abs(vel); if (vel > 15f) { animCtrl.Play(PLCA.WALK, false); } else if (!string.IsNullOrEmpty(wayPoint.waitAnimStateName)) { PLCA motion = PlayerAnimCtrl.StringToEnum(wayPoint.waitAnimStateName); animCtrl.Play(motion, false); } else if (this is LoungeMoveNPC) { animCtrl.PlayDefault(false); } else { animCtrl.PlayIdleAnims(sexType, false); } animator.set_applyRootMotion(false); if (vel < 0.01f) { break; } yield return((object)null); } animCtrl.PlayIdleAnims(sexType, false); waitTime = Random.Range(3f, 8f); } else if (wayPoint.get_name() == "CENTER") { waitTime = Random.Range(-3f, 8f); } } } Object.Destroy(this.get_gameObject()); }