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(); }
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); } } }
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(); }
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); }
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; }
// 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; }
void ReleaseModeling() { if( m_ModelEntity != null) { AsEntityManager.Instance.RemoveAllEntities(); m_ModelEntity = null; } }
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 }
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 }
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; }
public bool IsPossibleAccept(AsUserEntity _user) { return IsPossibleAccept(_user, questData); }
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; } }
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); }
// 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++; } } }
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; }
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 } }
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; }
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; }
//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); }
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; }
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; } } }
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); } } }
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(); }
// hp, mp public void ShowNumberPanel(AsUserEntity userEntity, int nValue, eATTRCHANGECONTENTS eContents, eCustomFontType eType) { ShowNumberPanel( userEntity, nValue, eContents, eType, eDAMAGETYPE.eDAMAGETYPE_NORMAL); }
public Msg_NpcBeginDialog( AsUserEntity _user) { m_MessageType = eMessageType.NPC_BEGIN_DIALOG; user_ = _user; }
// < 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); } }
// 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) } }