예제 #1
0
	void OnMaleBtn()
	{
		AsSoundManager.Instance.PlaySound( "Sound/Interface/S6002_EFF_Button", Vector3.zero, false);
		gender = eGENDER.eGENDER_MALE;
		maleBtn.Value = true;
		femaleBtn.Value = false;
	}
예제 #2
0
	public override bool SetPartsItem( int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass, PartsRoot _partsRoot )
	{
		if( false == base.SetPartsItem( _nItemTableIdx, _nStrengthenCount, _eGender, eClass, _partsRoot ) )
			return false;	
		
		SetNeedResetParts(true);		
		return true;
	}
예제 #3
0
    public override bool SetPartsItem( int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass, PartsRoot _partsRoot )
    {
		if( false == base.SetPartsItem( _nItemTableIdx, _nStrengthenCount, _eGender, eClass, _partsRoot ) )
			return false;
		
		if( null != AssetbundleManager.Instance && true == AssetbundleManager.Instance.useAssetbundle)
		{
			SetNeedResetParts(true);
			return true;
		}
		
		
		if( false == (getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender) )
		{
			Debug.Log(" WeaponElement::SetPartsItem() [getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender]");
			return false;
		}
		
		
		
		string strPartItem = string.Empty;
		if( eGENDER.eGENDER_MALE == _eGender )
		{
			strPartItem = getItem.ItemData.GetPartsItem_M();
			if (null == strPartItem)
	        {
	            Debug.LogError("PartsItem don't find [ null == strPartItem ] " );            
	            return false;
	        }
		}
		else
		{
			strPartItem = getItem.ItemData.GetPartsItem_W();			
			if (null == strPartItem)
	        {
	            Debug.LogError("PartsItem don't find [ null == strPartItem ] ");            
	            return false;
	        }
		}       
		
		if( -1 != m_EffectIdx )
		{
			AsEffectManager.Instance.RemoveEffectEntity( m_EffectIdx );
		}
		
		float fScale = 1f;
		if( null == _partsRoot )
			return false;		
		
		fScale = _partsRoot.transform.localScale.x;	
       	m_EffectIdx = AsEffectManager.Instance.PlayEffect( strPartItem, _partsRoot.transform, true, 0f, fScale);
		AsEffectManager.Instance.AddAttachEffectUser(m_EffectIdx, _partsRoot.getOwnerUniqKey );
		
		if( -1 == m_EffectIdx )
			return false;
		return true;
    }
예제 #4
0
	public AnimationEventInfo(eCLASS _class, eGENDER _gender, string _name, eAnimEvent _event, float _timing)
	{
//		race_ = _race;
		class_ = _class;
		gender_ = _gender;
		name_ = _name;
		
		event_ = _event;
		timing_ = _timing;
	}
예제 #5
0
	public Dictionary<string, List<AnimationEventInfo>> GetEventDic(eCLASS _class, eGENDER _gender)
	{
		if(m_dicEvents.ContainsKey(_class) == true)
		{
			if(m_dicEvents[_class].ContainsKey(_gender) == true)
			{
				return m_dicEvents[_class][_gender];
			}
		}
		
//		Debug.LogError("AnimationEventAsset::GetEventList: event not registered is requested. [" + _class + "][" + _gender + "]");
		return null;
	}
예제 #6
0
	public List<AnimationEventInfo> GetEventList(eCLASS _class, eGENDER _gender, string _name)
	{
//		if(m_dicEvents == null)
//			SetEventDictionary();
		
		if(m_dicEvents.ContainsKey(_class) == true)
		{
			if(m_dicEvents[_class].ContainsKey(_gender) == true)
			{
				if(m_dicEvents[_class][_gender].ContainsKey(_name) == true)
				{
					if(m_dicEvents[_class][_gender][_name] != null)
						return m_dicEvents[_class][_gender][_name];
				}
			}
		}
		
//		Debug.LogError("AnimationEventAsset::GetEventList: event not registered is requested. [" + _class + "][" + _gender + "][" + _name + "]");
		return null;
	}
예제 #7
0
	public CharacterLoadData( ushort _sessionKey, sCHARVIEWDATA _data)
	{
		creationType_ = eCreationType.CHAR_LOAD_RESULT;
		
		sessionKey_ = _sessionKey;
		uniqKey_ = _data.nCharUniqKey;
		
		if(uniqKey_ == AsUserInfo.Instance.nPrivateShopOpenCharUniqKey && AsUserInfo.Instance.nPrivateShopOpenCharUniqKey != 0)
		{
			shopOpening_ = true;
//			shopUId_ = AsUserInfo.Instance.np
			Debug.Log("CharacterLoadData::ctor: Shop opening(id:" + uniqKey_);
		}
		
		charName_ = AsUtil.GetRealString( Encoding.UTF8.GetString( _data.szCharName));
		guildName_ = "";
		
		race_ = (int)_data.eRace;
		class_ = (int)_data.eClass;
		gender_ = _data.eGender;
		level_ = _data.nLevel;	
		nHairItemIndex = _data.nHair + _data.nHairColor;
		
		bCostumeOnOff = _data.bCostumeOnOff;
		sCharView = new sITEMVIEW[ AsGameDefine.ITEM_SLOT_VIEW_COUNT];
		sCharView[0] = _data.sNormalItemVeiw_1;
		sCharView[1] = _data.sNormalItemVeiw_2;
		sCharView[2] = _data.sNormalItemVeiw_3;
		sCharView[3] = _data.sNormalItemVeiw_4;
		sCharView[4] = _data.sNormalItemVeiw_5;
		
		sCosItemView = new sITEMVIEW[ AsGameDefine.ITEM_SLOT_COS_VIEW_COUNT];
		sCosItemView[0] = _data.sCosItemView_1;
		sCosItemView[1] = _data.sCosItemView_2;
		sCosItemView[2] = _data.sCosItemView_3;
		sCosItemView[3] = _data.sCosItemView_4;
		sCosItemView[4] = _data.sCosItemView_5;
		sCosItemView[5] = _data.sCosItemView_6;
		sCosItemView[6] = _data.sCosItemView_7;
	}
