public void SetPanel(Quest quest, QuestHolder holder) { this.quest = quest; SetMainInfo(quest); Durationtxt.text = quest.duration.ToString() + " Days Left"; rewardPanel.SetPanel(quest.reward); Descriptiontxt.text = quest.description; if (!quest.isActive) { Statustxt.text = "Quest Completed"; backBtn.gameObject.SetActive(false); onCollectReward.gameObject.SetActive(true); onBonusReward.gameObject.SetActive(true); onCollectReward.onClick.AddListener(delegate { CollectReward(quest); }); onCollectReward.onClick.AddListener(delegate { DeleteHolder(holder); }); onBonusReward.onClick.AddListener(delegate { ShowAds(); }); onBonusReward.onClick.AddListener(delegate { Hide(); }); } else { Statustxt.text = "Quest in Progress"; backBtn.gameObject.SetActive(true); onCollectReward.gameObject.SetActive(false); onBonusReward.gameObject.SetActive(false); } }
private void HandleAcceptQuestClickedPlayer() { GameObject recipient = GameManager.Instance.PlayerAvatar; if (recipient) { QuestHolder questHolder = recipient.GetComponent <QuestHolder>(); GameObject newQobj = Instantiate(QuestPrefab); Quest newQuest = newQobj.GetComponent <Quest>(); newQuest.QuestType = QuestType; newQuest.Quota = Quota; newQuest.RewardGoldAmt = RewardGold; newQuest.RewardInfluence = RewardInfluence; newQuest.SourceVillage = SourceVillage; newQuest.QuestInit(); questHolder.AddQuest(newQobj); PlayerController pContr = recipient.GetComponent <PlayerController>(); pContr.AcceptsInput = true; Destroy(gameObject); } }
// OBJECTIVE 5 private void CompletedFirstQuest() { if (!_currObjectiveComplete && (_objectiveCounter == 5)) { _currObjectiveComplete = true; NextButton.gameObject.SetActive(true); NextClicked(); // remove listener QuestHolder qHolder = GameManager.Instance.PlayerAvatar.GetComponent <QuestHolder>(); qHolder.QuestCompletedEvent.RemoveListener(CompletedFirstQuest); // prepare for objective 6: kill an enemy GameObject enemy = Instantiate(GameManager.Instance.EnemyPrefab); Vector3 pos = qHolder.transform.position; // enemy must be slightly near the player float range = 30.0f; float angle = Random.Range(0, Mathf.PI * 2); pos.x += Mathf.Cos(angle) * range; pos.z += Mathf.Sin(angle) * range; pos.y += 30.0f; enemy.transform.position = pos; enemy.GetComponent <Health>().onDeath.AddListener(KilledFirstEnemy); } }
void Start() { dialog = Dialog.Load(ta); skin = Resources.Load("Fonts/Skin") as GUISkin; UpdateAnswers(); QH = GameObject.Find("_Holder").GetComponent <QuestHolder>(); }
private void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(this); } else if (this != instance) { Destroy(gameObject); } }
private void PlayerTakeQuest() { PlayerController pContr = GameManager.Instance.PlayerAvatar.GetComponent <PlayerController>(); if (pContr) { QuestHolder pQuestHolder = GameManager.Instance.PlayerAvatar.GetComponent <QuestHolder>(); pQuestHolder.AddQuest(QuestObject); QuestTakenAway.Invoke(); Destroy(gameObject); } }
void SetupQuest() { holder = FindObjectOfType <QuestHolder>(); hasGiven = holder.HasQuest(npcQuest.identifier); if (hasGiven) { hasCompleted = holder.HasFinishedQuest(holder.FindQuest(npcQuest.identifier)); } if (holder.FindFinishedQuest(npcQuest.identifier)) { hasGiven = true; hasCompleted = true; } }
// OBJECTIVE 4 private void DoneFirstQuest() { if (!_currObjectiveComplete && (_objectiveCounter == 4)) { _currObjectiveComplete = true; NextButton.gameObject.SetActive(true); NextClicked(); // remove listener QuestHolder qHolder = GameManager.Instance.PlayerAvatar.GetComponent <QuestHolder>(); qHolder.QuestDoneEvent.RemoveListener(DoneFirstQuest); // add listener for next quest qHolder.QuestCompletedEvent.AddListener(CompletedFirstQuest); } }
void Start() { dialogueHolderIndex = myLevel; sign = transform.Find("Sign").gameObject; dialogue = GameObject.Find("Dialogue"); dialogueDisplay = dialogue.GetComponent <DialogueDisplay>(); dialogueHolder = GetComponent <DialogueHolder>(); questHolder = GetComponent <QuestHolder>(); input = GetComponent <PlayerInput>(); DialogueDisplay.OnStartConversation += DisableInput; //Observe if the dialogue ends, enable input DialogueDisplay.OnEndtoNothing += EnableInput; //Observe if the dialogue starts, disable input RoomState.OnRoomLevelUp += NpcLevelup; //Observe if the room level up RoomState.OnQuesting += QuestSetup; RoomState.OnQuestFail += QuestFailState; RoomState.OnQuestSuccess += QuestSuccess; DialogueDisplay.OnQuestCheck += CheckQuest; DialogueDisplay.OnOffendedCheck += CheckOffended; }
private void GiveQuestsButtonClicked() { // copy all the player's quests into a new menu, wrapping every quest into a new // panel with an extra button // first: get the player's quest holder QuestHolder playerQuests = null; GameObject player = NPCsGuild.GuildLeader; if (player) { playerQuests = player.GetComponent <QuestHolder>(); } // then put all the quests in the wrapper if (playerQuests) { Transform pQuestParent = playerQuests.QuestsHolder.transform; while (pQuestParent.childCount != 0) { GameObject qWrap = Instantiate(PlayerQuestWrapper); qWrap.transform.SetParent(PlayerQuestsHolder.transform); qWrap.transform.localScale = new Vector3(1, 1, 1); qWrap.GetComponent <PlayerQuestWrapper>().SetPlayerQuest(pQuestParent.GetChild(0).gameObject); pQuestParent.GetChild(0).SetParent(qWrap.transform); qWrap.GetComponent <PlayerQuestWrapper>().PlayerQuest.transform.localScale = new Vector3(1, 1, 1); qWrap.GetComponent <PlayerQuestWrapper>().PlayerQuest.transform.rotation = new Quaternion(0, 0, 0, 0); qWrap.GetComponent <PlayerQuestWrapper>().TargetNPC = GetComponent <QuestHolderNPC>(); } } // then change the menus QuestMenu.SetActive(false); GiveQuestsMenu.SetActive(true); _whichMenuActive = MenuType.GiveQuests; }
public void Start() { string file = "Quests/" + id.instance.saveIndex + "/" + path + id.instance.saveIndex; holder = (QuestHolder)Resources.Load(file); //buttonText.text = holder.questName; // mesh.text = "<size=40>" + holder.questName + "</size"; /* words = holder.mytext.text.Split( * new[] { "\r\n", "\r", "\n" }, * System.StringSplitOptions.None);*/ // splitUp(); assignTheNpcs(); if (finishedQuestEvent != null && holder.completed) { finishedQuestEvent.Invoke(); } // eventclass.Invoke(1); }
// Start is called before the first frame update void Start() { qh = player.GetComponent <QuestHolder>(); ls = qh.quests; }
public bool Open( AsBaseEntity target , bool _callFromQuestClear = false) { AsChatFullPanel.Instance.Close(); if( target == null) return false; targetObject = target.gameObject; Clear(); if( eNPCType.NPC == target.GetProperty<eNPCType>( eComponentProperty.NPC_TYPE)) { m_NpcEntity = target as AsNpcEntity; m_NpcRec = AsTableManager.Instance.GetTbl_NormalNpc_Record( m_NpcEntity.TableIdx); //npc name Tbl_Npc_Record record = AsTableManager.Instance.GetTbl_Npc_Record( m_NpcEntity.TableIdx); npcName = m_NpcName.Text = record.NpcName; m_NpcTableID = m_NpcEntity.TableIdx; } if( null == m_NpcRec) { Debug.LogError( "null == m_NpcRec"); return false; } if( m_NpcRec.FaceId != int.MaxValue)//none { int textNum = 1 + ( m_NpcRec.FaceId / ( m_TextureCount*m_TextureCount)); string strImageFileName = "UI/Optimization/Texture/img_NPC_" + textNum; Texture2D npcImage = ResourceLoad.Loadtexture( strImageFileName) as Texture2D; Set_Tex( m_Npc_Image, npcImage, m_NpcRec.FaceId, m_TextureSize, m_TextureCount); } questHolder = QuestHolderManager.instance.GetQuestHolder( m_NpcTableID); //Pc Image Setting AsUserEntity entity = AsEntityManager.Instance.UserEntity; if( null != entity) { int faceImageId = 0; eCLASS __class = entity.GetProperty<eCLASS>( eComponentProperty.CLASS); eGENDER gender = entity.GetProperty<eGENDER>( eComponentProperty.GENDER); eRACE tribe = entity.GetProperty<eRACE>( eComponentProperty.RACE); Tbl_Class_Record record = AsTableManager.Instance.GetTbl_Class_Record( tribe, __class); switch( gender) { case eGENDER.eGENDER_MALE: faceImageId = record.Portrait_Male; break; case eGENDER.eGENDER_FEMALE: faceImageId = record.Portrait_Female; break; } int textureNum = 1 + ( faceImageId / ( m_TextureCount*m_TextureCount)); string strPcImageFileName = "UI/Optimization/Texture/img_PC_" + textureNum; Texture2D pcImage = ResourceLoad.Loadtexture( strPcImageFileName) as Texture2D; Set_Tex( m_Pc_Image, pcImage, faceImageId, m_TextureSize, m_TextureCount); } // for talk clear if( ( false == _callFromQuestClear) && ( true == CheckTalkComplete())) return true; gameObject.SetActiveRecursively( true); gameObject.active = true; if(0 != m_NpcRec.VoiceCount) { int VoiceIndex = UnityEngine.Random.Range( 0, m_NpcRec.VoiceCount); AsSoundManager.Instance.PlaySound( m_NpcRec.Voice(VoiceIndex), Vector3.zero, false);////npc Voice } int SpeechIndex = UnityEngine.Random.Range( 0, m_NpcRec.SpeechCount); SetTalk( m_NpcRec.Speech( SpeechIndex));////npc Speech if( m_NpcRec.FaceId == int.MaxValue)//none SetVisible( m_Npc_Image.gameObject, false); SetVisible( m_Pc_Image.gameObject, false); UpdateMenuButton(); // check clear quest m_Questlist.FindQuestFromObject( m_NpcEntity.gameObject); ArkSphereQuestTool.QuestData questData = m_Questlist.GetClearQuest(); if( questData != null) AsHudDlgMgr.Instance.OpenQuestAcceptUI(questData, true); m_Questlist.Visible = false; AsHudDlgMgr.dlgPresentState |= AsHudDlgMgr.eDlgPresentState.NpcMenu; if (questHolder != null) QuestTutorialMgr.Instance.ProcessQuestTutorialMsg(new QuestTutorialMsgInfo(QuestTutorialMsg.OPEN_NPC_TALK)); //{ // QuestTutorialMgr.Instance.ProcessQuestTutorialMsg(new QuestTutorialMsgInfo(QuestTutorialMsg.OPEN_NPC_TALK)); // if (questHolder.NowMarkType == QuestMarkType.HAVE_EVENT || questHolder.nowQuetMarkType == QuestMarkType.HAVE_EVENT_AND_PROGRESS) // if (m_NpcEntity != null) // questHolder.UpdateQuestMark(m_NpcEntity.TableIdx); //} return true; }
public void GiveMyQuestTo(QuestHolder target) { target.AddQuest(PlayerQuest); Destroy(gameObject); }
void PressedUICancelWithMenuOpen() { // close things depending on where in the menu we are switch (_whichMenuActive) { case MenuType.Main: // close things and give control back to the player _isMenuOpen = false; MainMenu.SetActive(_isMenuOpen); GameManager.Instance.PlayerAvatar.GetComponent <PlayerController>().AcceptsInput = true; break; case MenuType.Name: NewNameMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.Quest: QuestMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.GiveQuests: // give the quests back to the player QuestHolder playerQuests = null; GameObject player = NPCsGuild.GuildLeader; if (player) { playerQuests = player.GetComponent <QuestHolder>(); } // get all the quests back out of the wrapper and give them back to the player if (playerQuests) { Transform pQuestParent = playerQuests.QuestsHolder.transform; // Transform thisQuestParent = PlayerQuestsHolder.transform; int test = PlayerQuestsHolder.transform.childCount; while (test > 0) { GameObject pQuestWrapper = PlayerQuestsHolder.transform.GetChild(test - 1).gameObject; pQuestWrapper.GetComponent <PlayerQuestWrapper>().GiveMyQuestTo(player.GetComponent <QuestHolder>()); --test; } } // set menus GiveQuestsMenu.SetActive(false); QuestMenu.SetActive(true); _whichMenuActive = MenuType.Quest; break; case MenuType.Inventory: InventoryNPC inv = GetComponent <InventoryNPC>(); if (inv) { if (inv.GiveItemsMenuUp) // the inv handles this itself { break; } } InventoryMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.Status: ChangeStatusMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.Gear: // remove all listeners for (int i = 0; i < NPCItemHolder.transform.GetChild(0).childCount; ++i) { NPCItemHolder.transform.GetChild(0).GetChild(i).GetComponent <InvItem>().PlayerClicked.RemoveAllListeners(); } for (int i = 0; i < PlayerItemHolder.transform.GetChild(0).childCount; ++i) { PlayerItemHolder.transform.GetChild(0).GetChild(i).GetComponent <InvItem>().PlayerClicked.RemoveAllListeners(); } // give back the items NPCItemHolder.transform.GetChild(0).SetParent(_originalNPCItemParent); NPCItemHolder.GetComponent <ScrollRect>().content = null; _originalNPCItemParent.GetComponent <ScrollRect>().content = _originalNPCItemParent.GetChild(0).GetComponent <Image>().rectTransform; _originalNPCItemParent.GetChild(0).localPosition = new Vector3(0, 0, 0); _originalNPCItemParent.GetChild(0).localScale = new Vector3(1, 1, 1); _originalNPCItemParent.GetChild(0).localRotation = new Quaternion(0, 0, 0, 0); GearMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.EnemyStrategy: EnemyStrategyMenu.SetActive(false); MainMenu.SetActive(true); _whichMenuActive = MenuType.Main; break; case MenuType.PickVillageToDefend: VillageToDefendMenu.SetActive(false); EnemyStrategyMenu.SetActive(true); _whichMenuActive = MenuType.EnemyStrategy; break; } }
private void Awake() { qh = player.GetComponent <QuestHolder>(); ls = qh.quests; }
/* public void ShowNpcSelectEffect( AsBaseEntity target) { GameObject goTarget = target.gameObject; if( null != AsEffectManager.Instance.GetEffectEntity( m_nNpcSelectEff)) RemoveNpcSelectEffect(); m_nNpcSelectEff = AsEffectManager.Instance.PlayEffect( m_strNpcSelectEffPath, goTarget.transform, true, 0.0f); int nNpcID = target.GetProperty<int>( eComponentProperty.NPC_ID); Tbl_Npc_Record npcRec = AsTableManager.Instance.GetTbl_Npc_Record( nNpcID); float fScale = 1.0f; if( 1 == npcRec.PointScale) fScale = 1.0f; else if( 2 == npcRec.PointScale) fScale = 1.2f; else if( 3 == npcRec.PointScale) fScale = 1.5f; else if( 4 == npcRec.PointScale) fScale = 2.0f; else if( 5 == npcRec.PointScale) fScale = 2.5f; AsEffectManager.Instance.SetSize( m_nNpcSelectEff, fScale); } public void RemoveNpcSelectEffect() { if( null == AsEffectManager.Instance) return; AsEffectManager.Instance.RemoveEffectEntity( m_nNpcSelectEff); } */ public void Close() { Clear(); gameObject.SetActive( false); if( m_NpcEntity != null) { AsNpcFsm objFsm = m_NpcEntity.GetComponent( eComponentType.FSM_NPC) as AsNpcFsm; if( null == objFsm) return; objFsm.SetNpcFsmState( AsNpcFsm.eNpcFsmStateType.IDLE); } targetObject = null; questHolder = null; AsHudDlgMgr.dlgPresentState &= ~AsHudDlgMgr.eDlgPresentState.NpcMenu; if( m_Questlist != null) m_Questlist.gameObject.SetActive( false); AsLoadingIndigator.Instance.HideIndigator(); m_bInputLock = false; if( AsGameMain.s_gameState == GAME_STATE.STATE_INGAME) QuestTutorialMgr.Instance.ProcessQuestTutorialMsg( new QuestTutorialMsgInfo( QuestTutorialMsg.CLOSE_NPC_COMMUNITY, 0)); }
private void DeleteHolder(QuestHolder holder) { Destroy(holder.gameObject); }