Example #1
0
	public void Init( AsUserEntity _user)
	{
		m_UserEntity = _user;
		m_UserName = _user.GetProperty<string>( eComponentProperty.NAME);
		eCLASS usrClass = _user.GetProperty<eCLASS>( eComponentProperty.CLASS);
		int usrLevel = _user.GetProperty<int>( eComponentProperty.LEVEL);
//		consumeMiracle.Text = AsTableManager.Instance.GetTbl_Level_Record( usrClass, usrLevel).Resurrection_Cost.ToString();
		consumeMiracle.Text = AsTableManager.Instance.GetTbl_GlobalWeight_Record("Revival_Miracle_Help").Value.ToString();
	}
Example #2
0
	bool SetPlayerInfo(Def_Promotion.eCondition _condition)
	{
		m_Player = AsUserInfo.Instance.GetCurrentUserEntity();
		
		if(m_Player != null)
		{
			Tbl_Promotion_Table promotionTable = AsTableManager.Instance.GetTbl_PromotionTable();
			
			eCLASS __class = m_Player.GetProperty<eCLASS>(eComponentProperty.CLASS);
			
			if(promotionTable != null)
			{
				MultiDictionary<Def_Promotion.eCondition, Tbl_Promotion_Record> mdicRecords = promotionTable.GetRecordsByClass(__class);
				if(mdicRecords != null)
				{
					List<Tbl_Promotion_Record> listRecord = mdicRecords[_condition];
					
					if(listRecord.Count == 0)
					{
						Debug.LogWarning("AsPromotionManager::SetPlayerInfo: no conditioned record. check promotion table. __class = " + __class);
						return false;
					}
					
					m_Record = null;
					foreach(Tbl_Promotion_Record node in listRecord)
					{
						if(node.CheckValidLevel(m_Player.GetProperty<int>(eComponentProperty.LEVEL)) == true)
						{
							if(m_Record == null || node.Priority < m_Record.Priority )
								m_Record = node;
						}
					}
					
					if(m_Record != null)
						return true;
					else
						return false;
				}
				else
				{
					Debug.LogWarning("AsPromotionManager::SetPlayerInfo: no classified records. __class = " + __class);
					return false;
				}
			}
			else
			{
				Debug.LogError("AsPromotionManager::SetPlayerInfo: promotionTable is null. AsGameMain.s_gameState = " + AsGameMain.s_gameState);
				return false;
			}
		}
		else
		{
			Debug.LogError("AsPromotionManager::SetPlayerInfo: player entity is null. AsGameMain.s_gameState = " + AsGameMain.s_gameState);
			return false;
		}
	}
	public override void Open (sITEM _sitem, AsUserEntity _entity)
	{
		Item _item = ItemMgr.ItemManagement.GetItem( _sitem.nItemTableIdx);
		if( null == _item )
			return;		
						
		switch( _item.ItemData.grade )
		{
		case Item.eGRADE.Ark:			
			m_BaseDlg = m_ArkDlg;
			break;
			
		case Item.eGRADE.Epic:			
			m_BaseDlg = m_EpicDlg;
			break;
			
		case Item.eGRADE.Rare:			
			m_BaseDlg = m_RareDlg;
			break;
			
		default:
			m_BaseDlg = m_NormalDlg;
			break;
		}			
		
		
		base.Open (_sitem, _entity);
		
		
		switch( _item.ItemData.grade )
		{
		case Item.eGRADE.Ark:				
			m_EpicDlg.gameObject.SetActiveRecursively(false);
			m_RareDlg.gameObject.SetActiveRecursively(false);
			m_NormalDlg.gameObject.SetActiveRecursively(false);
			break;
			
		case Item.eGRADE.Epic:			
			m_ArkDlg.gameObject.SetActiveRecursively(false);			
			m_RareDlg.gameObject.SetActiveRecursively(false);
			m_NormalDlg.gameObject.SetActiveRecursively(false);
			break;
			
		case Item.eGRADE.Rare:			
			m_ArkDlg.gameObject.SetActiveRecursively(false);
			m_EpicDlg.gameObject.SetActiveRecursively(false);			
			m_NormalDlg.gameObject.SetActiveRecursively(false);
			break;
			
		default:
			m_ArkDlg.gameObject.SetActiveRecursively(false);
			m_EpicDlg.gameObject.SetActiveRecursively(false);
			m_RareDlg.gameObject.SetActiveRecursively(false);			
			break;			
		}			
	}
	public void SetData( AsUserEntity data, bool isLocked)
	{
		// < ilmeda 20120814
		AsLanguageManager.Instance.SetFontFromSystemLanguage( level);
		AsLanguageManager.Instance.SetFontFromSystemLanguage( nameLabel);
		// ilmeda 20120814 >

		txtLocked.gameObject.SetActiveRecursively( false);
		locked.gameObject.SetActiveRecursively( isLocked);

		if( null == data)
		{
			empty.gameObject.SetActiveRecursively( false);
			level.gameObject.SetActiveRecursively( false);
			nameLabel.gameObject.SetActiveRecursively( false);
			emptySlot.gameObject.SetActiveRecursively( true);
		}
		else
		{
			bool isEmpty = data.ContainProperty( eComponentProperty.EMPTY_SLOT);
			
			if( true == isEmpty)
			{
				if( AsCharacterSlotManager.PossibleCharCreate == true)
				{
					empty.gameObject.SetActiveRecursively( true);
					txtLocked.gameObject.SetActiveRecursively( false);
				}
				else
				{
					Debug.Log( "empty.gameObject.SetActiveRecursively( false)_2");
					empty.gameObject.SetActiveRecursively( false);
					txtLocked.gameObject.SetActiveRecursively( true);
					txtLocked.Text = AsTableManager.Instance.GetTbl_String(1531);
				}

				level.gameObject.SetActiveRecursively( false);
				nameLabel.gameObject.SetActiveRecursively( false);
				emptySlot.gameObject.SetActiveRecursively( true);
			}
			else
			{
				Debug.Log( "empty.gameObject.SetActiveRecursively( false)_3");
				empty.gameObject.SetActiveRecursively( false);
				level.gameObject.SetActiveRecursively( true);
				nameLabel.gameObject.SetActiveRecursively( true);
				emptySlot.gameObject.SetActiveRecursively( false);

				level.Text = string.Format( "Lv.{0}", data.GetProperty<int>( eComponentProperty.LEVEL));
				nameLabel.Text = data.GetProperty<string>( eComponentProperty.NAME);
			}
		}
	}
Example #5
0
	void Start()
	{
		m_msgboxRequestWait = ( new GameObject( "msgboxRequestWait")).AddComponent<AsMessageBox>();
		m_msgboxRequestChoice = ( new GameObject( "msgboxRequestChoice")).AddComponent<AsMessageBox>();
		m_userPlayer = ( new GameObject( "userPlayer")).AddComponent<AsUserEntity>();
		m_otherPlayer = ( new GameObject( "otherPlayer")).AddComponent<AsUserEntity>();
		
		if( null != m_msgboxRequestWait)
			m_msgboxRequestWait.Destroy_Only();

		if( null != m_msgboxRequestChoice)
			m_msgboxRequestChoice.Destroy_Only();
	}
Example #6
0
	public void SetTradeTargetPlayer(ushort responseSessionID)
	{
		m_userPlayer = _GetUserEntityBySessionId( AsUserInfo.Instance.GamerUserSessionIdx);
		m_otherPlayer = _GetUserEntityBySessionId( responseSessionID);

		if( false == _isUserPlayerTradePossible())
		{
			AsChatManager.Instance.InsertChat( AsTableManager.Instance.GetTbl_String(25), eCHATTYPE.eCHATTYPE_SYSTEM);
//			AsMessageManager.Instance.InsertMessage( AsTableManager.Instance.GetTbl_String( 25));
			return;
		}
		
		m_responseSessionID = responseSessionID;
		AsCommonSender.SendTradeRequest( responseSessionID);
	}
