Пример #1
0
    //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);//////////
    }
Пример #2
0
    public IEnumerator ApplyCoolTimeA(string coolTimeID, float _coolTime)
    {
        if (string.IsNullOrEmpty(coolTimeID))
        {
            yield break;
        }

        if (coolTimeDic.ContainsKey(coolTimeID))
        {
            coolTimeDic[coolTimeID] = _coolTime;
        }
        else
        {
            coolTimeDic.Add(coolTimeID, _coolTime);
        }

        CoolTimeGroup ctg = new CoolTimeGroup(coolTimeID, _coolTime);

        coolTimeList.Add(ctg);

        for (int i = 0; i < unit.skillList.Count; i++)
        {
            SkillBase skill = unit.skillList[i];
            if (skill.skillData == null)
            {
                Debug.LogWarning("no skilldata : " + unit.name);
                continue;
            }

            if (skill.skillData.coolTime1ID == coolTimeID || skill.skillData.coolTime2ID == coolTimeID)
            {
                skill.isCoolTime = true;
            }
        }

        for (int i = 0; i < unit.counterSkillList.Count; i++)
        {
            SkillBase skill = unit.counterSkillList[i];
            if (skill.skillData == null)
            {
                Debug.LogWarning("no skilldata : " + unit.name);
                continue;
            }

            if (skill.skillData.coolTime1ID == coolTimeID || skill.skillData.coolTime2ID == coolTimeID)
            {
                skill.isCoolTime = true;
            }
        }

        //쿨타임 남은 시간 표기를 위해 남은 시간 계산
        float coolTime  = _coolTime;
        float startTime = Time.time;

        while (coolTime > 0f)
        {
            float elapsedTime = Time.time - startTime;
            coolTime     = _coolTime - elapsedTime;
            ctg.coolTime = coolTime;

            yield return(null);
        }

        coolTimeDic.Remove(coolTimeID);

        //yield return new WaitForSeconds(coolTime);

        //쿨타임 끝난 애는 리스트에서 제거
        coolTimeList.Remove(ctg);

        for (int i = 0; i < unit.skillList.Count; i++)
        {
            SkillBase skill = unit.skillList[i];
            if (!coolTimeDic.ContainsKey(skill.skillData.coolTime1ID) && !coolTimeDic.ContainsKey(skill.skillData.coolTime2ID))
            {
                skill.isCoolTime = false;
            }

            //if (skill.skillData.coolTime1ID == coolTimeID || skill.skillData.coolTime2ID == coolTimeID)
            //    skill.isCoolTime = false;
        }
        for (int i = 0; i < unit.counterSkillList.Count; i++)
        {
            SkillBase skill = unit.counterSkillList[i];
            if (!coolTimeDic.ContainsKey(skill.skillData.coolTime1ID) && !coolTimeDic.ContainsKey(skill.skillData.coolTime2ID))
            {
                skill.isCoolTime = false;
            }

            //if (skill.skillData.coolTime1ID == coolTimeID || skill.skillData.coolTime2ID == coolTimeID)
            //    skill.isCoolTime = false;
        }

        //쿨타임 끝났다는 콜백 날림
        if (onFinishCoolTime != null)
        {
            onFinishCoolTime();
        }
    }