예제 #8
0
	// Use this for initialization
	void Start()
	{
		title.Text = AsTableManager.Instance.GetTbl_String(4202);
		info.Text = AsTableManager.Instance.GetTbl_String(4204);
		confirmBtn.Text = AsTableManager.Instance.GetTbl_String(4201);

		gender = AsUserInfo.Instance.accountGender;
		switch( gender)
		{
		case eGENDER.eGENDER_NOTHING:
		case eGENDER.eGENDER_MALE:
			maleBtn.Value = true;
			femaleBtn.Value = false;
			gender = eGENDER.eGENDER_MALE;
			break;
		case eGENDER.eGENDER_FEMALE:
			maleBtn.Value = false;
			femaleBtn.Value = true;
			gender = eGENDER.eGENDER_FEMALE;
			break;
		}
	}
예제 #9
0
	// virtual 
	public virtual bool SetPartsItem( int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass, PartsRoot _partsRoot )
	{		
		m_Item = ItemMgr.ItemManagement.GetItem( _nItemTableIdx );
		if( null == m_Item )
		{
			SetEmpty();
			Debug.LogError("SetPartsItem() [null == item] index : " + _nItemTableIdx );
			return false;
		}			
		
		
		
		if( m_Item.ItemData.GetSubType() != (int)getEquip )
		{
			SetEmpty();
			Debug.LogError("SetPartsItem() [m_Item.ItemData.GetSubType() != m_eEquipType]item id: " + m_Item.ItemID 
				+ "  cur equip : " + getEquip
				+ " [item equip : " + (Item.eEQUIP)m_Item.ItemData.GetSubType() );
			return false;
		}
		
		return true;
	}	
예제 #10
0
	protected void CreateRenderTarget(eCLASS _eClass, eGENDER _gender, params int[] _partsIDs)
	{
		if (null == objCategoryListItem)
			return;

		if (null != AsHudDlgMgr.Instance.cashShopEntity)
		{
			AsEntityManager.Instance.RemoveEntity(AsHudDlgMgr.Instance.cashShopEntity);
			AsHudDlgMgr.Instance.cashShopEntity = null;
		}

		m_isShowInit = true;
		m_PartsRot = 300f;

		AS_SC_OTHER_CHAR_APPEAR_2 appear = new AS_SC_OTHER_CHAR_APPEAR_2();
		appear.nCharUniqKey = uint.MaxValue;
		appear.eClass = (int)_eClass;
		appear.eGender = _gender;
		appear.eRace = (int)AsEntityManager.Instance.UserEntity.GetProperty<eRACE>(eComponentProperty.RACE);
		Tbl_Class_Record record = AsTableManager.Instance.GetTbl_Class_Record((eRACE)appear.eRace, (eCLASS)appear.eClass);
		if (null != record)
			appear.nMoveSpeed = (int)record.MoveSpeed;

		appear.bCostumeOnOff = PartsRoot.GetCosOnDef();
		appear.sNormalItemVeiw_1 = new sITEMVIEW();
		appear.sNormalItemVeiw_2 = new sITEMVIEW();
		appear.sNormalItemVeiw_3 = new sITEMVIEW();
		appear.sNormalItemVeiw_4 = new sITEMVIEW();
		appear.sNormalItemVeiw_5 = new sITEMVIEW();

		appear.sCosItemView_1 = new sITEMVIEW();
		appear.sCosItemView_2 = new sITEMVIEW();
		appear.sCosItemView_3 = new sITEMVIEW();
		appear.sCosItemView_4 = new sITEMVIEW();
		appear.sCosItemView_5 = new sITEMVIEW();
		appear.sCosItemView_6 = new sITEMVIEW();
		appear.sCosItemView_7 = new sITEMVIEW();
		appear.fHpMax = 100f;
		appear.fHpCur = 100f;

		int count = 0;
		foreach (int id in _partsIDs)
		{
			Item _item = ItemMgr.ItemManagement.GetItem(id);
			if (null == _item)
				continue;

			if (_item.ItemData.GetItemType() == Item.eITEM_TYPE.UseItem &&
				_item.ItemData.GetSubType() == (int)Item.eUSE_ITEM.ConsumeHair &&
				_item.ItemData.needClass == _eClass &&
				count == 0)
			{
				Item hairItem = ItemMgr.ItemManagement.GetItem(_item.ItemData.m_iItem_Rand_ID);

				if (hairItem != null)
				{
					if (hairItem.ItemData.GetItemType() == Item.eITEM_TYPE.EquipItem && hairItem.ItemData.GetSubType() == (int)Item.eEQUIP.Hair)
						appear.nHair = hairItem.ItemID;
				}

				continue;
			}

			count++;

			if (Item.eITEM_TYPE.CosEquipItem != _item.ItemData.GetItemType() && Item.eITEM_TYPE.EquipItem != _item.ItemData.GetItemType())
				continue;

			switch ((Item.eEQUIP)_item.ItemData.GetSubType())
			{
				case Item.eEQUIP.Weapon:
					appear.sNormalItemVeiw_1.nItemTableIdx = PartsRoot.GetDefWeaponItemID(_eClass);
					appear.sCosItemView_1.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Head:
					appear.sCosItemView_2.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Armor:
					appear.sCosItemView_3.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Gloves:
					appear.sCosItemView_4.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Point:
					appear.sCosItemView_5.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Fairy:
					appear.sCosItemView_7.nItemTableIdx = id;
					break;

				case Item.eEQUIP.Wing:
					appear.sCosItemView_6.nItemTableIdx = id;
					break;
			}
		}


		OtherCharacterAppearData creationData = new OtherCharacterAppearData(appear);
		creationData.notRegisterMgr = true;

		AsHudDlgMgr.Instance.cashShopEntity = AsEntityManager.Instance.CreateUserEntity("OtherUser", creationData, true, true, 3f);


		if (null != leftRot)
			leftRot.AddInputDelegate(leftRotDelegate);

		if (null != rightRot)
			rightRot.AddInputDelegate(rightRotDelegate);

		m_isLeftRot = false;
		m_isRightRot = false;
		m_fEffectDlayTime = 0f;
	}