Example #7
0
	public PetAppearData( AsUserEntity _owner, OtherCharacterAppearData _appear)
	{
		creationType_ = eCreationType.PET_APPEAR;

		initial_ = false;

		owner_ = _owner;
		
		nPetTableIdx_ = _appear.nPetTableIdx_;
		szPetName_ = _appear.szPetName_;
		nLevel_ = _appear.nPetLevel;
		nExp_ = 1;

		if(_appear.sPetItem_ != null)
			itemIdx_ = _appear.sPetItem_.nItemTableIdx;
	}
Example #8
0
//	public PetAppearData( AsUserEntity _owner, body_SC_PET_LOAD _load)
//	{
//		creationType_ = eCreationType.PET_APPEAR;
//		
//		initial_ = true;
//
//		owner_ = _owner;
//		
//		nPetTableIdx_ = _load.nPetTableIdx;
//		szPetName_ = _load.szPetName;
//
//		if(_load.sViewItem != null)
//			itemIdx_ = _load.sViewItem.nItemTableIdx;
//	}
	
	public PetAppearData( AsUserEntity _owner, body_SC_PET_CALL _call)
	{
		creationType_ = eCreationType.PET_APPEAR;
		
		initial_ = true;
		
		owner_ = _owner;
		
		nPetTableIdx_ = _call.nPetTableIdx;
		nPetPersonality_ = _call.nPersonality;
		szPetName_ = _call.szPetName;

		if(_call.sViewItem != null)
			itemIdx_ = _call.sViewItem.nItemTableIdx;
	}
Example #9
0
	void ReleaseModeling()
	{
		if( m_ModelEntity != null)
		{
			AsEntityManager.Instance.RemoveAllEntities();
			m_ModelEntity = null;
		}
	}
