//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);////////// }
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(); } }
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 ); }
/*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; }
/*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; }