예제 #11
0
	public AsCharacterCreateGenderData GetGenderData( eRACE _race, eCLASS _class, eGENDER _gender)
	{
		if( false == dicRace.ContainsKey( _race))
			return null;
		
		AsCharacterCreateData data = dicRace[ _race];
		AsCharacterCreateClassData classData = data.GetData( _class);
		if( null == classData)
			return null;
		
		AsCharacterCreateGenderData genderData = classData.GetData( _gender);
		if( null == genderData)
			return null;
		
		return genderData;
	}
예제 #12
0
	public Tbl_Action_Record GetRecord(eCLASS _class, eGENDER _gender, string _act)
	{
		if(m_dddicAction.ContainsKey(_class) == true)
		{
			if(m_dddicAction[_class].ContainsKey(_gender) == true)
			{
				if(m_dddicAction[_class][_gender].ContainsKey(_act) == true)
				{
					return m_dddicAction[_class][_gender][_act];
				}
			}
		}
		
		Debug.LogError("[Tbl_ActionList_Table]GetRecord: there is no record = " + _class + ", " + _gender + ", " + _act);
		return null;
	}
예제 #13
0
//	public CharacterLoadData(ushort _sessionKey, AS_GC_CHAR_LOAD_RESULT_2 _data)
//	{
//		creationType_ = eCreationType.CHAR_LOAD_RESULT;
//		
//		sessionKey_ = _sessionKey;
//		uniqKey_ = _data.nCharUniqKey;
//		charName_ = Encoding.UTF8.GetString(_data.szCharName);
//		
//		
//		race_ = _data.eRace;
//		class_ = _data.eClass;
////		gender_ = _data.gen;
//		level_ = _data.nLevel;
//		totExp_ = _data.nTotExp;
//		
//		hpCur_ = _data.nHpCur;
//		hpMax_ = _data.nHpMax;
//		mpCur_ = _data.nMpCur;
//		mpMax_ = _data.nMpMax;
//		
//		moveSpeed_ = _data.fMoveSpeed;
//		attackRange_ = _data.fAttDistance;
//	}
	
	public CharacterLoadData( ushort _sessionKey, body_GC_CHAR_SELECT_RESULT_2 _data)
	{
		creationType_ = eCreationType.CHAR_LOAD_RESULT;
		sessionKey_ = _sessionKey;
		uniqKey_ = _data.nCharUniqKey;
		if(uniqKey_ == AsUserInfo.Instance.nPrivateShopOpenCharUniqKey)
		{
			shopOpening_ = true;
			Debug.Log("CharacterLoadData::ctor: Shop opening(id:" + uniqKey_ + ")");
		}
		charName_ = AsUtil.GetRealString( Encoding.UTF8.GetString( _data.szCharName));
		guildName_ = AsUtil.GetRealString( Encoding.UTF8.GetString( _data.szGuildName));
		gender_ = _data.eGender;
		race_ = _data.eRace;
		class_ = _data.eClass;
		gender_ = _data.eGender;
		level_ = _data.nLevel;
		totExp_ = _data.nTotExp;
		hpCur_ = _data.nHpCur;
		mpCur_ = _data.nMpCur;
		moveSpeed_ = _data.sFinalStatus.nMoveSpeed * 0.01f;
		attackRange_ = _data.fAttDistance * 0.01f;
		sDefaultStatus = _data.sDefaultStatus;
		sFinalStatus = _data.sFinalStatus;
		nHairItemIndex = _data.nHair + _data.nHairColor;
		bCostumeOnOff = AsUserInfo.Instance.isCostumeOnOff;
		sCharView = AsUserInfo.Instance.getItemViews;
		sCosItemView = AsUserInfo.Instance.getCosItemView;
		nGold = _data.nGold;
		//nSphere = _data.nSphere;
		#region -Designation
		designationID = _data.nSubTitleTableIdx;
		bSubtitleHide = _data.bSubTitleHide;
		#endregion
	}
예제 #14
0
    public override bool SetPartsItem( int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass, PartsRoot _partsRoot )
    {
		if( false == base.SetPartsItem( _nItemTableIdx, _nStrengthenCount, _eGender, eClass, _partsRoot ) )
			return false;
		
		//m_nStrengthenCount = _nStrengthenCount;
		
		if( null != AssetbundleManager.Instance && true == AssetbundleManager.Instance.useAssetbundle)
		{
			SetNeedResetParts(true);
			return true;
		}
		
		if( false == (getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender) )
		{
			Debug.Log(" WeaponElement::SetPartsItem() [getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender]");
			return false;
		}	
		
		
		/*GameObject goPartsItem = null;
		if( eGENDER.eGENDER_MALE == _eGender )
		{
			goPartsItem = getItem.GetPartsItem_M();				
			if (null == goPartsItem)
	        {
	            Debug.LogError("PartsItem don't find [ name : " + getItem.ItemData.GetPartsItem_M() );            
	            return false;
	        }
		}
		else
		{
			goPartsItem = getItem.GetPartsItem_W();	
			
			if (null == goPartsItem)
	        {
	            Debug.LogError("PartsItem don't find [ name : " + getItem.ItemData.GetPartsItem_W() );            
	            return false;
	        }
		}       

       

        if (null != m_goWeapon)
            GameObject.Destroy(m_goWeapon);

        m_goWeapon = GameObject.Instantiate(goPartsItem, Vector3.zero, Quaternion.identity) as GameObject;	
		

        m_goWeapon.transform.parent = m_BoneTransform;
		m_goWeapon.transform.localPosition = Vector3.zero;
		m_goWeapon.transform.localRotation = Quaternion.identity;
		m_goWeapon.transform.localScale = Vector3.one;	
		
		if( null != m_PartsRoot )
		{
			_nStrengthenCount = m_PartsRoot.getStrengthenCount;
		}
		else	
		{
			Debug.LogError("WeaponElement::SetPartsItem()[ null != m_PartsRoot ]");
		}
		
		string strEffectName = GetString( eClass, _nStrengthenCount );	
		
		if( null != strEffectName && string.Empty != strEffectName )
		{
			float fScale = 1f;
			if( null != _partsRoot )
			{
				fScale = _partsRoot.transform.localScale.x;	
			}
			int id = AsEffectManager.Instance.PlayEffect( strEffectName, m_goWeapon.transform, true, 0f, fScale ); //dopamin #17440
			AsEffectManager.Instance.AddAttachEffectUser(id, _partsRoot.getOwnerUniqKey );
		}*/
		
		string path_model;
		string path_texture;
		
		if( eGENDER.eGENDER_MALE == _eGender )
		{
			path_model = getItem.ItemData.GetPartsItem_M();
			path_texture = getItem.ItemData.GetPartsItemDiff_M();
		}
		else
		{
			path_model = getItem.ItemData.GetPartsItem_W();
			path_texture = getItem.ItemData.GetPartsItemDiff_W();
		}
		
		SetGameObject( ResourceLoad.CreateGameObject( path_model ), ResourceLoad.Loadtexture(path_texture), eClass, _partsRoot );

        return true;
    }