Example #10
0
	void Awake()
	{
		m_ComponentType = eComponentType.FSM_OTHER_USER;

		m_OtherUserEntity = GetComponent<AsUserEntity>();
		if( m_OtherUserEntity == null) Debug.LogError( "AsOtherUserFsm::Init: no other user entity attached");
		m_OtherUserEntity.FsmType = eFsmType.OTHER_USER;

		#region - msg -
		//MsgRegistry.RegisterFunction( eMessageType.INPUT, OnInput);
		MsgRegistry.RegisterFunction( eMessageType.LEVEL_UP, OnLevelUp);//#16862 dopamin
		MsgRegistry.RegisterFunction( eMessageType.MODEL_LOADED, OnModelLoaded);
		MsgRegistry.RegisterFunction( eMessageType.MODEL_LOADED_DUMMY, OnModelLoaded_Dummy);
		MsgRegistry.RegisterFunction( eMessageType.MOVE_OTHER_USER_INDICATION, OnMove);
		MsgRegistry.RegisterFunction( eMessageType.MOVE_END_INFORM, OnMoveEnd);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_ATTACK_NPC1, OnAttack);
		MsgRegistry.RegisterFunction( eMessageType.HIT_EXECUTION, OnHitExecution);
		MsgRegistry.RegisterFunction( eMessageType.NPC_ATTACK_CHAR2, OnDamaged);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_ATTACK_NPC3, OnAffected);
		
		//PET
		MsgRegistry.RegisterFunction( eMessageType.PET_DATA_INDICATE, OnPetDataIndicate);
		MsgRegistry.RegisterFunction( eMessageType.PET_NAME_CHANGE, OnPetNameChange);
		MsgRegistry.RegisterFunction( eMessageType.PET_SKILL_READY, OnPetSkillReady);
		MsgRegistry.RegisterFunction( eMessageType.PET_DELETE, OnPetDelete);
		MsgRegistry.RegisterFunction( eMessageType.PET_ITEM_VIEW, OnItemView);
		MsgRegistry.RegisterFunction( eMessageType.PET_LEVELUP, OnPetLevelUp);
		MsgRegistry.RegisterFunction( eMessageType.PET_EVOLUTION, OnPetEvolution);
		MsgRegistry.RegisterFunction( eMessageType.PET_POSITION_REFRESH, OnPetPositionRefresh);

		MsgRegistry.RegisterFunction( eMessageType.ANIMATION_END, OnAnimationEnd);

		MsgRegistry.RegisterFunction( eMessageType.RELEASE_TENSION, OnReleaseTension);
        MsgRegistry.RegisterFunction( eMessageType.JUMP_STOP, OnJumpStop);
		MsgRegistry.RegisterFunction( eMessageType.OBJ_STEPPING_MSG, OnSteppingMsg);
		MsgRegistry.RegisterFunction( eMessageType.OBJ_TRAP_MSG, OnTrapMsg);
		
		//STANCE
		MsgRegistry.RegisterFunction( eMessageType.OTHER_CHAR_SKILL_STANCE, OnStance);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_BUFF_ACCURE, OnBuffAccure);
		
		//SKILL EFFECT
		MsgRegistry.RegisterFunction( eMessageType.OTHER_CHAR_SKILL_EFFECT, OnSkillEffect);

		//BUFF
		MsgRegistry.RegisterFunction( eMessageType.CHAR_BUFF, OnBuff);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_DEBUFF, OnDeBuff);
		MsgRegistry.RegisterFunction( eMessageType.BUFF_REFRESH, OnBuffRefresh);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_DEBUFF_RESIST, OnDebuffResist);

		//ATTRIBUTE
		MsgRegistry.RegisterFunction( eMessageType.ATTACK_SPEED_REFRESH, OnAttackSpeedRefresh);

		//CONDITION
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_STUN, OnConditionStun);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_STUN, OnRecoverConditionStun);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FREEZE, OnConditionFreeze);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_FREEZE, OnRecoverConditionFreeze);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_SLEEP, OnConditionSleep);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_SLEEP, OnRecoverConditionSleep);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_SIZECONTROL, OnConditionSizeControl);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_SIZECONTROL, OnRecoverConditionSizeControl);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FORCEDMOVE, OnConditionForcedMove);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FEAR, OnConditionFear);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_FEAR, OnRecoverConditionFear);
		
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_AIRBONE, OnConditionAirBone);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_AIRBONE, OnRecoverConditionAirBone);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_TRANSFORM, OnConditionTransform);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_TRANSFORM, OnRecoverConditionTransform);

		MsgRegistry.RegisterFunction( eMessageType.COLLECT_INFO, OnCollectInfo);

		MsgRegistry.RegisterFunction( eMessageType.CHAR_RESURRECTION, OnResurrection);

		//exception
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_STATE, OnRecoverState);

		//death by other reason( ex. buff)
		MsgRegistry.RegisterFunction( eMessageType.DEATH_INDICATION, OnDeath);

		//private shop
		MsgRegistry.RegisterFunction( eMessageType.OPEN_PRIVATESHOP, OnOpenPrivateShop);
		MsgRegistry.RegisterFunction( eMessageType.CLOSE_PRIVATESHOP, OnClosePrivateShop);

		//emotion
		MsgRegistry.RegisterFunction( eMessageType.EMOTION_INDICATION, OnEmotionIndicate);
		MsgRegistry.RegisterFunction( eMessageType.EMOTICON_SEAT_INDICATION, OnEmoticonSeatIndicate);
		MsgRegistry.RegisterFunction( eMessageType.BALLOON, OnBalloonIndicate);
		#endregion
		#region - state -
		m_dicFsmState.Add( eOtherUserFsmStateType.IDLE, new AsOtherUserState_Idle( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.RUN, new AsOtherUserState_Run( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.DEATH, new AsOtherUserState_Death( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_STUN, new AsOtherUserState_Condition_Stun( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_FREEZE, new AsOtherUserState_Condition_Freeze( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_SLEEP, new AsOtherUserState_Condition_Sleep( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_FORCEDMOVE, new AsOtherUserState_Condition_ForcedMove( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_FEAR, new AsOtherUserState_Condition_Fear( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_AIRBONE, new AsOtherUserState_Condition_AirBone( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.CONDITION_TRANSFORM, new AsOtherUserState_Condition_Transform( this));

//		m_dicFsmState.Add( eOtherUserFsmStateType.DASH, new AsOtherUserState_Dash( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.SKILL_READY, new AsOtherUserState_SkillReady( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.SKILL_HIT, new AsOtherUserState_SkillHit( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.SKILL_FINISH, new AsOtherUserState_SkillFinish( this));
        m_dicFsmState.Add( eOtherUserFsmStateType.OBJ_STEPPING, new AsOtherUserState_ObjStepping( this));

		m_dicFsmState.Add( eOtherUserFsmStateType.PRIVATESHOP, new AsOtherUserState_PrivateShop( this));
		m_dicFsmState.Add( eOtherUserFsmStateType.COLLECT_WORK, new AsOtherUserState_Work_Collect( this));
		#endregion
	}
Example #11
0
	void Awake()
	{
		m_ComponentType = eComponentType.FSM_PLAYER;

		m_UserEntity = GetComponent<AsUserEntity>();
		if( m_UserEntity == null) Debug.LogError( "AsPlayerFsm::Init: no user entity attached");
		m_UserEntity.FsmType = eFsmType.PLAYER;

		m_MonsterReleaseDistance = AsTableManager.Instance.GetTbl_GlobalWeight_Record( 27).Value * 0.01f;
		m_UserReleaseDistance = AsTableManager.Instance.GetTbl_GlobalWeight_Record( 28).Value * 0.01f;
		m_NpcReleaseDistance = AsTableManager.Instance.GetTbl_GlobalWeight_Record( 29).Value * 0.01f;
		
		#region - msg -
		MsgRegistry.RegisterFunction( eMessageType.LEVEL_UP, OnLevelUp);

		MsgRegistry.RegisterFunction( eMessageType.CHOICE, OnChoice);
		MsgRegistry.RegisterFunction( eMessageType.ZONE_WARP, OnZoneWarp);
		MsgRegistry.RegisterFunction( eMessageType.ZONE_WARP_END, OnZoneWarpEnd);

		MsgRegistry.RegisterFunction( eMessageType.MODEL_LOADED, OnModelLoaded);
		MsgRegistry.RegisterFunction( eMessageType.MODEL_LOADED_DUMMY, OnModelLoaded_Dummy);

//		MsgRegistry.RegisterFunction( eMessageType.INPUT, OnInput);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_RUB, OnRubMove);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_MOVE, OnInputMove);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_AUTO_MOVE, OnInputMove);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_ATTACK, OnInputAttack);
		MsgRegistry.RegisterFunction( eMessageType.MOVE_END_INFORM, OnMoveEndInform);
		MsgRegistry.RegisterFunction( eMessageType.JUMP_STOP, OnJumpStop);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_ATTACK_NPC1, OnAttackSC);
		MsgRegistry.RegisterFunction( eMessageType.NPC_ATTACK_CHAR2, OnDamaged);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_ATTACK_NPC3, OnAffected);
		
		//PET
		MsgRegistry.RegisterFunction( eMessageType.PET_DATA_INDICATE, OnPetDataIndicate);
		MsgRegistry.RegisterFunction( eMessageType.PET_SKILL_READY, OnPetSkillReady);
		MsgRegistry.RegisterFunction( eMessageType.PET_SKILL_RESULT, OnPetSkillResult);
		MsgRegistry.RegisterFunction( eMessageType.PET_NAME_CHANGE, OnPetNameChange);
		MsgRegistry.RegisterFunction( eMessageType.PET_DELETE, OnPetDelete);
		MsgRegistry.RegisterFunction( eMessageType.PET_SKILL_CHANGE_RESULT, OnPetSkillChangeResult);
		MsgRegistry.RegisterFunction( eMessageType.PET_FEEDING, OnPetFeeding);
		MsgRegistry.RegisterFunction( eMessageType.PET_SCRIPT, OnPetScript);
		MsgRegistry.RegisterFunction( eMessageType.PET_LEVELUP, OnPetLevelUp);
		MsgRegistry.RegisterFunction( eMessageType.PET_EVOLUTION, OnPetEvolution);
		MsgRegistry.RegisterFunction( eMessageType.PET_ITEM_VIEW, OnItemView);
		MsgRegistry.RegisterFunction( eMessageType.PET_SKILL_GET, OnPetSkillGet);
		MsgRegistry.RegisterFunction( eMessageType.PET_POSITION_REFRESH, OnPetPositionRefresh);
		MsgRegistry.RegisterFunction( eMessageType.PET_HUNGRY_INDICATE, OnPetHungryIndicate);
		MsgRegistry.RegisterFunction( eMessageType.PET_EFFECT_INDICATE, OnPetEffectIndicate);

		MsgRegistry.RegisterFunction( eMessageType.ANIMATION_END, OnAnimationEnd);

		MsgRegistry.RegisterFunction( eMessageType.RELEASE_TENSION, OnReleaseTension);

		//REFLECTION REFRESH
		MsgRegistry.RegisterFunction( eMessageType.REFLECTION_REFRESH, OnReflectionRefresh);

		//HIT EXECUTION
		MsgRegistry.RegisterFunction( eMessageType.HIT_EXECUTION, OnHitExecution);

		//SKILL
		MsgRegistry.RegisterFunction( eMessageType.INPUT_BEGIN_CHARGE, OnBeginCharge);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_CANCEL_CHARGE, OnCancelCharge);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_SLOT_ACTIVE, OnSkillActive);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_DRAG_STRAIGHT, OnSkillDragStraight);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_ARC, OnSkillArc);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_CIRCLE, OnSkillCircle);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_DOUBLE_TAB, OnSkillDoubleTap);
		MsgRegistry.RegisterFunction( eMessageType.PLAYER_USE_ACTIONITEM, OnActionItem);
		MsgRegistry.RegisterFunction( eMessageType.OTHER_CHAR_SKILL_STANCE, OnStance);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_BUFF_ACCURE, OnBuffAccure);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_SKILL_ADD, OnAdd);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_SKILL_SOULSTONE, OnSoulStone);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_SKILL_PVP_AGGRO, OnPvpAggro);
		MsgRegistry.RegisterFunction( eMessageType.TARGET_INDICATION, OnTargetIndication);

		MsgRegistry.RegisterFunction( eMessageType.SKILL_CHARGE_COMPLETE, OnCommandSkillCoolTimeComplete);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_SHIELD_BEGIN, OnSkillShieldBegin);
		MsgRegistry.RegisterFunction( eMessageType.INPUT_SHIELD_END, OnSkillShieldEnd);

		MsgRegistry.RegisterFunction( eMessageType.PLAYER_SKILL_LEARN, OnSkillLearn);

		//FORCED MOVEMENT
		MsgRegistry.RegisterFunction( eMessageType.FORCED_MOVEMENT_RESULT, OnForcedMovementResult);//obsolete
