public void AddUseItemToMon(AchUseItemToTarget _useItemToMon) { int itemID = _useItemToMon.ItemID; if (!dicUseItemToTarget.ContainsKey(itemID)) dicUseItemToTarget.Add(itemID, new List<AchUseItemToTarget>()); dicUseItemToTarget[itemID].Add(_useItemToMon); }
//public void SetMarkType(QuestMarkType _type) //{ // try // { // nowType = _type; // foreach (SimpleSprite sprite in questSprites) // sprite.Hide(true); // if (nowType == QuestMarkType.CLEAR_REMAINTALK || nowType == QuestMarkType.TALK_CLEAR || nowType == QuestMarkType.TALK_HAVE) // questSprites[(int)QuestPanelType.QUEST_NEW_TALK].Hide(false); // else if (nowType == QuestMarkType.CLEAR || nowType == QuestMarkType.CLEAR_AND_HAVE) // questSprites[(int)QuestPanelType.QUEST_CLAR].Hide(false); // else if (nowType == QuestMarkType.HAVE) // questSprites[(int)QuestPanelType.QUEST_NEW].Hide(false); // else if (nowType == QuestMarkType.UPPERLEVEL) // questSprites[(int)QuestPanelType.QUEST_NEW_UPPERLEVEL].Hide(false); // } // catch (System.Exception e) // { // Debug.LogError(e.Message); // } //} public void Initilize(AsBaseEntity _baseEntity, BoxCollider _collider, float _namePanelPosY, AchUseItemToTarget _achUseItemToTarget, UISlotItem _slotItem, CoolTimeGroup _coolTimeGroup) { m_bShowCommand = true; m_baseEntity = _baseEntity; achUseItemToTarget = _achUseItemToTarget; slotItem = _slotItem; coolTimeGroup = _coolTimeGroup; gameObject.SetActiveRecursively(true); if (_baseEntity.questPanel != null) _baseEntity.questPanel.gameObject.SetActiveRecursively(false); if (_baseEntity.collectionMark != null) _baseEntity.collectionMark.Visible = false; itemCollider = _collider; // Calculate U.I Position m_vUIPosRevision.x = 0.0f; m_vUIPosRevision.y = _namePanelPosY;// +questSprites[0].height * 0.5f; m_vUIPosRevision.z = m_fNamePanelLayer; dummyLeadTop = m_baseEntity.GetDummyTransform("DummyLeadTop"); if (null == dummyLeadTop) { if( true == m_baseEntity.isKeepDummyObj) { Vector3 vPos = m_baseEntity.transform.position; vPos.y += m_baseEntity.characterController.height; transform.position = _WorldToUIPoint( vPos, m_vUIPosRevision); } else Debug.LogWarning("DummyLeadTop is not found"); } else transform.position = _WorldToUIPoint(dummyLeadTop.position, m_vUIPosRevision);////////// }
private void Quest_Info(byte[] _packet) { body_SC_QUEST_INFO questInfo = new body_SC_QUEST_INFO(); questInfo.PacketBytesToClass(_packet); ArkQuest quest = ArkQuestmanager.instance.GetQuest(questInfo.nQuestTableIdx); ArkSphereQuestTool.QuestData questData = quest.GetQuestData(); AchBase achieve = questData.Achievement.GetData(questInfo.nCond); if (achieve == null) { Debug.LogWarning("Quest[" + questInfo.nQuestTableIdx + "] = " + questInfo.nCond + " is not found"); return; } switch (achieve.QuestMessageType) { case QuestMessages.QM_KILL_MONSTER: AchKillMonster killMon = achieve as AchKillMonster; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_KILL_MONSTER, killMon); break; case QuestMessages.QM_KILL_MONSTER_KIND: AchKillMonsterKind killMonKind = achieve as AchKillMonsterKind; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_KILL_MONSTER_KIND, killMonKind); break; case QuestMessages.QM_USE_ITEM: AchUseItem useItem = achieve as AchUseItem; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_USE_ITEM, new AchUseItem(useItem.ItemID, 1)); break; case QuestMessages.QM_USE_WAY_POINT: QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_USE_WAY_POINT, achieve as AchWaypoint); break; case QuestMessages.QM_FRIENDSHIP: { if (questInfo.nValue != 0) QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_FRIENDSHIP, new AchFriendship(questInfo.nValue, 0)); } break; case QuestMessages.QM_ADD_FRIEND: QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_ADD_FRIEND, new AchAddFirends(questInfo.nValue)); break; case QuestMessages.QM_USE_ITEM_IN_MAP: QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_USE_ITEM_IN_MAP, achieve as AchUseItemInMap); break; case QuestMessages.QM_INSERT_SEAL: { AchInsertSeal orgInsertSeal = achieve as AchInsertSeal; AchInsertSeal insertSeal = new AchInsertSeal(orgInsertSeal.sealGrade, orgInsertSeal.sealKind, questInfo.nValue); QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_INSERT_SEAL, insertSeal); } break; case QuestMessages.QM_USE_ITEM_TO_TARGET: { AchUseItemToTarget selectAchieve = achieve as AchUseItemToTarget; AchUseItemToTarget achUse = new AchUseItemToTarget(selectAchieve.targetType, selectAchieve.targetID, selectAchieve.Champion, selectAchieve.ItemID, selectAchieve.ItemCount, 0); achUse.AssignedQuestID = selectAchieve.AssignedQuestID; achUse.AchievementNum = selectAchieve.AchievementNum; achUse.CommonCount = questInfo.nValue; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_USE_ITEM_TO_TARGET, achUse); } break; case QuestMessages.QM_STRENGTHEN_ITEM: { AchStrengthenItem ach = new AchStrengthenItem(questInfo.nValue); ach.AssignedQuestID = questInfo.nQuestTableIdx; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_STRENGTHEN_ITEM, ach); } break; case QuestMessages.QM_GET_ITEM_FROM_SHOP: { AchGetItemFromShop ach = achieve as AchGetItemFromShop; AchGetItemFromShop getItem = new AchGetItemFromShop(ach.ItemID, questInfo.nValue); getItem.AssignedQuestID = ach.AssignedQuestID; getItem.AchievementNum = ach.AchievementNum; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_GET_ITEM_FROM_SHOP, getItem); } break; #region _PVP case QuestMessages.QM_GET_PVP_POINT: { AchGetPvpPoint ach = new AchGetPvpPoint(questInfo.nValue); ach.AssignedQuestID = achieve.AssignedQuestID; ach.AchievementNum = achieve.AchievementNum; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_GET_PVP_POINT, ach); } break; case QuestMessages.QM_PLAY_PVP: { AchPvpPlay ach = new AchPvpPlay(ePvpMatchMode.NOTHING, AsPvpDlg.ePvpMode.ePvpMode_Max, questInfo.nValue); ach.AssignedQuestID = achieve.AssignedQuestID; ach.AchievementNum = achieve.AchievementNum; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_PLAY_PVP, ach); } break; case QuestMessages.QM_WIN_PVP: { AchPvpWin ach = new AchPvpWin(ePvpMatchMode.NOTHING, AsPvpDlg.ePvpMode.ePvpMode_Max, questInfo.nValue); ach.AssignedQuestID = achieve.AssignedQuestID; ach.AchievementNum = achieve.AchievementNum; QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_WIN_PVP, ach); } break; #endregion } }