예제 #15
0
	private void UpdateGender( eGENDER gender)
	{
#if !NEW_DELEGATE_IMAGE
		if( eGENDER.eGENDER_NOTHING == gender)
		{
			genders[0].renderer.enabled = false;
			genders[1].renderer.enabled = false;
		}
		else
		{
			int lineCount = NameText.GetDisplayLineCount();

			if( eGENDER.eGENDER_MALE == gender)
			{
				if( 1 < lineCount)
				{
					float textHeight = NameText.lineSpacing * lineCount;
					genders[0].transform.localPosition = new Vector3( -( ( NameText.TotalWidth + genders[0].width) * 0.5f), ( textHeight - genders[0].height) * 0.5f, 0.0f);
				}
				else
				{
					genders[0].transform.localPosition = new Vector3( -( ( NameText.TotalWidth + genders[0].width) * 0.5f), 0.0f, 0.0f);
				}
				genders[0].renderer.enabled = true;
				genders[1].renderer.enabled = false;
			}
			else
			{
				if( 1 < lineCount)
				{
					float textHeight = NameText.lineSpacing * lineCount;
					genders[1].transform.localPosition = new Vector3( -( ( NameText.TotalWidth + genders[0].width) * 0.5f), ( textHeight - genders[0].height) * 0.5f, 0.0f);
				}
				else
				{
					genders[1].transform.localPosition = new Vector3( -( ( NameText.TotalWidth + genders[0].width) * 0.5f), 0.0f, 0.0f);
				}
				genders[0].renderer.enabled = false;
				genders[1].renderer.enabled = true;
			}
		}
#endif
	}
예제 #16
0
	public Msg_Player_Skill_Ready( Tbl_Skill_Record _record, eGENDER _gender, int _step/* = 1 */,
		AsBaseEntity _pickedEntity, Vector3 _picked,
		Vector3 _head, Vector3 _center, Vector3 _tail, Vector3 _dir, eClockWise _cw)
	{
		m_MessageType = eMessageType.PLAYER_SKILL_READY;

		pickedEntity_ = _pickedEntity;
		picked_ = _picked;

		head_ = _head;
		center_ = _center;
		tail_ = _tail;

		direction_ = _dir;

		skillRecord_ = _record;
		if( skillRecord_ != null)
		{
			skillLv_ = SkillBook.Instance.GetSkillLevel( skillRecord_);

			skillLvRecord_ = AsTableManager.Instance.GetTbl_SkillLevel_Record( skillLv_, skillRecord_.Index, _step);

			int actionIdx = -1;
			if( _gender == eGENDER.eGENDER_MALE)
			{
				if( cw_ == eClockWise.CW)
					actionIdx = skillLvRecord_.SkillAction_Index;
				else
					actionIdx = skillLvRecord_.SkillActionCCW_Index;
			}
			else if( _gender == eGENDER.eGENDER_FEMALE)
			{
				if( cw_ == eClockWise.CW)
					actionIdx = skillLvRecord_.SkillAction_Index_Female;
				else
					actionIdx = skillLvRecord_.SkillActionCCW_Index_Female;
			}

			actionRecord_ = AsTableManager.Instance.GetTbl_Action_Record( actionIdx);

			if( skillLvRecord_ != null || actionRecord_ != null)
			{
				constructSucceed_ = true;
				return;
			}
		}
	}
예제 #17
0
	//constructor
	public Msg_Player_Skill_Ready( eCLASS _class, eSKILL_TYPE _type, eCommand_Type _command, eGENDER _gender,
		AsBaseEntity _pickedEntity, Vector3 _picked,
		Vector3 _head, Vector3 _center, Vector3 _tail,
		Vector3 _dir, eClockWise _cw)
	{
		m_MessageType = eMessageType.PLAYER_SKILL_READY;

		pickedEntity_ = _pickedEntity;
		picked_ = _picked;

		head_ = _head;
		center_ = _center;
		tail_ = _tail;

		direction_ = _dir;

		cw_ = _cw;

		switch( _type)
		{
		case eSKILL_TYPE.Base:
			skillRecord_ = AsTableManager.Instance.GetRandomBaseSkill( _class);
			break;
		case eSKILL_TYPE.Command:
			skillRecord_ = SkillBook.Instance.GetLearnedCommandSkill( _command);
			break;
		default:
			Debug.LogError( "Msg_Player_Skill_Ready::Msg_Player_Skill_Ready(): [class]" + _class + ",[type]" +
				_type + ",[command]" + _command +
				",[head_]" + _head + ",[center_]" + _center + ",[tail_]" + _tail + ",[direction]" + direction_);
			break;
		}

		if( skillRecord_ != null)
		{
			skillLv_ = SkillBook.Instance.GetSkillLevel( skillRecord_);

			skillLvRecord_ = AsTableManager.Instance.GetTbl_SkillLevel_Record( skillLv_, skillRecord_.Index);

			int actionIdx = -1;
			if( _gender == eGENDER.eGENDER_MALE)
			{
				if( cw_ == eClockWise.CW)
					actionIdx = skillLvRecord_.SkillAction_Index;
				else
					actionIdx = skillLvRecord_.SkillActionCCW_Index;
			}
			else if( _gender == eGENDER.eGENDER_FEMALE)
			{
				if( cw_ == eClockWise.CW)
					actionIdx = skillLvRecord_.SkillAction_Index_Female;
				else
					actionIdx = skillLvRecord_.SkillActionCCW_Index_Female;
			}

			actionRecord_ = AsTableManager.Instance.GetTbl_Action_Record( actionIdx);

			if( skillLvRecord_ != null || actionRecord_ != null)
			{
				constructSucceed_ = true;
				return;
			}
		}
	}