//		MsgRegistry.RegisterFunction( eMessageType.FORCEDMOVE_USER_INDICATION, OnForcedMoveIndicate);

		//OBJECT ACTION
		MsgRegistry.RegisterFunction( eMessageType.OBJ_TRAP_MSG, OnObjTrapAction);
		MsgRegistry.RegisterFunction( eMessageType.OBJ_STEPPING_MSG, OnObjSteppingAction);

		//CLICK
		MsgRegistry.RegisterFunction( eMessageType.PLAYER_CLICK, OnPlayerClick);

		//NPC
		MsgRegistry.RegisterFunction( eMessageType.NPC_CLICK, OnNpcClick);
		MsgRegistry.RegisterFunction( eMessageType.COLLECT_CLICK, OnCollectClick);
		MsgRegistry.RegisterFunction( eMessageType.OBJECT_CLICK, OnObjectClick);
		MsgRegistry.RegisterFunction( eMessageType.COLLECT_INFO, OnCollectInfo);
		MsgRegistry.RegisterFunction( eMessageType.COLLECT_RESULT, OnCollectResult);//obsolete

		//ACT
		MsgRegistry.RegisterFunction( eMessageType.INPUT_DASH, OnInputDash);

		//SKILL EFFECT
		MsgRegistry.RegisterFunction( eMessageType.OTHER_CHAR_SKILL_EFFECT, OnSkillEffect);

		//BUFF
		MsgRegistry.RegisterFunction( eMessageType.CHAR_BUFF, OnBuff);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_DEBUFF, OnDeBuff);
		MsgRegistry.RegisterFunction( eMessageType.BUFF_REFRESH, OnBuffRefresh);
		MsgRegistry.RegisterFunction( eMessageType.DEATH_DEBUFF_CLEAR, OnDeathDebuffClear);
		MsgRegistry.RegisterFunction( eMessageType.CHAR_DEBUFF_RESIST, OnDebuffResist);
		MsgRegistry.RegisterFunction( eMessageType.DEATH_PENALTY_INDICATE, OnDeathPenalty);

		//ATTRIBUTE
		MsgRegistry.RegisterFunction( eMessageType.ATTACK_SPEED_REFRESH, OnAttackSpeedRefresh);

		//CONDITION
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_STUN, OnConditionStun);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_STUN, OnRecoverConditionStun);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FREEZE, OnConditionFreeze);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_FREEZE, OnRecoverConditionFreeze);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_SLEEP, OnConditionSleep);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_SLEEP, OnRecoverConditionSleep);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_SIZECONTROL, OnConditionSizeControl);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_SIZECONTROL, OnRecoverConditionSizeControl);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FEAR, OnConditionFear);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_FEAR, OnRecoverConditionFear);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_BINDING, OnConditionBinding);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_BINDING, OnRecoverConditionBinding);

		MsgRegistry.RegisterFunction( eMessageType.CONDITION_FORCEDMOVE, OnConditionForcedMove);
		MsgRegistry.RegisterFunction( eMessageType.FORCEDMOVE_SYNC, OnForcedMoveSync);
		
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_BLANK, OnConditionBlank);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_BLANK, OnRecoverConditionBlank);
		
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_AIRBONE, OnConditionAirBone);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_AIRBONE, OnRecoverConditionAirBone);
		MsgRegistry.RegisterFunction( eMessageType.CONDITION_TRANSFORM, OnConditionTransform);
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_CONDITION_TRANSFORM, OnRecoverConditionTransform);

		// CHEAT
		MsgRegistry.RegisterFunction( eMessageType.CHEAT_DEATH, OnCheatDeath);

		// mob casting
		MsgRegistry.RegisterFunction( eMessageType.MOB_CASTING, OnMobCasting);

		MsgRegistry.RegisterFunction( eMessageType.CHAR_RESURRECTION, OnResurrection);

		MsgRegistry.RegisterFunction( eMessageType.OTHER_USER_CLICK, OnOtherUserClick);

		//exception
		MsgRegistry.RegisterFunction( eMessageType.RECOVER_STATE, OnRecoverState);

		//death by other reason( ex. buff)
		MsgRegistry.RegisterFunction( eMessageType.DEATH_INDICATION, OnDeath);

		//private shop
		MsgRegistry.RegisterFunction( eMessageType.OPEN_PRIVATESHOP, OnOpenPrivateShop);
		MsgRegistry.RegisterFunction( eMessageType.CLOSE_PRIVATESHOP, OnClosePrivateShop);

		//emotion
		MsgRegistry.RegisterFunction( eMessageType.EMOTION_INDICATION, OnEmotionIndicate);
		MsgRegistry.RegisterFunction( eMessageType.EMOTICON_SEAT_INDICATION, OnEmotionSeatIndicate);
		MsgRegistry.RegisterFunction( eMessageType.BALLOON, OnBalloonIndicate);

		MsgRegistry.RegisterFunction( eMessageType.PRODUCT, OnProduct);
		
		// AUTO COMBAT
		MsgRegistry.RegisterFunction( eMessageType.AUTOCOMBAT_ON, OnAutoCombatOn);
		MsgRegistry.RegisterFunction( eMessageType.AUTOCOMBAT_OFF, OnAutoCombatOff);
		#endregion
		#region - state -
		m_dicFsmState.Add( ePlayerFsmStateType.CHOICE, new AsPlayerState_Choice( this));
//		m_dicFsmState.Add( ePlayerFsmStateType.STANDBY, new AsPlayerState_Standby( this));

		m_dicFsmState.Add( ePlayerFsmStateType.IDLE, new AsPlayerState_Idle( this));
		m_dicFsmState.Add( ePlayerFsmStateType.RUN, new AsPlayerState_Run( this));
		m_dicFsmState.Add( ePlayerFsmStateType.RUN_OTHERUSER, new AsPlayerState_Run_OtherUser( this));
		m_dicFsmState.Add( ePlayerFsmStateType.RUN_NPC, new AsPlayerState_Run_Npc( this));
		m_dicFsmState.Add( ePlayerFsmStateType.RUN_OBJECT, new AsPlayerState_Run_Object( this));

		m_dicFsmState.Add( ePlayerFsmStateType.BATTLE_IDLE, new AsPlayerState_BattleIdle( this));
		m_dicFsmState.Add( ePlayerFsmStateType.BATTLE_RUN, new AsPlayerState_BattleRun( this));