Пример #3
0
	public void SetCoolTimeGroup( int skillId, int _time )
	{
		Tbl_Skill_Record skillRecord = AsTableManager.Instance.GetTbl_Skill_Record( skillId );
		if(null==skillRecord)
		{
			Debug.LogError("CooltimeGroupMgr::SetCoolTimeGroup()[ null==skillRecord ] id : " + skillId );
			return;
		}
		
		Tbl_SkillLevel_Record _skilllevelRecord = null;
		int coolgroup = skillRecord.getCoolTimeGroup;
		int _maxTime = 1;
		m_InitSkillList.Add(skillRecord); 	
		
		
		if( eCLASS.All == skillRecord.Class )
		{
			_skilllevelRecord = AsTableManager.Instance.GetTbl_SkillLevel_Record( 1, skillId );
			if( null != _skilllevelRecord )
			{
				_maxTime = _skilllevelRecord.CoolTime;
			}
		}
		else if( null != SkillBook.Instance )
		{
			if( SkillBook.Instance.dicActive.ContainsKey( skillId ) )
			{
				_skilllevelRecord = AsTableManager.Instance.GetTbl_SkillLevel_Record( SkillBook.Instance.dicActive[skillId].nSkillLevel, skillId );
				if( null != _skilllevelRecord )
				{
					_maxTime = _skilllevelRecord.CoolTime;
				}
			}
		}
		
		if( _maxTime < _time )
		{
			_maxTime = _time;
		}
		
		
		if( true == m_CoolTimeGroupList.ContainsKey( coolgroup ) )
		{
			//m_CoolTimeGroupList[ coolgroup ].SetInitcoolTime((float)_time * 0.001f);
			//m_CoolTimeGroupList[ coolgroup ].ActionCoolTime();		
			m_CoolTimeGroupList[ coolgroup ].RemainCooltime( _time, _maxTime );
			SkillDelegatorCooltime( skillRecord );
			return;
		}
		
		CoolTimeGroup coolTimeGroup = new CoolTimeGroup( coolgroup, (float)_time * 0.001f );
		//coolTimeGroup.ActionCoolTime();
		coolTimeGroup.RemainCooltime( _time, _maxTime );		
		m_CoolTimeGroupList.Add( coolgroup, coolTimeGroup );
		
		SkillDelegatorCooltime( skillRecord );
	}
Пример #4
0
	/*public float CoolTime
	{
		get	{ return coolTime; }
		set
		{
			coolTime = value * 0.001f;
			remain = coolTime;
		}
	}*/
	
	
	public void SetCoolTime( int iSkill, int iSkillLevel )
	{		
		txt.Text = string.Empty;
		m_coolTimeGroup = CoolTimeGroupMgr.Instance.GetCoolTimeGroup( iSkill, iSkillLevel );		
		m_isCoolStart = true;
	}
Пример #5
0
	/*public CoolTimeGroup GetCoolTimeGroup( int iGroupId )
	{
		if( false == m_CoolTimeGroupList.ContainsKey( iGroupId ) )
		{
			AsUtil.ShutDown("SetCoolTimeGroup()[ true == m_CoolTimeGroupList.ContainsKey ] id : " + iGroupId );
			return null;
		}
		
		return m_CoolTimeGroupList[iGroupId];
	}*/
	
	
	
	public CoolTimeGroup GetCoolTimeGroup( int iCoolGroupID, int iSkillID, int iSkillLevelID )
	{
		if( true == m_CoolTimeGroupList.ContainsKey( iCoolGroupID ) )
			return m_CoolTimeGroupList[iCoolGroupID];
		
		float fInitCoolTime = 1.0f;
		
		Tbl_SkillLevel_Record skillData = AsTableManager.Instance.GetTbl_SkillLevel_Record( iSkillLevelID, iSkillID );
		if( null == skillData )
		{
			Debug.LogError("CoolTimeGroupMgr::GetCoolTimeGroup() [ null == skillData ] skill id : " + iSkillID + " skilllevel id : " + iSkillLevelID + " group : " + iCoolGroupID );
			return null;
		}
		
		fInitCoolTime = skillData.CoolTime * 0.001f;
		if( 0 >= fInitCoolTime )
		{
			Debug.LogError("CoolTimeGroupMgr::GetCoolTimeGroup() [ 0 >= fInitCoolTime  ] skill id : " + iSkillID + " time :" + skillData.CoolTime + " group : " + iCoolGroupID );			
			return null;
		}
		
		
		CoolTimeGroup coolTimeGroup = new CoolTimeGroup( iCoolGroupID, fInitCoolTime );
		m_CoolTimeGroupList.Add( iCoolGroupID, coolTimeGroup );
		
		return coolTimeGroup;		
	}