예제 #18
0
	public Msg_Player_Skill_Ready( ItemData _data, int _slot, eGENDER _gender)
	{
		m_MessageType = eMessageType.PLAYER_SKILL_READY;

		head_ = Vector3.zero;
		center_ = Vector3.zero;
		tail_ = Vector3.zero;

		direction_ = Vector3.zero;

		skillRecord_ = AsTableManager.Instance.GetTbl_Skill_Record( _data.itemSkill);

		skillLv_ = _data.itemSkillLevel;
		skillLvRecord_ = AsTableManager.Instance.GetTbl_SkillLevel_Record( skillLv_, _data.itemSkill);

		int actionIdx = -1;
		if( _gender == eGENDER.eGENDER_MALE)
			actionIdx = skillLvRecord_.SkillAction_Index;
		else if( _gender == eGENDER.eGENDER_FEMALE)
			actionIdx = skillLvRecord_.SkillAction_Index_Female;

		actionRecord_ = AsTableManager.Instance.GetTbl_Action_Record( actionIdx);

		if( actionRecord_.HitAnimation != null &&
			actionRecord_.HitAnimation.FileName == "NonAnimation")
			constructSucceed_ = false;
		else
			constructSucceed_ = true;

		itemSlot_ = _slot;
	}
예제 #19
0
	// create	
    public bool Create( string strBonePath, eGENDER eGender, eCLASS _class, uint _nCharUniqKey )
    {
		float tempTime = 0;//$yde
		
		if( null != m_goBone )
		{
			Debug.LogError("null != m_goBone");
			return false;			
		}
		
		m_CurGender = eGender;
		m_nCharUniqKey = _nCharUniqKey;
		m_CurClass = _class;
					
        // load boneRoot
		tempTime = Time.realtimeSinceStartup;//$yde
		GameObject goBone = ResourceLoad.LoadGameObject(strBonePath);
        if( null == goBone )
        {
            Debug.LogError("PartsRoot::Create() [ null == goBone ] filepath : " + strBonePath );
            return false;
        }
		Debug.Log("PartsRoot::Create: ResourceLoad.LoadGameObject(strBonePath)'s elapsed time = " + (Time.realtimeSinceStartup - tempTime));//$yde
		
		// create boneRoot
		tempTime = Time.realtimeSinceStartup;//$yde
        m_goBone = GameObject.Instantiate(goBone, Vector3.zero, Quaternion.identity) as GameObject;
        if (null == m_goBone)
        {
            Debug.LogError("PartsRoot::Create() [ null == m_goBone ]");
            return false;
        }
		Debug.Log("PartsRoot::Create: GameObject.Instantiate(goBone, Vector3.zero, Quaternion.identity) as GameObject's  elapsed time = " + (Time.realtimeSinceStartup - tempTime));//$yde
			
		// attach boneRoot
      	m_goBone.transform.parent = transform; 
		m_goBone.transform.localScale = Vector3.one;
		m_goBone.transform.localPosition = Vector3.zero;
		m_goBone.transform.localRotation = Quaternion.identity;
		
			
		// bones
		tempTime = Time.realtimeSinceStartup;//$yde
        m_BoneTransforms = m_goBone.GetComponentsInChildren<Transform>();
		if( null == m_BoneTransforms )
		{
			Debug.LogError("PartsRoot::Create() [ null == m_BoneTransforms ]");
            return false;
		}
		Debug.Log("PartsRoot::Create: m_goBone.GetComponentsInChildren<Transform>()'s  elapsed time = " + (Time.realtimeSinceStartup - tempTime));//$yde
        
		// skinnedMeshRenderer
		tempTime = Time.realtimeSinceStartup;//$yde
		m_SkinnedMeshRenderer =m_goBone.GetComponentInChildren<SkinnedMeshRenderer>();
		if( null == m_SkinnedMeshRenderer )
        	m_SkinnedMeshRenderer = m_goBone.AddComponent<SkinnedMeshRenderer>();
		//m_SkinnedMeshRenderer.updateWhenOffscreen = true;
		//m_SkinnedMeshRenderer.sharedMesh = new Mesh();
		Debug.Log("PartsRoot::Create: m_goBone.GetComponentsInChildren<Transform>()'s  elapsed time = " + (Time.realtimeSinceStartup - tempTime));//$yde
		
		
		// weapon attach
		tempTime = Time.realtimeSinceStartup;//$yde
		m_PartsList.Add( Item.eEQUIP.Weapon, new WeaponElement( m_goBone.transform, "DummyCharacterWeapon_R", this) );	
		m_PartsList.Add( Item.eEQUIP.Wing, new WingElement( m_goBone.transform, "DummyCharacterChest") );
		m_PartsList.Add( Item.eEQUIP.Fairy, new FairyElement() );
		Debug.Log("PartsRoot::Create: m_goBone.GetComponentsInChildren<Transform>()'s  elapsed time = " + (Time.realtimeSinceStartup - tempTime));//$yde
		
			
		m_LoadList.Clear();
		m_LoadList.Add( Item.eEQUIP.Head );
		m_LoadList.Add( Item.eEQUIP.Armor );
		m_LoadList.Add( Item.eEQUIP.Gloves );
		m_LoadList.Add( Item.eEQUIP.Point );
		//m_LoadList.Add( Item.eEQUIP.Earring );
		//m_LoadList.Add( Item.eEQUIP.Necklace );
		//m_LoadList.Add( Item.eEQUIP.Ring );
		//m_LoadList.Add( Item.eEQUIP.SubAcc );
		m_LoadList.Add( Item.eEQUIP.Hair );
		m_LoadList.Add( Item.eEQUIP.Face );
		m_LoadList.Add( Item.eEQUIP.Fairy );
		m_LoadList.Add( Item.eEQUIP.Wing );
		m_LoadList.Add( Item.eEQUIP.Weapon );
		
       	return true;
    }