//		m_dicFsmState.Add( ePlayerFsmStateType.DASH, new AsPlayerState_Dash( this));
//		m_dicFsmState.Add( ePlayerFsmStateType.RECOVER, new AsPlayerState_Recover( this));
		m_dicFsmState.Add( ePlayerFsmStateType.WAKE, new AsPlayerState_Wake( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_STUN, new AsPlayerState_Condition_Stun( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_FREEZE, new AsPlayerState_Condition_Freeze( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_SLEEP, new AsPlayerState_Condition_Sleep( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_FORCEDMOVE, new AsPlayerState_Condition_ForcedMove( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_FEAR, new AsPlayerState_Condition_Fear( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_BINDING, new AsPlayerState_Condition_Bind( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_AIRBONE, new AsPlayerState_Condition_AirBone( this));
		m_dicFsmState.Add( ePlayerFsmStateType.CONDITION_TRANSFORM, new AsPlayerState_Condition_Transform( this));

		m_dicFsmState.Add( ePlayerFsmStateType.DEATH, new AsPlayerState_Death( this));
//		m_dicFsmState.Add( ePlayerFsmStateType.LEVEL_UP, new AsPlayerState_LevelUp( this));

		m_dicFsmState.Add( ePlayerFsmStateType.SKILL_READY, new AsPlayerState_SkillReady( this));
		m_dicFsmState.Add( ePlayerFsmStateType.SKILL_HIT, new AsPlayerState_SkillHit( this));
		m_dicFsmState.Add( ePlayerFsmStateType.SKILL_FINISH, new AsPlayerState_SkillFinish( this));
		m_dicFsmState.Add( ePlayerFsmStateType.OBJ_STEPPING, new AsPlayerState_ObjStepping( this));

		m_dicFsmState.Add( ePlayerFsmStateType.PRIVATESHOP, new AsPlayerState_PrivateShop( this));

		m_dicFsmState.Add( ePlayerFsmStateType.RUN_COLLECT, new AsPlayerState_Run_Collect( this));
		m_dicFsmState.Add( ePlayerFsmStateType.WORK_COLLECT, new AsPlayerState_Work_Collect( this));
		m_dicFsmState.Add( ePlayerFsmStateType.READY_COLLECT, new AsplayerState_Ready_Collect( this));
		m_dicFsmState.Add( ePlayerFsmStateType.PRODUCT, new AsPlayerState_Product( this));
		#endregion
	}
Example #12
0
    public static bool IsPossibleAccept(AsUserEntity _user, QuestData _questData, int _addLevel)
    {
        if (_questData.Condition.CanAccept() == false)
            return false;

        // 레벨 확인
        List<ConditionLevel> listConditionLevel = _questData.Condition.GetCondition<ConditionLevel>();
        ConditionLevel levelConditon = new ConditionLevel();
        if (listConditionLevel.Count > 0)
        {
            int level = _user.GetProperty<int>(eComponentProperty.LEVEL) + _addLevel;
            levelConditon.CommonValue = level;

            if (!listConditionLevel[0].CheckAccept(levelConditon))
                return false;
        }

        // 퀘스트 패스 확인  or
        bool bAcceptAnd = true;
        bool bAcceptOr  = false; 
        int  nOrCount   = 0;
        List<ConditionQuestPass> listQuestPass = _questData.Condition.GetCondition<ConditionQuestPass>();

        if (listQuestPass.Count > 0)
        {
            foreach (ConditionQuestPass questPass in listQuestPass)
            {
                if (questPass.QuestPassType == QuestPassType.AND)
                    bAcceptAnd &= ArkQuestmanager.instance.IsCompleteQuest(questPass.QuestID);
                else
                {
                    bAcceptOr |= ArkQuestmanager.instance.IsCompleteQuest(questPass.QuestID);
                    nOrCount++;
                }
            }

            if (nOrCount > 0)
            {
                if (bAcceptAnd == false)
                    return false;

                if (bAcceptOr == false)
                    return false;
            }
            else
            {
                if (bAcceptAnd == false)
                    return false;
            }
        }

        return true;
    }
Example #13
0
 public bool IsPossibleAccept(AsUserEntity _user)
 {
     return IsPossibleAccept(_user, questData);
 }
Example #14
0
	private QuestMarkType CheckInGameEvent(int _npcID, AsUserEntity _userEntity, AsNpcEntity _npcEntity)
	{
		// check have event
		List<Tbl_Event_Record> listEvent = AsTableManager.Instance.GetTbl_Event(_npcID, System.DateTime.Now.AddTicks(AsGameMain.serverTickGap));
		List<Tbl_Event_Record> listFiltered = new List<Tbl_Event_Record>();

		// filter list view
		foreach (Tbl_Event_Record record in listEvent)
		{
			if (record.viewList == true)
				continue;

			listFiltered.Add(record);
		}

		if (listFiltered.Count > 0)
		{
			// check have event and progress
			foreach (Tbl_Quest_Record questRecord in listQuestRecord)
			{
				if (listSuggestQuest.Contains(questRecord.QuestDataInfo.Info.ID) && questRecord.QuestDataInfo.NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN)
				{
					QuestData questData = questRecord.QuestDataInfo;

					if (ArkQuest.IsPossibleAccept(_userEntity, questData) == true)
					{
						nowQuetMarkType = QuestMarkType.HAVE_EVENT_AND_PROGRESS;
						SetQuestMarkPanel(_npcEntity, QuestMarkType.HAVE_EVENT_AND_PROGRESS);
						return nowQuetMarkType;
					}
				}
			}

			nowQuetMarkType = QuestMarkType.HAVE_EVENT;
			SetQuestMarkPanel(_npcEntity, QuestMarkType.HAVE_EVENT);
			return nowQuetMarkType;
		}
		else
		{
			return QuestMarkType.NOTHING;
		}
	}
Example #15
0
	void UpdateDeletedCharacter()
	{
		if( false == showDeleteBox)
			return;

		if( 0 < deleteBox.remain)
			return;

		info.SetData( null, false);

		AsEntityManager.Instance.RemoveEntity( userEntity);
		userEntity = null;
		showDeleteBox = false;
		deleteBox.Hide();
		deleteBtn.gameObject.SetActiveRecursively( false);
		btnCreate.gameObject.SetActiveRecursively( true);
	}
Example #16
0
//	public bool instantSkill_;

//	public Msg_OtherCharAttackNpc1( AS_SC_CHAR_ATTACK_NPC_1 _info)
//	{
//		Msg_OtherCharAttackNpc1( _info, false);
//	}

//	public Msg_OtherCharAttackNpc1( AS_SC_CHAR_ATTACK_NPC_1 _info, bool _instantSkill)
	public Msg_OtherCharAttackNpc1( AS_SC_CHAR_ATTACK_NPC_1 _info)
	{
		m_MessageType = eMessageType.CHAR_ATTACK_NPC1;

		sessionId_ = _info.nSessionIdx;
		charUniqKey_ = _info.nCharUniqKey;

		npcIdx_ = _info.nNpcIdx;
		mainCharUniqKey_ = _info.nMainCharUniqKey;
		targeting_ = _info.sTargeting;
		direction_ = _info.sDirection;

		skillTableIdx_ = _info.nSkillTableIdx;
		skillLevel_ = _info.nSkillLevel;
		actionTableIdx_ = _info.nActionTableIdx;
		chargeStep_ = _info.nChargeStep;
		casting_ = _info.bCasting;
		ready_ = _info.bReady;

		hpCur_ = _info.nHpCur;
		hpHeal_ = _info.nHpHeal;

		if( _info.nChargeStep == 0)
			skillLv_ = AsTableManager.Instance.GetTbl_SkillLevel_Record( _info.nSkillLevel, _info.nSkillTableIdx);
		else
			skillLv_ = AsTableManager.Instance.GetTbl_SkillLevel_Record( _info.nSkillLevel, _info.nSkillTableIdx, _info.nChargeStep);

		attacker_ = AsEntityManager.Instance.GetUserEntityByUniqueId( charUniqKey_);
		skill_ = AsTableManager.Instance.GetTbl_Skill_Record( skillLv_.Skill_GroupIndex);
		action_ = AsTableManager.Instance.GetTbl_Action_Record( skillLv_.SkillAction_Index);

		npcCnt_ = _info.nNpcCnt;
		charCnt_ = _info.nCharCnt;

		bool IsMine = AsUserInfo.Instance.GetCurrentUserEntity().UniqueId == charUniqKey_ ? true : false;

		foreach( AS_SC_CHAR_ATTACK_NPC_2 attack2 in _info.bodyNpc)
		{
			npcBody_.Add( new Msg_OtherCharAttackNpc2( this, attack2, charUniqKey_));
		}

		foreach( AS_SC_CHAR_ATTACK_NPC_3 attack3 in _info.bodyChar)
		{
			charBody_.Add( new Msg_OtherCharAttackNpc3( this, attack3));
		}

		if( ready_ == false)
		{
			if( IsMine == true)
				QuestMessageBroadCaster.BrocastQuest( QuestMessages.QM_USE_SKILL, new AchUseSkill( _info.nSkillTableIdx, 1));

			int count = 0;
			foreach ( AS_SC_CHAR_ATTACK_NPC_2 attack2 in _info.bodyNpc)
			{
				AsNpcEntity monEntity = AsEntityManager.Instance.GetNpcEntityBySessionId( attack2.nNpcIdx);

				if( monEntity != null)
				{
					if( IsMine == true)
					{
						int monId = monEntity.GetProperty<int>( eComponentProperty.MONSTER_ID);
						int monKindID = monEntity.GetProperty<int>( eComponentProperty.MONSTER_KIND_ID);
						QuestMessageBroadCaster.BrocastQuest( QuestMessages.QM_USE_SKILL_TO_MONSTER, new AchUseSkillToMonster( _info.nSkillTableIdx, monId, 1));
						QuestMessageBroadCaster.BrocastQuest( QuestMessages.QM_USE_SKILL_TO_MONSTER_KIND, new AchUseSkillToMonsterKind( _info.nSkillTableIdx, monKindID, 1));
					}
				}
				else
					Debug.LogWarning( "MonsterEntity is null " + count);

				count++;
			}
		}
	}
Example #17
0
	public bool Open( ushort userSessionID)
	{
		if( true == m_bVisible)
		{
			Close();
			return false;
		}

		m_UserSessionID = userSessionID;

		List<AsUserEntity> entity = AsEntityManager.Instance.GetUserEntityBySessionId( userSessionID);
		if( null == entity)
			return false;

		m_UserEntity = entity[0];

		SetVisible( gameObject, true);

		return true;
	}
Example #18
0
	void InitialParts( AsUserEntity entity)
	{
		startedTime = Time.realtimeSinceStartup;
		Debug.Log( "AsModel::InitialParts: begin time checking");
		
		if( null == entity)
		{
			Debug.LogError( "AsModel::InitalParts() [ null == entity ]");
			return;
		}
		
		if( null == entity.getCharView || null == entity.getCosItemView)
		{
			Debug.LogError( "AsModel::InitalParts() [ null == entity.getCharView || null == entity.getCosItemView ]");
			return;
		}
		
		if( AsGameDefine.ITEM_SLOT_VIEW_COUNT != entity.getCharView.Length || AsGameDefine.ITEM_SLOT_COS_VIEW_COUNT != entity.getCosItemView.Length) 
		{
			Debug.LogError( "AsModel::InitialParts() [ !( AsGameDefine.ITEM_SLOT_VIEW_COUNT == _partsData.Length) ] length : " + entity.getCharView.Length);
			return;
		}

		eCLASS __class = entity.GetProperty<eCLASS>( eComponentProperty.CLASS);
		string strBasePath = GetBaseBonPath();
		
		if( true == m_PartsRoot.Create( strBasePath, entity.GetProperty<eGENDER>( eComponentProperty.GENDER), __class, entity.UniqueId))
		{
			Entity.SetModelObject( m_PartsRoot.getBone);
			Debug.Log( "AsModel::InitialParts: begin init character, weapon dummy"); startedTime = Time.realtimeSinceStartup;// time check
			InitCharacterDummy( Entity.ModelObject.transform);
			InitWeaponDummy( Entity.ModelObject.transform);
			Debug.Log( "AsModel::InitialParts: end init character dummy. time = " + ( Time.realtimeSinceStartup - startedTime));// time check
			Entity.ModelObject.name = "Model";
			Entity.ModelObject.transform.parent = transform;
			Entity.ModelObject.transform.localPosition = Vector3.zero;
			Entity.ModelObject.transform.localRotation = Quaternion.identity;

			sITEMVIEW[] partsData = entity.getCharView;	
			sITEMVIEW[] cosPartsData = entity.getCosItemView;				
			m_PartsRoot.SetStrengthenCount( entity.getCharView[0].nStrengthenCount);
			
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Weapon, partsData[0], cosPartsData[0]);
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Head, partsData[1], cosPartsData[1]);
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Armor, partsData[2], cosPartsData[2]);
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Gloves, partsData[3], cosPartsData[3]);
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Point, partsData[4], cosPartsData[4]);
			
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Fairy, null, cosPartsData[Inventory.fairyEquipSlotIdx]);
			PartsRoot.SetParts( entity.isCostumeOnOff, m_PartsRoot, Item.eEQUIP.Wing, null, cosPartsData[Inventory.wingEquipSlotIdx]);
			SetPartsUseItemId( Item.eEQUIP.Hair, entity.getHairItemIndex);
			
			Debug.Log( "AsModel::InitialParts: begin GenerateParts dummy"); startedTime = Time.realtimeSinceStartup;// time check
			m_PartsRoot.GenerateParts();
			Debug.Log( "AsModel::InitialParts: end GenerateParts. time = " + ( Time.realtimeSinceStartup - startedTime));// time check
		}
	}
