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);//////////
    }
示例#3
0
    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
        }
    }