예제 #20
0
	public Tbl_Action_Record GetTbl_Action_Record( eCLASS _class, eGENDER _gender, string _act)
	{
		return m_Tbl_Action.GetRecord( _class, _gender, _act);
	}
예제 #21
0
	public OtherCharacterAppearData(AS_SC_OTHER_CHAR_APPEAR_2 _data)
	{
		creationType_ = eCreationType.OTHER_CHAR_APPEAR;
		
		sessionKey_ = _data.nSessionIdx;
		uniqKey_ = _data.nCharUniqKey;
		charName_ = Encoding.UTF8.GetString(_data.szCharName);
		guildName_ = Encoding.UTF8.GetString( _data.szGuildName);
		
		race_ = _data.eRace;
		class_ = _data.eClass;
#if !NEW_DELEGATE_IMAGE
		userGender = _data.eUserGender;
#endif
		gender_ = _data.eGender;
		#region -GMMark
		isGM = _data.bIsGM;
		#endregion
		hair_ = _data.nHair;
		hairColor_ = _data.nHairColor;
		
		level_ = _data.nLevel;
//		totExp_ = _data.nTotExp;
		
		hpCur_ = _data.fHpCur;
		hpMax_ = _data.fHpMax;
//		mpCur_ = _data.nMpCur;
//		mpMax_ = _data.nMpMax;
		designationID = _data.nSubTitleTableIdx;
		
		moveSpeed_ = _data.nMoveSpeed * 0.01f;
		atkSpeed_ = _data.nAtkSpeed;
		
		curPosition_ = _data.sCurPosition;
		destPosition_ = _data.sDestPosition;
//		attDistance_ = _data.fAttDistance;
		
		surverData = _data;
		
//		shopOpening_ = _data.bIsPrivateShop;
		if(shopOpening_ == true)
			Debug.Log("OtherCharacterAppearData::ctor: Shop opening(id:" + uniqKey_);
		
		hide_ = _data.bHide;
		//nPvpPoint_ = _data.nPvpPoint;
		nYesterdayPvpRank = _data.nYesterdayPvpRank;
		nYesterdayPvpPoint = _data.nYesterdayPvpPoint;
		nYesterdayPvpRankRate = _data.nYesterdayPvpRankRate;
#if !NEW_DELEGATE_IMAGE
		nRankPoint_ = _data.nRankPoint;
#endif
		bSubTitleHide = _data.bSubTitleHide;
		
		criticalChance = _data.bCriticalChance;
		dodgeChance = _data.bDodgeChance;
		nPetTableIdx_ = _data.nPetTableIdx;
		szPetName_ = _data.szPetName;
		sPetItem_ = _data.sPetItem;
//		nPetLevel = _data.nPetLevel;

#if NEW_DELEGATE_IMAGE
		nDelegateImageTableIndex = _data.nDelegateImageTableIndex;
#endif
	}
예제 #22
0
	public Tbl_Action_Animation GetTbl_Action_Animation( eCLASS _class, eGENDER _gender, string _animName)
	{
		return m_Tbl_Action.GetActionAnimation( _class, _gender, _animName);
	}
예제 #23
0
	public MeshElement( Item.eEQUIP _equip, int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass )
	{			
		m_eEquipType = _equip;
		SetPartsItem( _nItemTableIdx, _nStrengthenCount, _eGender, eClass, null );
	}	
예제 #24
0
//	public Tbl_MonsterPassive_Record GetTbl_MonsterPassive_Record( int _id)
//	{
//		return m_Tbl_MonsterPassive.GetRecord( _id);
//	}
	#endregion

	#region - create character -
//	public Tbl_CreateCharacter_Record GetTbl_CreateCharacter_Record( int _id)
//	{
//		return m_Tbl_CreateCharacter.GetRecord( _id);
//	}
	public AsCharacterCreateGenderData GetTbl_CreateCharacter_GenderData( eRACE _race, eCLASS _class, eGENDER _gender)
	{
		return m_Tbl_CreateCharacter.GetGenderData( _race, _class, _gender);
	}
예제 #25
0
	public override void CreateData( eGENDER eGender )
	{
		if( false == isNeedResetParts )
			return;
		
		if( false == isHavePartsItem )				
			return;
		
		
		if( false == (getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == eGender ) )
		{
			Debug.Log(" MeshElement::CreateData() [getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == eGender");
			return;
		}		
		
		GameObject goPartsItem = null;
		Texture texDiff = null;
		if( eGENDER.eGENDER_MALE == eGender )
		{
			goPartsItem = getItem.GetPartsItem_M();
			texDiff = getItem.GetPartsDiff_M();
		}
		else
		{
			goPartsItem = getItem.GetPartsItem_W();
			texDiff = getItem.GetPartsDiff_W();
		}

        if (null == goPartsItem)
		{
			Debug.LogError("PartsItem don't find [ item id : " + getItem.ItemData.GetID() );
			return;
		}
			
		goPartsItem = GameObject.Instantiate(goPartsItem) as GameObject;	
        SkinnedMeshRenderer smr = goPartsItem.GetComponentInChildren<SkinnedMeshRenderer>();
        if (null == smr)
        {
            Debug.LogError(" MeshElement::CreateData()[ null == smr] itemid : " + getItem.ItemID + " itemtype : " + (Item.eEQUIP)getItem.ItemData.GetSubType() );
			GameObject.Destroy(goPartsItem);
            return;
        }
		
		if( 0 >= smr.materials.Length )
		{
			Debug.LogError(" MeshElement::CreateData()[ smr.materials empty ] itemid : " + getItem.ItemID + " itemtype : " + (Item.eEQUIP)getItem.ItemData.GetSubType());
			return;
		}
		
		// material 	
        smr.materials[0].SetTexture("_maintex", texDiff);        
        m_Materials = smr.materials;
		
		// mesh		
		m_resMesh = smr.sharedMesh;
		
		
		
		// bones 
		m_bones = new List<string>();
		//m_bones.Clear();
		foreach( Transform tr in smr.bones )
		{
			m_bones.Add( tr.name );
		}
		
		GameObject.DestroyObject(goPartsItem);		
		SetNeedResetParts( false );
	}