Example #19
0
	public void DeathDlgFriend( AsUserEntity _user)
	{
		CloseAllMessageBox();

		GameObject clone = GameObject.Instantiate( Resources.Load( "UI/Optimization/Prefab/DeathDlgFriend")) as GameObject;
		clone.GetComponent<AsDeathDlgFriend>().Init( _user);
		clone.transform.position = new Vector3( -500.0f, 0.0f, -35.0f);
		
		deathDlgFriend = clone;
	}
Example #20
0
	public PetAppearData( AsUserEntity _owner, PetInfo _info)
	{
		creationType_ = eCreationType.PET_APPEAR;

		initial_ = false;
		
		owner_ = _owner;
		
		nPetTableIdx_ = _info.nPetTableIdx;
		nPetPersonality_ = _info.nPersonality;
		szPetName_ = _info.szPetName;
		nLevel_ = _info.nLevel;
		nExp_ = _info.nExp;
		sSkill_ = _info.sSkill;
		
		itemIdx_ = _info.itemView.nItemTableIdx;
	}
Example #21
0
	//pet
	void OnPetDataIndicate( AsIMessage _msg)
	{
		Msg_PetDataIndicate data = _msg as Msg_PetDataIndicate;
		m_PetData = data;
		
		m_PetOwner = data.data_.owner_;
		gameObject.name += "<" + m_PetOwner.name + "'s pet" + ">";
		
		m_PetEntity.SetPetItemView( m_PetData.data_.itemIdx_);
		
		if(data.display_ == true)
			SetPetFsmState(AsPetFsm.ePetFsmStateType.DISPLAY);
	}
Example #22
0
	private void CharacterLoad()
	{
		if( true == loadStarted)
			return;

		if( ( 0 > screenIndex) || ( 2 < screenIndex))
			return;

		AsPacketHeader packet = AsUserInfo.Instance.GetCharacter( index);
		if( null == packet)
			return;

		CharacterLoadData entityCreationData = null;

		if( packet.GetType() == typeof( sCHARVIEWDATA))
		{
			sCHARVIEWDATA viewData = packet as sCHARVIEWDATA;

			Debug.Log( "AsCharacterSlotManager::_CreateCharacter: viewData.nCharUniqKey" + viewData.nCharUniqKey);

			entityCreationData = new CharacterLoadData( AsUserInfo.Instance.GamerUserSessionIdx, viewData);
			userEntity = AsEntityManager.Instance.CreateUserEntity( "PlayerChar", entityCreationData, false);
			userEntity.transform.parent = charDummy.transform;
			userEntity.transform.localPosition = Vector3.zero;
			userEntity.transform.localScale = Vector3.one;
			userEntity.transform.localRotation = Quaternion.identity;
			userEntity.HandleMessage( new Msg_AnimationIndicate( "Idle"));

			emptyEffect.gameObject.SetActiveRecursively( false);
		}
		else if( packet.GetType() == typeof( AS_GC_CHAR_LOAD_RESULT_EMPTY))
		{
			entityCreationData = new CharacterLoadData( AsUserInfo.Instance.GamerUserSessionIdx, packet as AS_GC_CHAR_LOAD_RESULT_EMPTY);
			userEntity = AsEntityManager.Instance.CreateUserEntity( "EmptySlot", entityCreationData);
			Debug.Assert( null != userEntity);
		}

		info.SetData( userEntity, isLocked);

		loadStarted = true;
	}