예제 #26
0
//	public int GetRandomString()
//	{
//		return m_ChatString[UnityEngine.Random.Range(0, 3)];
//	}
	
	public int GetRandomString(eGENDER _gender)
	{
		switch(_gender)
		{
		case eGENDER.eGENDER_MALE:
			return m_ChatString[UnityEngine.Random.Range(0, 3)];
		case eGENDER.eGENDER_FEMALE:
			return m_ChatString[UnityEngine.Random.Range(3, 6)];
		default:
			Debug.LogError("Tbl_Emoticon_Record::GetRandomString: invalid gender = " + _gender);
			return -1;
//			break;
		}
	}
예제 #27
0
	public Tbl_Action_Animation GetActionAnimation(eCLASS _class, eGENDER _gender, string _animName)
	{
		if(m_dddicActionAnim.ContainsKey(_class) == true)
		{
			if(m_dddicActionAnim[_class].ContainsKey(_gender) == true)
			{
				if(m_dddicActionAnim[_class][_gender].ContainsKey(_animName) == true)
				{
					return m_dddicActionAnim[_class][_gender][_animName];
				}
			}
		}
		
//		Debug.LogError("[Tbl_ActionList_Table]GetActionAnimInfo: " + _class + "(" + _gender + ") doesnt have " + _animName + " animation");
		return null;
	}
예제 #28
0
	public void SetCreationData( OtherCharacterAppearData _data)
	{
		sessionId_ = (int)_data.sessionKey_;
		uniqueId_ = (int)_data.uniqKey_;
		m_SessionId = _data.sessionKey_;
		m_UniqueId = _data.uniqKey_;
		if( m_ShopUId == uint.MaxValue && _data.shopUId_ != uint.MaxValue)
			m_ShopUId = _data.shopUId_;

		if( m_ShopContent == null)
		{
			string content = "null";
			if( _data.shopContent_ != null) content = System.Text.UTF8Encoding.UTF8.GetString( _data.shopContent_);
			Debug.Log( "AsUserEntity::SetCreationData: previous shop content is null. set by OtherCharacterAppearData.shopContent[" + content + "]");
			m_ShopContent = _data.shopContent_;
		}
		else
		{
			Debug.Log( "AsUserEntity::SetCreationData: previous shop content is " +
				System.Text.UTF8Encoding.UTF8.GetString( m_ShopContent) + ". ignore shop content.");
		}

		#region -Designation
		designationID = _data.designationID;
		#endregion

		#region -AccountGender
#if !NEW_DELEGATE_IMAGE
		userGender = _data.userGender;
#endif
		#endregion

		#region -GMMark
		isGM = _data.isGM;
		#endregion

		SetProperty( eComponentProperty.NAME, AsUtil.GetRealString( _data.charName_));
		SetProperty( eComponentProperty.GUILD_NAME, AsUtil.GetRealString( _data.guildName_));
		SetProperty( eComponentProperty.RACE, _data.race_);
		SetProperty( eComponentProperty.CLASS, _data.class_);
		SetProperty( eComponentProperty.GENDER, _data.gender_);
		SetProperty( eComponentProperty.LEVEL, _data.level_);

		if( GetProperty<bool>( eComponentProperty.SHOP_OPENING) == false)
		{
			SetProperty( eComponentProperty.SHOP_OPENING, _data.shopOpening_);
//			Debug.Log( "AsUserEntity::SetCreationData: [" + _data.uniqKey_ + "]eComponentProperty.SHOP_OPENING = " + _data.shopOpening_);
		}

		Vector3 pos = _data.curPosition_; pos.y += 0.1f;
		transform.position = pos;
		transform.rotation = Quaternion.AngleAxis( 180, Vector3.up);

		SetProperty( eComponentProperty.HP_CUR, _data.hpCur_);
		SetProperty( eComponentProperty.HP_MAX, _data.hpMax_);

		SetProperty( eComponentProperty.MOVE_SPEED , _data.moveSpeed_);

		if (_data.notRegisterMgr == false)
			AsEntityManager.Instance.RegisterUserCharacter( this);

		m_iHairItemIndex = _data.hair_ + _data.hairColor_;

		m_sCharView = new sITEMVIEW[AsGameDefine.ITEM_SLOT_VIEW_COUNT];
		if( _data.surverData != null)
		{
			m_bCostumeOnOff = _data.surverData.bCostumeOnOff;

			m_sCharView[0] = _data.surverData.sNormalItemVeiw_1;
			m_sCharView[1] = _data.surverData.sNormalItemVeiw_2;
			m_sCharView[2] = _data.surverData.sNormalItemVeiw_3;
			m_sCharView[3] = _data.surverData.sNormalItemVeiw_4;
			m_sCharView[4] = _data.surverData.sNormalItemVeiw_5;
		}

		m_sCosItemView = new sITEMVIEW[AsGameDefine.ITEM_SLOT_COS_VIEW_COUNT];
		if( _data.surverData != null)
		{
			m_sCosItemView[0] = _data.surverData.sCosItemView_1;
			m_sCosItemView[1] = _data.surverData.sCosItemView_2;
			m_sCosItemView[2] = _data.surverData.sCosItemView_3;
			m_sCosItemView[3] = _data.surverData.sCosItemView_4;
			m_sCosItemView[4] = _data.surverData.sCosItemView_5;
			m_sCosItemView[5] = _data.surverData.sCosItemView_6;
			m_sCosItemView[6] = _data.surverData.sCosItemView_7;
		}
		
		m_Hide = _data.hide_;
		//m_nPvpPoint = _data.nPvpPoint_;
		m_nYesterdayPvpRank = _data.nYesterdayPvpRank;
		m_nYesterdayPvpPoint = _data.nYesterdayPvpPoint;
		m_nYesterdayPvpRankRate = _data.nYesterdayPvpRankRate;
#if NEW_DELEGATE_IMAGE
		nUserDelegateImageIndex = _data.nDelegateImageTableIndex;
#else
		m_nRankPoint = _data.nRankPoint_;
#endif
		m_bSubTitleHide = _data.bSubTitleHide;
		
		buffAccure_ = new Msg_CharBuffAccure( _data.criticalChance, _data.dodgeChance);
		HandleMessage( buffAccure_);
	}