Example #23
0
 public static bool IsPossibleAccept(AsUserEntity _user, QuestData _questData)
 {
     return IsPossibleAccept(_user, _questData, 0);
 }
	private void PlayEffect(Item _item, AsUserEntity _entity)
	{		
		//effect_Magic.SetActiveRecursively(false);
        effect_Rare.SetActiveRecursively(false);
        effect_Epic.SetActiveRecursively(false);
        effect_Ark.SetActiveRecursively(false);
		
        if (null != _entity /*&& true == _entity.IsCheckEquipEnable(_item)*/)
        {
            switch (_item.ItemData.grade)
            {
//            case Item.eGRADE.Magic:
//                effect_Magic.SetActiveRecursively(true);
//				if( false == isMyselfDlg )
//                	effect_Magic.transform.localScale = new Vector3(m_BaseDlg.width / 4.8f, effect_Magic.transform.localScale.y, effect_Magic.transform.localScale.z);
//                break;
            case Item.eGRADE.Rare:
                effect_Rare.SetActiveRecursively(true);
				if( false == isMyselfDlg )
                	effect_Rare.transform.localScale = new Vector3(m_BaseDlg.width / 4.8f, effect_Rare.transform.localScale.y, effect_Rare.transform.localScale.z);
                break;
            case Item.eGRADE.Epic:
                effect_Epic.SetActiveRecursively(true);
				if( false == isMyselfDlg )
                	effect_Epic.transform.localScale = new Vector3(m_BaseDlg.width / 4.8f, effect_Epic.transform.localScale.y, effect_Epic.transform.localScale.z);
                break;
            case Item.eGRADE.Ark:
                effect_Ark.SetActiveRecursively(true);
				if( false == isMyselfDlg )
                	effect_Ark.transform.localScale = new Vector3(m_BaseDlg.width / 4.8f, effect_Ark.transform.localScale.y, effect_Ark.transform.localScale.z);
                break;           
            }            
        }  	
	}
Example #25
0
	void OnCombatFree( AsIMessage _msg)
	{
		m_CurrentFsmState.MessageProcess( _msg);

		float hpMax = m_MonsterEntity.GetProperty<float>( eComponentProperty.HP_MAX);
		m_MonsterEntity.SetProperty( eComponentProperty.HP_CUR, hpMax);

		m_Target = null;

		AsPlayerFsm playerFsm = AsEntityManager.Instance.GetPlayerCharFsm();
		if( null != playerFsm)
		{
			if( m_MonsterEntity == playerFsm.Target)
			{
				AsHUDController.Instance.SetTargetInfo( m_MonsterEntity);
			}
		}
	}
Example #26
0
	IEnumerator SetModeling()
	{
		AsLoadingIndigator.Instance.ShowIndigator( string.Empty);

		while( false == AsEntityManager.Instance.gameObject.active)
			yield return null;
		
		ReleaseModeling();
		
		eRACE race = (eRACE)AsCharacterCreateFramework.curRace;
		eCLASS job = (eCLASS)AsCharacterCreateFramework.curJob;
		eGENDER gender = (eGENDER)AsCharacterCreateFramework.curGender;
		
		sCHARVIEWDATA viewData = new sCHARVIEWDATA();
		viewData.eRace = race;
		viewData.eClass = job;
		viewData.eGender = gender;
		
		m_CharCreateGenderData = AsTableManager.Instance.GetTbl_CreateCharacter_GenderData( race, job, gender);
		if( null == m_CharCreateGenderData)
			Debug.LogError( "AsCustomizingPanel::SetModeling()[ con't find m_CharCreateGenderData ] race : " + race + " job : "+ job +" gender : " +gender);
		
		m_CharCreateClassData = AsTableManager.Instance.GetTbl_CreateCharacter_ClassData( race, job);
		if( null == m_CharCreateClassData)
			Debug.LogError( "AsCustomizingPanel::SetModeling()[ con't find m_CharCreateClassData ] race : " + race + " job : "+ job);
		
		int iHair = 0;
		if( null != m_CharCreateGenderData && null != m_CharCreateClassData)
		{
			iHair = (int)m_CharCreateGenderData.hairTypes[0] + (int)m_CharCreateGenderData.hairColors[0];
			int ibody = (int)m_CharCreateGenderData.bodyColors[0];
			int iPoint = (int)m_CharCreateGenderData.pointColors[0];
			int iGlove = (int)m_CharCreateGenderData.gloveColors[0];
			
			viewData.sNormalItemVeiw_1 = new sITEMVIEW();
			viewData.sNormalItemVeiw_1.nItemTableIdx = m_CharCreateClassData.commonProp.weapon;
			
			viewData.sNormalItemVeiw_2 = new sITEMVIEW();
			viewData.sNormalItemVeiw_2.nItemTableIdx = 0;
			
			viewData.sNormalItemVeiw_3 = new sITEMVIEW();
			viewData.sNormalItemVeiw_3.nItemTableIdx = ibody;
			
			viewData.sNormalItemVeiw_4 = new sITEMVIEW();
			viewData.sNormalItemVeiw_4.nItemTableIdx = iGlove;
			
			viewData.sNormalItemVeiw_5 = new sITEMVIEW();
			viewData.sNormalItemVeiw_5.nItemTableIdx = iPoint;
		}
		
		CharacterLoadData entityCreationData = new CharacterLoadData( ushort.MaxValue, viewData);
		entityCreationData.nHairItemIndex = iHair;
		
		m_ModelEntity = AsEntityManager.Instance.CreateUserEntity( "PlayerChar", entityCreationData, false);
		
		m_ModelEntity.HandleMessage( new Msg_AnimationIndicate( "Idle"));

		charDummy.transform.position = new Vector3( GetCharacterPositionX(), charDummy.transform.position.y, charDummy.transform.position.z);
		m_ModelEntity.gameObject.transform.localPosition = Vector3.zero;
		m_ModelEntity.gameObject.transform.localRotation = Quaternion.identity;
		m_ModelEntity.gameObject.transform.localScale = charDummy.transform.localScale;
		
		while( true)
		{
			if( eModelLoadingState.Finished == m_ModelEntity.CheckModelLoadingState())
				break;
			
			yield return null;
		}

		m_ModelEntity.transform.parent = charDummy.transform;
		SetLayerHierArchy( m_ModelEntity.transform, LayerMask.NameToLayer( "GUI"));
		
		Initialize();

		while( true == PartsRoot.s_isLoading)
			yield return null;

		genderIcons[0].controlIsEnabled = true;
		genderIcons[1].controlIsEnabled = true;

		AsLoadingIndigator.Instance.HideIndigator();
	}
Example #27
0
	// hp, mp
	public void ShowNumberPanel(AsUserEntity userEntity, int nValue, eATTRCHANGECONTENTS eContents, eCustomFontType eType)
	{
		ShowNumberPanel( userEntity, nValue, eContents, eType, eDAMAGETYPE.eDAMAGETYPE_NORMAL);
	}
Example #28
0
	public Msg_NpcBeginDialog( AsUserEntity _user)
	{
		m_MessageType = eMessageType.NPC_BEGIN_DIALOG;

		user_ = _user;
	}
Example #29
0
	// < Recive
	public void TradeRequest(ushort requestSessionID)
	{
		if( false == _isUserPlayer( requestSessionID))
		{
			m_userPlayer = _GetUserEntityBySessionId( AsUserInfo.Instance.GamerUserSessionIdx);
			if( false == _isUserPlayerTradePossible())
			{
				AsCommonSender.SendTradeResponse( false, requestSessionID);
				return;
			}
		}

		m_requestSessionID = requestSessionID;
		
		if( _isUserPlayer( requestSessionID))
		{
			string title = AsTableManager.Instance.GetTbl_String(1104);
			//string msgRequest = _GetUserName( m_responseSessionID) + AsTableManager.Instance.GetTbl_String( 21);
			string msgRequest = string.Format( AsTableManager.Instance.GetTbl_String( 21), _GetUserName( m_responseSessionID));
			//m_msgboxRequestWait = AsNotify.Instance.MessageBox( title, msgRequest, this, "OnMsgBox_TradeRequest_Cancel", "OnMsgBox_TradeRequest_Cancel", AsNotify.MSG_BOX_TYPE.MBT_CANCEL, AsNotify.MSG_BOX_ICON.MBI_NOTICE);
			m_msgboxRequestWait = AsNotify.Instance.MessageBox( title, msgRequest, AsNotify.MSG_BOX_TYPE.MBT_CANCEL, AsNotify.MSG_BOX_ICON.MBI_NOTICE);
			m_msgboxRequestWait.SetOkDelegate = OnMsgBox_TradeRequest_Cancel;
			m_msgboxRequestWait.SetCancelDelegate = OnMsgBox_TradeRequest_Cancel;

			m_userPlayer = _GetUserEntityBySessionId( m_requestSessionID);
			m_otherPlayer = _GetUserEntityBySessionId( m_responseSessionID);
		}
		else
		{
			if (AsHudDlgMgr.Instance.IsOpenCashStore || AsHudDlgMgr.Instance.IsOpenNpcStore)
			{
				AsCommonSender.SendTradeResponse(false, m_requestSessionID);
				return;
			}

			string title = AsTableManager.Instance.GetTbl_String(1105);
			//string msgResponse = _GetUserName( m_requestSessionID) + AsTableManager.Instance.GetTbl_String( 22);
			string msgResponse = string.Format( AsTableManager.Instance.GetTbl_String( 22), _GetUserName( m_requestSessionID));
			//m_msgboxRequestChoice = AsNotify.Instance.MessageBox( title, msgResponse, this, "OnMsgBox_TradeResponse_Ok", "OnMsgBox_TradeResponse_Cancel", AsNotify.MSG_BOX_TYPE.MBT_OKCANCEL, AsNotify.MSG_BOX_ICON.MBI_QUESTION);
			m_msgboxRequestChoice = AsNotify.Instance.MessageBox( title, msgResponse, AsNotify.MSG_BOX_TYPE.MBT_OKCANCEL, AsNotify.MSG_BOX_ICON.MBI_QUESTION);
			m_msgboxRequestChoice.SetOkDelegate = OnMsgBox_TradeResponse_Ok;
			m_msgboxRequestChoice.SetCancelDelegate = OnMsgBox_TradeResponse_Cancel;

			m_userPlayer = _GetUserEntityBySessionId( AsUserInfo.Instance.GamerUserSessionIdx);
			m_otherPlayer = _GetUserEntityBySessionId( m_requestSessionID);
		}
	}
Example #30
0
	// hp, mp
	public void ShowNumberPanel(AsUserEntity userEntity, int nValue, eATTRCHANGECONTENTS eContents, eCustomFontType eType, eDAMAGETYPE eDamageType)
	{
		if( null == userEntity)
			return;
		
		if( eATTRCHANGECONTENTS.eATTRCHANGECONTENTS_USING_SKILL == eContents
			|| eATTRCHANGECONTENTS.eATTRCHANGECONTENTS_KILLNPC == eContents)
		{
			if( nValue <= 0)
				return;
			
			int nRes = nValue;
			float fSpeed = 1.0f;
			float fScale = 1.2f;
			
			if( eCustomFontType.eCustomFontType_HP == eType)
			{
				float maxHP = userEntity.GetProperty<float>( eComponentProperty.HP_MAX);
				float curHP = userEntity.GetProperty<float>( eComponentProperty.HP_CUR);
				float subHP = maxHP - curHP;
				if( subHP < nValue)
					nRes = (int)subHP;
				fSpeed = m_fSpeed_Damage_HP;
				fScale = m_fScale_Damage_HP;
			}
			else if( eCustomFontType.eCustomFontType_MP == eType)
			{
				float maxMP = userEntity.GetProperty<float>( eComponentProperty.MP_MAX);
				float curMP = userEntity.GetProperty<float>( eComponentProperty.MP_CUR);
				float subMP = maxMP - curMP;
				if( subMP < nValue)
					nRes = (int)subMP;
				fSpeed = m_fSpeed_Damage_MP;
				fScale = m_fScale_Damage_MP;
			}
			
			if( nRes >= 0)
			{
				if( eDAMAGETYPE.eDAMAGETYPE_CRITICAL == eDamageType)
					_ShowNumberPanel( userEntity.transform.gameObject, "!", 2, true, true, m_fSpeed_Damage_Critical, m_fScale_Damage_Critical); // critical user
				
				string str = _GetCustomFont( nRes, eType);
				_ShowNumberPanel( userEntity.transform.gameObject, str, 0, false, false, fSpeed, fScale); // HP, MP user
			}
		}
		else if( eATTRCHANGECONTENTS.eATTRCHANGECONTENTS_DOT_DAMAGE == eContents)
		{
//			if( nValue <= 0)
//				return;
//
//			float maxHP = userEntity.GetProperty<float>( eComponentProperty.HP_MAX);
//			float curHP = userEntity.GetProperty<float>( eComponentProperty.HP_CUR);
//			float subHP = maxHP - curHP;
//			int nRes = nValue;
//			if( subHP < nValue)
//				nRes = (int)subHP;
//			
//			if( nRes > 0)
//			{
//				string str = _GetCustomFont( nRes, eType);
//				_ShowNumberPanel( userEntity.transform.gameObject, str, 0, false, false, m_fSpeed_Damage_DotHeal, m_fScale_Damage_DotHeal); // Dot Healling user
//			}
			
			string str = "";
			int nRes = nValue;
			
			if( nValue <= 0)
			{
				nRes *= -1;
				//str = nRes.ToString(); // dot damage
				str = _GetCustomFont( nRes, eCustomFontType.eCustomFontType_AllyDamage);
			}
			else
				str = _GetCustomFont( nRes, eType); // dot healling
			
			_ShowNumberPanel( userEntity.transform.gameObject, str, 0, false, false, m_fSpeed_Damage_DotHeal, m_fScale_Damage_DotHeal); // Dot Healling user
		}
		else if( eATTRCHANGECONTENTS.eATTRCHANGECONTENTS_HP_INSTEAD_MP == eContents)
		{
			int nRes = nValue;
			if( nValue <= 0)
				nRes *= -1;
			
			if( eDAMAGETYPE.eDAMAGETYPE_CRITICAL == eDamageType)
				_ShowNumberPanel( userEntity.transform.gameObject, "!", 2, true, true, m_fSpeed_Damage_Critical, m_fScale_Damage_Critical); // critical user
			
			_ShowNumberPanel( userEntity.transform.gameObject, nRes.ToString(), 0, true, false, m_fSpeed_Damage, m_fScale_Damage); // damage(red font)
		}
	}