예제 #29
0
    public override bool SetPartsItem( int _nItemTableIdx, byte _nStrengthenCount, eGENDER _eGender, eCLASS eClass, PartsRoot _partsRoot )
    {
		if( false == base.SetPartsItem( _nItemTableIdx, _nStrengthenCount, _eGender, eClass, _partsRoot ) )
			return false;
		
		
		if( null != AssetbundleManager.Instance && true == AssetbundleManager.Instance.useAssetbundle)
		{
			SetNeedResetParts(true);
			return true;
		}
		
		if( false == (getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender) )
		{
			Debug.Log(" WeaponElement::SetPartsItem() [getItem.ItemData.getGender == eGENDER.eGENDER_NOTHING || getItem.ItemData.getGender == _eGender]");
			return false;
		}
		
		
		
		/*GameObject goPartsItem = null;
		if( eGENDER.eGENDER_MALE == _eGender )
		{
			goPartsItem = getItem.GetPartsItem_M();				
			if (null == goPartsItem)
	        {
	            Debug.LogError("PartsItem don't find [ name : " + getItem.ItemData.GetPartsItem_M() );            
	            return false;
	        }
		}
		else
		{
			goPartsItem = getItem.GetPartsItem_W();	
			
			if (null == goPartsItem)
	        {
	            Debug.LogError("PartsItem don't find [ name : " + getItem.ItemData.GetPartsItem_W() );            
	            return false;
	        }
		}       

       

        if (null != m_goWeapon)
            GameObject.Destroy(m_goWeapon);

        m_goWeapon = GameObject.Instantiate(goPartsItem, Vector3.zero, Quaternion.identity) as GameObject;	
		

        m_goWeapon.transform.parent = m_BoneTransform;
		m_goWeapon.transform.localPosition = Vector3.zero;
		m_goWeapon.transform.localRotation = Quaternion.identity;
		m_goWeapon.transform.localScale = Vector3.one;			*/
		
		string path_model;
		string path_texture;
		
		if( eGENDER.eGENDER_MALE == _eGender )
		{
			path_model = getItem.ItemData.GetPartsItem_M();
			path_texture = getItem.ItemData.GetPartsItemDiff_M();
		}
		else
		{
			path_model = getItem.ItemData.GetPartsItem_W();
			path_texture = getItem.ItemData.GetPartsItemDiff_W();
		}
		
		SetGameObject( ResourceLoad.CreateGameObject( path_model ), ResourceLoad.Loadtexture(path_texture) );

        return true;
    }
예제 #30
0
	public ItemData(BinaryReader br)
	{
		m_iID = br.ReadInt32();
		m_iNameID = br.ReadInt32();
		m_iDestID = br.ReadInt32();
		m_eItemType = (Item.eITEM_TYPE)br.ReadInt32();
		m_iSubType = br.ReadInt32();
		m_GoodsType = (Item.eGOODS_TYPE)br.ReadInt32();
		m_eGrade = (Item.eGRADE)br.ReadInt32();
		m_iBuyAmount = br.ReadInt32();
		m_iSellAmount = br.ReadInt32();
		m_iRankPoint = br.ReadInt32();
		m_eGender = (eGENDER)br.ReadInt32();
		m_iLevelLimit = br.ReadInt32();
		
		#region - eCLASS parsing within PET -
		if( CheckPetItem() == true)
		{
			petClass_ = br.ReadString();
			m_eNeedClass = eCLASS.PET;
		}
		else
			m_eNeedClass = (eCLASS)br.ReadInt32();
		#endregion
		
		m_iOverlapCount = br.ReadInt32();
		m_sbItemTradeLimit = br.ReadSByte();
		m_eUseTimeType = (Item.eUSE_TIME_TYPE)br.ReadInt32();
		m_iItemUseTime = br.ReadInt32();
//		m_bItem_Onlyone = br.ReadBoolean();
		m_bItem_Storage_Limit = br.ReadBoolean();
		m_bDropSeal = br.ReadBoolean();
		m_bDump = br.ReadBoolean();
		m_bItemStrengthen = br.ReadBoolean();
		m_bShopSell = br.ReadBoolean();
		m_iItem_PatkDmg_Min = br.ReadInt32();
		m_iItem_PatkDmg_Max = br.ReadInt32();
		m_iItem_MatkDmg_Min = br.ReadInt32();
		m_iItem_MatkDmg_Max = br.ReadInt32();
		m_iItem_Pdef = br.ReadInt32();
		m_iItem_Mdef = br.ReadInt32();
		m_iItem_SkilI_ID = br.ReadInt32();
		m_iItem_Skill_Level = br.ReadInt32();
		m_isItem_OptionType = br.ReadBoolean();
		m_iItem_Fix1_ID = (eITEM_EFFECT)br.ReadInt32();
		m_iItem_Fix1_Value = br.ReadInt32();
		m_iItem_Fix2_ID = (eITEM_EFFECT)br.ReadInt32();
		m_iItem_Fix2_Value = br.ReadInt32();
		m_iItem_Rand_ID = br.ReadInt32();
		m_iItem_SetGroup_ID = br.ReadInt32();
		m_strIcon = br.ReadString();
		m_strDropItem = br.ReadString();
		m_iItem_Buy_Limit = br.ReadInt32();
		m_strPartsItem_M = br.ReadString();
		m_strPartsItem_W = br.ReadString();
		m_strPartsDiff_M = br.ReadString();
		m_strPartsDiff_W = br.ReadString();
		m_strDropSound = br.ReadString();
		//m_strRootSound = br.ReadString();//kij
		m_strUseSound = br.ReadString();
		//m_strItemHitSound = br.ReadString();//kij
		//m_strItem_Root_Effect = br.ReadString();//kij
		//m_strItem_Hit_Effect = br.ReadString();//kij
		
		m_Item_Costume_PatkDmg = br.ReadInt32();
		m_Item_Costume_MatkDmg = br.ReadInt32();
		m_Item_Costume_Pdef = br.ReadInt32();
		m_Item_Costume_Mdef = br.ReadInt32();
		
		
		m_Item_Disassemble = (eItem_Disassemble)br.ReadInt32();
		m_Item_MixEnchant = br.ReadBoolean();
		m_AbsorbExp = br.ReadInt32();
	}