show selecting vfx
This commit is contained in:
@@ -49,7 +49,8 @@ MonoBehaviour:
|
||||
monsterPrefab: {fileID: 2542060226037108388, guid: 244942d3fb9382846b82581ce24fbf4e, type: 3}
|
||||
npcServerPrefab: {fileID: -5899287755522118344, guid: 9bd42cdc18b3d624db35707155fc50de, type: 3}
|
||||
cinemachineCamera: {fileID: 0}
|
||||
_testVfxPrefab: {fileID: 0}
|
||||
_testVfxPrefab: {fileID: 2282869967233380084, guid: 88e840e5dac12ed4383d994c7fadfef1, type: 3}
|
||||
SelectingVfxPrefab: {fileID: 6894650530511576330, guid: 412301bece3ebe640b2da0e18c5f4028, type: 3}
|
||||
freeLookCam: {fileID: 0}
|
||||
rotateSpeedX: 300
|
||||
rotateSpeedY: 2
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace BrewMonster.Network
|
||||
private static ATaskTemplMan m_pTaskMan; // Task template manager
|
||||
private static elementdataman m_pElementDataMan; // global element templates manager
|
||||
private static CECGameRun m_pGameRun; // Game running object
|
||||
private static CECGFXCaster m_pGFXCaster; // GFX caster
|
||||
|
||||
private static BrewMonster.Common.CECStringTab m_FixedMsgs; // Fixed message table
|
||||
private static BrewMonster.Common.CECStringTab m_ItemDesc; // Item desciption string table
|
||||
@@ -56,7 +57,7 @@ namespace BrewMonster.Network
|
||||
m_pTaskMan.Init(m_pElementDataMan);
|
||||
if (!m_pTaskMan.InitStorageTask())
|
||||
{
|
||||
Debug.LogError("[Dat]- CECGame::Init, Storage task Init Failed!");
|
||||
BMLogger.LogError("[Dat]- CECGame::Init, Storage task Init Failed!");
|
||||
return false;
|
||||
}
|
||||
m_pGameRun = new CECGameRun();
|
||||
@@ -65,6 +66,13 @@ namespace BrewMonster.Network
|
||||
BMLogger.LogError("CECGame::Init");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Create GFX caster
|
||||
if (m_pGFXCaster == null)
|
||||
{
|
||||
m_pGFXCaster = new CECGFXCaster();
|
||||
return false;
|
||||
}
|
||||
|
||||
// Initialize string tables
|
||||
InitializeStringTables();
|
||||
@@ -169,6 +177,12 @@ namespace BrewMonster.Network
|
||||
}
|
||||
}
|
||||
public static CECGameRun GetGameRun() { return m_pGameRun; }
|
||||
|
||||
public static CECGFXCaster GetGFXCaster()
|
||||
{
|
||||
if(m_pGFXCaster==null) m_pGFXCaster = new CECGFXCaster();
|
||||
return m_pGFXCaster;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,20 @@ using UnityEngine;
|
||||
|
||||
namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
{
|
||||
public enum GFX_STATE
|
||||
{
|
||||
ST_STOP = 0,
|
||||
ST_PLAY = 1,
|
||||
ST_PAUSE = 2,
|
||||
ST_EDITMODE = 3
|
||||
}
|
||||
public class BaseVfxObject : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private ParticleSystem _vfx;
|
||||
[SerializeField] private string _vfxPath;
|
||||
private string _vfxPath;
|
||||
private Vector3 _originalScale = Vector3.one;
|
||||
private Vector3 _offset = Vector3.zero;
|
||||
private GFX_STATE m_iState;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -35,6 +43,12 @@ namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
_vfxPath = vfxPath;
|
||||
}
|
||||
|
||||
#region EC
|
||||
|
||||
public GFX_STATE GetState() { return m_iState; }
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Set VFX scale
|
||||
/// </summary>
|
||||
@@ -141,8 +155,10 @@ namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
/// </summary>
|
||||
public void Play()
|
||||
{
|
||||
Stop();
|
||||
if (_vfx != null)
|
||||
{
|
||||
m_iState = GFX_STATE.ST_PLAY;
|
||||
_vfx.Play();
|
||||
}
|
||||
}
|
||||
@@ -154,6 +170,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
{
|
||||
if (_vfx != null)
|
||||
{
|
||||
m_iState = GFX_STATE.ST_PLAY;
|
||||
_vfx.Play(true);
|
||||
}
|
||||
}
|
||||
@@ -165,6 +182,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
{
|
||||
if (_vfx != null)
|
||||
{
|
||||
m_iState = GFX_STATE.ST_STOP;
|
||||
_vfx.Stop();
|
||||
}
|
||||
}
|
||||
@@ -177,6 +195,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Vfx
|
||||
{
|
||||
if (_vfx != null)
|
||||
{
|
||||
m_iState = GFX_STATE.ST_PAUSE;
|
||||
_vfx.Pause();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
using BrewMonster.PerfectWorld.Scripts.Vfx;
|
||||
using BrewMonster.Scripts;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BrewMonster
|
||||
{
|
||||
public class CECGFXCaster
|
||||
{
|
||||
// Load normal gfx
|
||||
public BaseVfxObject LoadGFXEx(string szFile)
|
||||
{
|
||||
if (string.IsNullOrEmpty(szFile))
|
||||
{
|
||||
BMLogger.LogError("path null!:");
|
||||
return null;
|
||||
}
|
||||
|
||||
// // ASSERT(m_pGFXMan);
|
||||
// var loadObj = AddressableManager.Instance.LoadPrefabAsync(szFile.ToLower()).Result;
|
||||
// if (loadObj == null)
|
||||
// {
|
||||
// BMLogger.LogError("Null vfx object in path: " + szFile);
|
||||
// return null;
|
||||
// }
|
||||
|
||||
// todo: make pool
|
||||
BaseVfxObject pGFX = GameController.Instance.InstantiateObject(GameController.Instance.SelectingVfxPrefab).GetComponent<BaseVfxObject>();
|
||||
if (!pGFX)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// NORMALGFX* pNode = new NORMALGFX;
|
||||
// pNode->pGFX = pGFX;
|
||||
// pNode->dwVisTimeCnt = TIME_CHECKVIS;
|
||||
// pNode->bVisible = true;
|
||||
//
|
||||
// // Add to table
|
||||
// m_GFXTab.put((int)pGFX, pNode);
|
||||
|
||||
return pGFX;
|
||||
}
|
||||
|
||||
// // Release normal gfx
|
||||
// void CECGFXCaster::ReleaseGFXEx(A3DGFXEx* pGFX, bool bCacheRelease/* true */)
|
||||
// {
|
||||
// if (!pGFX)
|
||||
// return;
|
||||
//
|
||||
// // GFX exists ?
|
||||
// GFXTable::pair_type Pair = m_GFXTab.get((int)pGFX);
|
||||
// if (!Pair.second)
|
||||
// return; // Counldn't find this GFX
|
||||
//
|
||||
// NORMALGFX* pNode = *Pair.first;
|
||||
// m_GFXTab.erase((int)pGFX);
|
||||
//
|
||||
// if (bCacheRelease)
|
||||
// {
|
||||
// ASSERT(m_pGFXMan);
|
||||
// m_pGFXMan->CacheReleasedGfx(pGFX);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// pNode->pGFX->Release();
|
||||
// delete pNode->pGFX;
|
||||
// }
|
||||
//
|
||||
// delete pNode;
|
||||
// }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8d5595364cee424bbc8406bec1b5d27
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e75475a77ec787744b3c47108d6b7640
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 412301bece3ebe640b2da0e18c5f4028
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -18,6 +18,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using BrewMonster.PerfectWorld.Scripts.Vfx;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
@@ -52,6 +53,8 @@ public partial class CECHostPlayer : CECPlayer
|
||||
bool m_bJumpInWater = false;
|
||||
public A3DVECTOR3 m_vVelocity; // Velocity
|
||||
List<CECObject> m_aTabSels = new List<CECObject>();
|
||||
|
||||
bool m_bChangingFace; // true, host is changing face
|
||||
|
||||
float playerSpeed = 5.0f;
|
||||
float jumpHeight = 1.5f;
|
||||
@@ -89,6 +92,8 @@ public partial class CECHostPlayer : CECPlayer
|
||||
RaycastHit lastGroundHit;
|
||||
Camera mainCam;
|
||||
|
||||
private BaseVfxObject m_pSelectedGFX;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
@@ -944,6 +949,13 @@ public partial class CECHostPlayer : CECPlayer
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Load GFX
|
||||
var gfxCaster = EC_Game.GetGFXCaster();
|
||||
// m_pMoveTargetGFX = g_pGame->GetGFXCaster()->LoadGFXEx(res_GFXFile(RES_GFX_MOVETARGET));
|
||||
m_pSelectedGFX = gfxCaster.LoadGFXEx(EC_Resource.res_GFXFile((int)GfxResourceType.RES_GFX_SELECTED));
|
||||
// m_pHoverGFX = g_pGame->GetGFXCaster()->LoadGFXEx(res_GFXFile(RES_GFX_CURSORHOVER));
|
||||
// m_pFloatDust = g_pGame->GetGFXCaster()->LoadGFXEx(res_GFXFile(RES_GFX_FLOATING_DUST));
|
||||
}
|
||||
|
||||
private void JoystickStartDrag(JoystickPressEvent joystickPressEvent)
|
||||
@@ -1768,13 +1780,11 @@ public partial class CECHostPlayer : CECPlayer
|
||||
// return fSpeedSev;
|
||||
//}
|
||||
|
||||
void UpdateGFXs(uint dwDeltaTime)
|
||||
void UpdateGFXs(float dwDeltaTime)
|
||||
{
|
||||
// if (m_pLevelUpGFX)
|
||||
// m_pLevelUpGFX->SetParentTM(GetAbsoluteTM());
|
||||
|
||||
var pWorld = CECWorld.Instance;
|
||||
|
||||
// if (m_pHoverGFX)// && m_idCurHover != m_idSelTarget)
|
||||
// {
|
||||
// if (!IsChangingFace() && (ISPLAYERID(m_idCurHover) || ISNPCID(m_idCurHover)))
|
||||
@@ -1794,24 +1804,26 @@ public partial class CECHostPlayer : CECPlayer
|
||||
// m_pHoverGFX->Stop();
|
||||
// }
|
||||
|
||||
// if (m_pSelectedGFX)
|
||||
// {
|
||||
// if (!IsChangingFace() && (ISPLAYERID(m_idSelTarget) || ISNPCID(m_idSelTarget)))
|
||||
// {
|
||||
// CECObject* pObject = pWorld.GetObject(m_idSelTarget, 1);
|
||||
// if (pObject)
|
||||
// {
|
||||
// if (m_pSelectedGFX->GetState() == ST_STOP)
|
||||
// m_pSelectedGFX->Start();
|
||||
//
|
||||
// m_pSelectedGFX->SetParentTM(pObject->GetAbsoluteTM());
|
||||
// }
|
||||
// else
|
||||
// m_pSelectedGFX->Stop();
|
||||
// }
|
||||
// else
|
||||
// m_pSelectedGFX->Stop();
|
||||
// }
|
||||
if (m_pSelectedGFX)
|
||||
{
|
||||
if (!IsChangingFace() && (GPDataTypeHelper.ISPLAYERID(m_idSelTarget) || GPDataTypeHelper.ISNPCID(m_idSelTarget)))
|
||||
{
|
||||
var pObject =EC_ManMessageMono.Instance?.GetObject(m_idSelTarget, 1);
|
||||
if (pObject)
|
||||
{
|
||||
if (m_pSelectedGFX.GetState() == GFX_STATE.ST_STOP)
|
||||
m_pSelectedGFX.Play();
|
||||
|
||||
// m_pSelectedGFX.SetParentTM(pObject.GetAbsoluteTM());
|
||||
m_pSelectedGFX.transform.parent = pObject.transform;
|
||||
m_pSelectedGFX.transform.localPosition = Vector3.zero;
|
||||
}
|
||||
else
|
||||
m_pSelectedGFX.Stop();
|
||||
}
|
||||
else
|
||||
m_pSelectedGFX.Stop();
|
||||
}
|
||||
|
||||
// if (m_pFloatDust)
|
||||
// {
|
||||
@@ -1832,6 +1844,8 @@ public partial class CECHostPlayer : CECPlayer
|
||||
// }
|
||||
// UpdateMonsterSpiritGfx(dwDeltaTime);
|
||||
}
|
||||
|
||||
public bool IsChangingFace() { return m_bChangingFace; }
|
||||
}
|
||||
|
||||
public enum StateAnim
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using CSNetwork.GPDataType;
|
||||
using CSNetwork.Protocols.RPCData;
|
||||
using System.Data;
|
||||
using BrewMonster.PerfectWorld.Scripts.Vfx;
|
||||
using Unity.Cinemachine;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
@@ -15,6 +16,7 @@ public class GameController : MonoBehaviour
|
||||
[SerializeField] private CECNPCServer npcServerPrefab;
|
||||
[SerializeField] private CinemachineCamera cinemachineCamera;
|
||||
[SerializeField] private GameObject _testVfxPrefab;
|
||||
public GameObject SelectingVfxPrefab;
|
||||
//[SerializeField] private Transform ground;
|
||||
CECHostPlayer hostPlayer;
|
||||
|
||||
@@ -106,6 +108,10 @@ public class GameController : MonoBehaviour
|
||||
{
|
||||
instance = null;
|
||||
}
|
||||
public GameObject InstantiateObject(GameObject prefab)
|
||||
{
|
||||
return Instantiate(prefab, transform);
|
||||
}
|
||||
|
||||
//private void Update()
|
||||
//{
|
||||
|
||||
@@ -18,279 +18,48 @@ namespace BrewMonster
|
||||
"cursors/gourd.cur",
|
||||
};
|
||||
// GFX resource
|
||||
static readonly string[] l_aGFXFiles = // use where?
|
||||
private static readonly string[] l_aGFXFiles = // use where?
|
||||
{
|
||||
"鲁脤脨貌脕陋脠毛/陆脟脡芦脡媒录露脠脣脌脿.gfx", // RES_GFX_LEVELUP,
|
||||
"鲁脤脨貌脕陋脠毛/陆脟脡芦鲁枚脧脰脠脣脌脿.gfx", // RES_GFX_PLAYERAPPEAR,
|
||||
"卤禄禄梅脰脨/卤禄禄梅脰脨脨搂鹿没.gfx", // RES_GFX_HIT,
|
||||
"鲁脤脨貌脕陋脠毛/脰赂脧貌卤锚.gfx", // RES_GFX_MOVETARGET,
|
||||
"鲁脤脨貌脕陋脠毛/陆冒卤脪脨搂鹿没.gfx", // RES_GFX_ITEMFLASH,
|
||||
"鲁脤脨貌脕陋脠毛/脢贸卤锚脨眉赂隆.gfx", // RES_GFX_CURSORHOVER,
|
||||
"鲁脤脨貌脕陋脠毛/脛驴卤锚卤禄脩隆脰脨.gfx", // RES_GFX_SELECTED,
|
||||
"鲁脤脨貌脕陋脠毛/潞拢碌脳脝庐鲁戮.gfx", // RES_GFX_FLOATING_DUST,
|
||||
"鲁脤脨貌脕陋脠毛/脠脣脦茂脫脦露炉脣庐脠娄.gfx", // RES_GFX_WATER_WAVE_STILL,
|
||||
"鲁脤脨貌脕陋脠毛/脠脣脦茂脫脦露炉脣庐虏篓.gfx", // RES_GFX_WATER_WAVE_MOVE,
|
||||
"鲁脤脨貌脕陋脠毛/脣庐脰脨潞么脦眉脝酶脜脻.gfx", // RES_GFX_AIR_BUBBLE,
|
||||
"鲁脤脨貌脕陋脠毛/脣庐脰脨脫脦露炉脝酶脜脻.gfx", // RES_GFX_SWIM_BUBBLE,
|
||||
"鲁脤脨貌脕陋脠毛/掳脳禄垄卤盲.gfx", // RES_GFX_TRANSFORM_TIGER,
|
||||
"鲁脤脨貌脕陋脠毛/禄冒潞眉卤盲.gfx", // RES_GFX_TRANSFORM_FOX,
|
||||
"鲁脤脨貌脕陋脠毛/录脫脩陋.gfx", // RES_GFX_RED_MEDICINE,
|
||||
"鲁脤脨貌脕陋脠毛/录脫脛搂.gfx", // RES_GFX_BLUE_MEDICINE,
|
||||
"鲁脤脨貌脕陋脠毛/录脫脩陋录脫脛搂.gfx", // RES_GFX_PURPLE_MEDICINE,
|
||||
"鲁脤脨貌脕陋脠毛/陆芒露戮.gfx", // RES_GFX_JIEDU_MEDICINE,
|
||||
"鲁脤脨貌脕陋脠毛/脦茂路脌路没脢脥路脜.gfx", // RES_GFX_PHYSIC_ARMORRUNE,
|
||||
"鲁脤脨貌脕陋脠毛/路篓路脌路没脢脥路脜.gfx", // RES_GFX_MAGIC_ARMORRUNE,
|
||||
"鲁脤脨貌脕陋脠毛/戮枚露路脳麓脤卢.gfx", // RES_GFX_INDUEL,
|
||||
"鲁脤脨貌脕陋脠毛/驴脴脰脝脥露脢炉鲁碌潞矛.gfx", // RES_GFX_TANKLEADER_RED,
|
||||
"鲁脤脨貌脕陋脠毛/驴脴脰脝脥露脢炉鲁碌脌露.gfx", // RES_GFX_TANKLEADER_BLUE,
|
||||
"鹿脰脦茂/鲁猫脦茂脥篓脫脙/戮芦脕茅脡媒录露.gfx",// RES_GFX_GOBLIN_LEVELUP,
|
||||
"鲁脤脨貌脕陋脠毛/陆脟脡芦脡媒录露脠脣脌脿.gfx", // RES_GFX_INVISIBLE_DETECTED
|
||||
"虏脽禄庐脕陋脠毛/脳麓脤卢脨搂鹿没/潞脷脡芦脕卢脧脽.gfx", // RES_GFX_MONSTER_SPIRIT_LINE
|
||||
"鲁脤脨貌脕陋脠毛/鹿芒脟貌脤脴脨搂_脳脫脨搂鹿没01.gfx", // RES_GFX_MONSTER_SPIRIT_BALL
|
||||
"脠脣脦茂/脥篓脫脙/脝盲脣眉/戮鲁陆莽脤谩脡媒.gfx",
|
||||
"虏脽禄庐脕陋脠毛/脳麓脤卢脨搂鹿没/露路脝酶%d录露.gfx",
|
||||
"程序联入/角色升级人类.gfx", // RES_GFX_LEVELUP,
|
||||
"程序联入/角色出现人类.gfx", // RES_GFX_PLAYERAPPEAR,
|
||||
"被击中/被击中效果.gfx", // RES_GFX_HIT,
|
||||
"程序联入/指向标.gfx", // RES_GFX_MOVETARGET,
|
||||
"程序联入/金币效果.gfx", // RES_GFX_ITEMFLASH,
|
||||
"程序联入/鼠标悬浮.gfx", // RES_GFX_CURSORHOVER,
|
||||
"程序联入/目标被选中.gfx", // RES_GFX_SELECTED,
|
||||
"程序联入/海底飘尘.gfx", // RES_GFX_FLOATING_DUST,
|
||||
"程序联入/人物游动水圈.gfx", // RES_GFX_WATER_WAVE_STILL,
|
||||
"程序联入/人物游动水波.gfx", // RES_GFX_WATER_WAVE_MOVE,
|
||||
"程序联入/水中呼吸气泡.gfx", // RES_GFX_AIR_BUBBLE,
|
||||
"程序联入/水中游动气泡.gfx", // RES_GFX_SWIM_BUBBLE,
|
||||
"程序联入/白虎变.gfx", // RES_GFX_TRANSFORM_TIGER,
|
||||
"程序联入/火狐变.gfx", // RES_GFX_TRANSFORM_FOX,
|
||||
"程序联入/加血.gfx", // RES_GFX_RED_MEDICINE,
|
||||
"程序联入/加魔.gfx", // RES_GFX_BLUE_MEDICINE,
|
||||
"程序联入/加血加魔.gfx", // RES_GFX_PURPLE_MEDICINE,
|
||||
"程序联入/解毒.gfx", // RES_GFX_JIEDU_MEDICINE,
|
||||
"程序联入/物防符释放.gfx", // RES_GFX_PHYSIC_ARMORRUNE,
|
||||
"程序联入/法防符释放.gfx", // RES_GFX_MAGIC_ARMORRUNE,
|
||||
"程序联入/决斗状态.gfx", // RES_GFX_INDUEL,
|
||||
"程序联入/控制投石车红.gfx", // RES_GFX_TANKLEADER_RED,
|
||||
"程序联入/控制投石车蓝.gfx", // RES_GFX_TANKLEADER_BLUE,
|
||||
"怪物/宠物通用/精灵升级.gfx",// RES_GFX_GOBLIN_LEVELUP,
|
||||
"程序联入/角色升级人类.gfx", // RES_GFX_INVISIBLE_DETECTED
|
||||
"策划联入/状态效果/黑色连线.gfx", // RES_GFX_MONSTER_SPIRIT_LINE
|
||||
"程序联入/光球特效_子效果01.gfx", // RES_GFX_MONSTER_SPIRIT_BALL
|
||||
"人物/通用/其它/境界提升.gfx",
|
||||
"策划联入/状态效果/斗气%d级.gfx",
|
||||
};
|
||||
|
||||
// Shader resource
|
||||
static readonly string[] l_aShaderFiles =
|
||||
|
||||
public static string res_GFXFile(int n)
|
||||
{
|
||||
"hair.sdr", // 0
|
||||
"goatee.sdr",
|
||||
"face.sdr",
|
||||
"eye.sdr",
|
||||
"brow.sdr",
|
||||
|
||||
"mouth.sdr", // 5
|
||||
"nose.sdr",
|
||||
"eyeball.sdr",
|
||||
"moustache.sdr",
|
||||
"body.sdr"
|
||||
};
|
||||
|
||||
// Icon files
|
||||
static readonly string[] l_aIconFiles =
|
||||
{
|
||||
"麓貌脳酶.dds",
|
||||
"脳脽脜脺脳陋禄禄.dds",
|
||||
"脝脮脥篓鹿楼禄梅.dds",
|
||||
"脩掳脮脪脛驴卤锚.dds",
|
||||
"脨颅脰煤鹿楼禄梅.dds",
|
||||
|
||||
"脩没脟毛录脫脠毛.dds",
|
||||
"脥脩脌毛露脫脦茅.dds",
|
||||
"脤脽鲁枚露脫脦茅.dds",
|
||||
"脩掳脮脪露脫脦茅.dds",
|
||||
"陆禄脪脳脙眉脕卯.dds",
|
||||
|
||||
"掳脷脤炉脗么.dds",
|
||||
"掳脷脤炉脗貌.dds",
|
||||
"脩没脟毛录脫脠毛.dds",
|
||||
"路脡脨脨.dds",
|
||||
"脮脨脢脰.dds", // RES_ICON_CMD_EXP_WAVE,
|
||||
|
||||
"碌茫脥路.dds", // RES_ICON_CMD_EXP_NOD,
|
||||
"脪隆脥路.dds", // RES_ICON_CMD_EXP_SHAKEHEAD,
|
||||
"脣脢录莽掳貌.dds", // RES_ICON_CMD_EXP_SHRUG,
|
||||
"麓贸脨娄.dds", // RES_ICON_CMD_EXP_LAUGH,
|
||||
"脡煤脝酶.dds", // RES_ICON_CMD_EXP_ANGRY,
|
||||
|
||||
"脭脦碌鹿.dds", // RES_ICON_CMD_EXP_STUN,
|
||||
"戮脷脡楼.dds", // RES_ICON_CMD_EXP_DEPRESSED,
|
||||
"路脡脦脟.dds", // RES_ICON_CMD_EXP_KISSHAND,
|
||||
"潞娄脨脽.dds", // RES_ICON_CMD_EXP_SHY,
|
||||
"卤搂脠颅.dds", // RES_ICON_CMD_EXP_SALUTE,
|
||||
|
||||
"脳酶脧脗.dds", // RES_ICON_CMD_EXP_SITDOWN,
|
||||
"鲁氓路忙.dds", // RES_ICON_CMD_EXP_ASSAULT,
|
||||
"脣录驴录.dds", // RES_ICON_CMD_EXP_THINK,
|
||||
"脤么脨脝.dds", // RES_ICON_CMD_EXP_DEFIANCE,
|
||||
"脢陇脌没.dds", // RES_ICON_CMD_EXP_VICTORY,
|
||||
|
||||
"脡矛脌脕脩眉.dds", // RES_ICON_CMD_EXP_GAPE
|
||||
"脟脳脦脟.dds", // RES_ICON_CMD_EXP_KISS
|
||||
"脮陆露路.dds", // RES_ICON_CMD_EXP_FIGHT,
|
||||
"鹿楼禄梅1.dds", // RES_ICON_CMD_EXP_ATTACK1,
|
||||
"鹿楼禄梅2.dds", // RES_ICON_CMD_EXP_ATTACK2,
|
||||
|
||||
"鹿楼禄梅3.dds", // RES_ICON_CMD_EXP_ATTACK3,
|
||||
"鹿楼禄梅4.dds", // RES_ICON_CMD_EXP_ATTACK4,
|
||||
"路脌脫霉.dds", // RES_ICON_CMD_EXP_DEFENCE,
|
||||
"脣陇碌鹿.dds", // RES_ICON_CMD_EXP_FALL,
|
||||
"碌鹿碌脴.dds", // RES_ICON_CMD_EXP_FALLONGROUND,
|
||||
|
||||
"脮脜脥没.dds", // RES_ICON_CMD_EXP_LOOKAROUND,
|
||||
"脦猫碌赂1.dds", // RES_ICON_CMD_EXP_DANCE,
|
||||
"脦猫碌赂2.dds", // RES_ICON_CMD_EXP_FASHIONWEAPON
|
||||
"脢掳脠隆.dds", // RES_ICON_CMD_PICKUP
|
||||
"脥脷戮貌.dds", // RES_ICON_CMD_GATHER
|
||||
"录脫脣脵路脡脨脨.dds", // RES_ICON_CMD_RUSHFLY
|
||||
|
||||
"脧脿脪脌脧脿脵脣碌脛露炉脳梅.dds", // RES_ICON_CMD_BINDBUDDY
|
||||
"脟脳脟脳脙脺脙脺碌脛露炉脳梅.dds", // RES_ICON_CMD_TWOKISS
|
||||
"脤酶脭戮碌脛露炉脳梅1.dds", // RES_ICON_CMD_JUMPTRICK,
|
||||
"脤酶脭戮碌脛露炉脳梅2.dds", // RES_ICON_CMD_RUNTRICK,
|
||||
};
|
||||
|
||||
// Model files
|
||||
static readonly string[] l_aModelFiles =
|
||||
{
|
||||
"models/matters/脦茂脝路/陆冒卤脪/陆冒卤脪.ecm",
|
||||
"models/matters/脦茂脝路/脭陋戮搂/脭陋戮搂.ecm",
|
||||
// 脠脣脌脿
|
||||
"models/players/脨脦脧贸/脦盲脧脌脛脨/脟没赂脡/脦盲脧脌脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脦盲脧脌脜庐/脟没赂脡/脦盲脧脌脜庐.ecm",
|
||||
"models/players/脨脦脧贸/路篓脢娄脛脨/脟没赂脡/路篓脢娄脛脨.ecm",
|
||||
"models/players/脨脦脧贸/路篓脢娄脜庐/脟没赂脡/路篓脢娄脜庐.ecm",
|
||||
// 脧芦脳氓 脦脳脢娄
|
||||
"models/players/脨脦脧贸/脦脳脢娄脛脨/脟没赂脡/脦脳脢娄脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脦脳脢娄脜庐/脟没赂脡/脦脳脢娄脜庐.ecm",
|
||||
// 脩媒脳氓
|
||||
"",
|
||||
"models/players/脨脦脧贸/脩媒戮芦/脟没赂脡/脩媒戮芦.ecm",
|
||||
"models/players/脨脦脧贸/脩媒脢脼脛脨/脟没赂脡/脩媒脢脼脛脨.ecm",
|
||||
"",
|
||||
// 脧芦脳氓 麓脤驴脥
|
||||
"models/players/脨脦脧贸/麓脤驴脥脛脨/脟没赂脡/麓脤驴脥脛脨.ecm",
|
||||
"models/players/脨脦脧贸/麓脤驴脥脜庐/脟没赂脡/麓脤驴脥脜庐.ecm",
|
||||
// 脫冒脳氓
|
||||
"models/players/脨脦脧贸/脫冒脙垄脛脨/脟没赂脡/脫冒脙垄脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脫冒脙垄脜庐/脟没赂脡/脫冒脙垄脜庐.ecm",
|
||||
"models/players/脨脦脧贸/脫冒脕茅脛脨/脟没赂脡/脫冒脕茅脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脫冒脕茅脜庐/脟没赂脡/脫冒脕茅脜庐.ecm",
|
||||
// 脕茅脳氓
|
||||
"models/players/脨脦脧贸/陆拢脕茅脛脨/脟没赂脡/陆拢脕茅脛脨.ecm",
|
||||
"models/players/脨脦脧贸/陆拢脕茅脜庐/脟没赂脡/陆拢脕茅脜庐.ecm",
|
||||
"models/players/脨脦脧贸/梅脠脕茅脛脨/脟没赂脡/梅脠脕茅脛脨.ecm",
|
||||
"models/players/脨脦脧贸/梅脠脕茅脜庐/脟没赂脡/梅脠脕茅脜庐.ecm",
|
||||
// 脰掳脪碌卤盲脡铆脛拢脨脥
|
||||
"models/players/脨脦脧贸/掳脳禄垄/掳脳禄垄.ecm",
|
||||
"models/players/脨脦脧贸/禄冒潞眉脌锚/禄冒潞眉脌锚.ecm",
|
||||
"models/players/脨脦脧贸/脫掳脳氓卤盲脡铆脛脨/脫掳脳氓卤盲脡铆脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脫掳脳氓卤盲脡铆脜庐/脫掳脳氓卤盲脡铆脜庐.ecm",
|
||||
|
||||
// 录录脛脺卤盲脡铆脛拢脨脥拢篓麓脣ID虏禄驴脡卤盲拢卢脨脗脛拢脨脥脟毛脥霉潞贸脤铆录脫拢漏
|
||||
"models/players/脨脦脧贸/陆冒脟庐脥脺/陆冒脟庐脥脺.ecm",
|
||||
"models/players/脨脦脧贸/禄茅脌帽脥炉脛脨/禄茅脌帽脥炉脛脨.ecm",
|
||||
"models/players/脨脦脧贸/禄茅脌帽脥炉脜庐/禄茅脌帽脥炉脜庐.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶.ecm",
|
||||
"models/players/脨脦脧贸/脢梅录娄/脢梅录娄.ecm",
|
||||
"models/players/脨脦脧贸/脨隆脛搂禄垄/脨隆脛搂禄垄.ecm",
|
||||
"models/players/脨脦脧贸/潞矛脡芦脣脡脢贸/潞矛脡芦脣脡脢贸.ecm",
|
||||
"models/players/脨脦脧贸/脗陆禄炉碌脛潞拢鹿锚/脗陆禄炉碌脛潞拢鹿锚.ecm",
|
||||
"models/players/脨脦脧贸/脨脗脛茂碌脛卤铆赂莽/脨脗脛茂碌脛卤铆赂莽.ecm",
|
||||
"models/players/脨脦脧贸/脡脷卤酶驴镁脌脺/脡脷卤酶驴镁脌脺.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脝贸露矛碌脹脥玫/脝贸露矛碌脹脥玫.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脝贸露矛碌脹脥玫/脝贸露矛禄脢潞贸.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脩漏脥脙/脩漏脥脙.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脤漏碌脧脨脺/脤漏碌脧脨脺.ecm",
|
||||
"models/players/脨脦脧贸/潞矛脡芦脣脡脢贸/潞矛脡芦脣脡脢贸麓贸.ecm",
|
||||
"models/players/脨脦脧贸/脢梅录娄/脢梅录娄麓贸.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶路脽脜颅.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶戮脷脡楼.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶脢搂脗盲.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脩漏脥脙/脩漏脥脙碌莽鹿芒.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脕煤/脕煤.ecm",
|
||||
// 脰掳脪碌卤盲脡铆脨脗脛拢脨脥
|
||||
"models/players/脨脦脧贸/脨脺脙篓/脨脺脙篓.ecm",
|
||||
"models/players/脨脦脧贸/碌没脫冒潞眉/碌没脫冒潞眉.ecm",
|
||||
|
||||
// 脛卢脠脧掳脷脤炉脛拢脨脥
|
||||
"models/players/脨脦脧贸/掳脷脤炉/脛脨/脛脨.ecm",
|
||||
"models/players/脨脦脧贸/掳脷脤炉/脜庐/脜庐.ecm",
|
||||
|
||||
// 毛脢脳氓
|
||||
"models/players/脨脦脧贸/脪鹿脫掳脛脨/脟没赂脡/脪鹿脫掳脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脪鹿脫掳脜庐/脟没赂脡/脪鹿脫掳脜庐.ecm",
|
||||
"models/players/脨脦脧贸/脭脗脧脡脛脨/脟没赂脡/脭脗脧脡脛脨.ecm",
|
||||
"models/players/脨脦脧贸/脭脗脧脡脜庐/脟没赂脡/脭脗脧脡脜庐.ecm",
|
||||
|
||||
// ???????
|
||||
"models/players/脨脦脧贸/毛脢脳氓卤盲脡铆脪鹿脫掳脛脨/毛脢脳氓卤盲脡铆脪鹿脫掳脛脨.ecm",
|
||||
"models/players/脨脦脧贸/毛脢脳氓卤盲脡铆脪鹿脫掳脜庐/毛脢脳氓卤盲脡铆脪鹿脫掳脜庐.ecm",
|
||||
"models/players/脨脦脧贸/毛脢脳氓卤盲脡铆脭脗脧脡脛脨/毛脢脳氓卤盲脡铆脭脗脧脡脛脨.ecm",
|
||||
"models/players/脨脦脧贸/毛脢脳氓卤盲脡铆脭脗脧脡脜庐/毛脢脳氓卤盲脡铆脭脗脧脡脜庐.ecm",
|
||||
};
|
||||
|
||||
|
||||
// Model files
|
||||
static readonly string[] l_aModelFilesForChangeShape2 = // 脨隆露炉脦茂卤盲脡铆拢卢卤盲脡铆脌脿脨脥脦陋 2
|
||||
{
|
||||
"",
|
||||
|
||||
// 脮陆鲁碌卤盲脡铆
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脥露脢炉鲁碌/脥露脢炉鲁碌鲁玫录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脥露脢炉鲁碌/脥露脢炉鲁碌脰脨录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脥露脢炉鲁碌/脥露脢炉鲁碌赂脽录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脭露鲁脤脮陆鲁碌/脭露鲁脤脮陆鲁碌鲁玫录露.ecm",
|
||||
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脭露鲁脤脮陆鲁碌/脭露鲁脤脮陆鲁碌脰脨录露.ecm", // 5
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脭露鲁脤脮陆鲁碌/脭露鲁脤脮陆鲁碌赂脽录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/鹿颅氓贸脮陆鲁碌/鹿颅氓贸脮陆鲁碌鲁玫录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/鹿颅氓贸脮陆鲁碌/鹿颅氓贸脮陆鲁碌脰脨录露.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/鹿颅氓贸脮陆鲁碌/鹿颅氓贸脮陆鲁碌赂脽录露.ecm",
|
||||
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脫脟脫么脰脨脛锚/脫脟脫么脰脨脛锚.ecm", // 10
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/盲陆脨脺脛脨潞矛/盲陆脨脺脛脨潞矛.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脨隆脗铆鲁碌/脨隆脗铆鲁碌.ecm",
|
||||
"models/players/脨脦脧贸/脨隆脩漏脠脣/脨隆脩漏脠脣.ecm",
|
||||
"",
|
||||
|
||||
"", //15
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
||||
"", // 20
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
||||
"", // 25
|
||||
|
||||
// 录录脛脺卤盲脡铆脛拢脨脥拢篓麓脣ID虏禄驴脡卤盲拢卢脨脗脛拢脨脥脟毛脥霉潞贸脤铆录脫拢漏
|
||||
"models/players/脨脦脧贸/陆冒脟庐脥脺/陆冒脟庐脥脺.ecm",
|
||||
"models/players/脨脦脧贸/禄茅脌帽脥炉脛脨/禄茅脌帽脥炉脛脨.ecm",
|
||||
"models/players/脨脦脧贸/禄茅脌帽脥炉脜庐/禄茅脌帽脥炉脜庐.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶.ecm",
|
||||
"models/players/脨脦脧贸/脢梅录娄/脢梅录娄.ecm",
|
||||
"models/players/脨脦脧贸/脨隆脛搂禄垄/脨隆脛搂禄垄.ecm",
|
||||
"models/players/脨脦脧贸/潞矛脡芦脣脡脢贸/潞矛脡芦脣脡脢贸.ecm",
|
||||
"models/players/脨脦脧贸/脗陆禄炉碌脛潞拢鹿锚/脗陆禄炉碌脛潞拢鹿锚.ecm",
|
||||
"models/players/脨脦脧贸/脨脗脛茂碌脛卤铆赂莽/脨脗脛茂碌脛卤铆赂莽.ecm",
|
||||
"models/players/脨脦脧贸/脡脷卤酶驴镁脌脺/脡脷卤酶驴镁脌脺.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脝贸露矛碌脹脥玫/脝贸露矛碌脹脥玫.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脝贸露矛碌脹脥玫/脝贸露矛禄脢潞贸.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脩漏脥脙/脩漏脥脙.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脤漏碌脧脨脺/脤漏碌脧脨脺.ecm",
|
||||
"models/players/脨脦脧贸/潞矛脡芦脣脡脢贸/潞矛脡芦脣脡脢贸麓贸.ecm",
|
||||
"models/players/脨脦脧贸/脢梅录娄/脢梅录娄麓贸.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶路脽脜颅.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶戮脷脡楼.ecm",
|
||||
"models/players/脨脦脧贸/2011卤盲脡铆/脭掳脪脮脟酶脡脷卤酶/脭掳脪脮脟酶脡脷卤酶脢搂脗盲.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脩漏脥脙/脩漏脥脙碌莽鹿芒.ecm",
|
||||
"models/players/脨脦脧贸/2013卤盲脡铆/脕煤/脕煤.ecm",
|
||||
"models/players/脨脦脧贸/2014卤盲脡铆/路莽路篓脢娄/路莽路篓脢娄.ecm",
|
||||
"models/players/脨脦脧贸/2014卤盲脡铆/脪鹿脫掳脫掳露脻卤盲脡铆/脫掳露脻.ecm",
|
||||
"models/players/脨脦脧贸/2015卤盲脡铆/碌掳碌掳/碌掳碌掳.ecm",
|
||||
"models/players/脨脦脧贸/2015卤盲脡铆/路脢脩貌/路脢脩貌.ecm",
|
||||
"models/players/脨脦脧贸/2015卤盲脡铆/脕煤脙篓/脕煤脙篓.ecm",
|
||||
"models/players/脨脦脧贸/2015卤盲脡铆/脜脻脜脻脫茫/脜脻脜脻脫茫.ecm",
|
||||
};
|
||||
|
||||
static readonly string[] l_szSysIconFile = {
|
||||
"2013/驴矛陆脻脌赂/gt(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/touch(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/脨脼脕露(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/掳脵驴脝(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/录脛脗么(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/脥锚脙脌路镁脦帽(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/脟茅脭碌(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/戮脹脕茅(脮媒鲁拢).dds",
|
||||
"2013/驴矛陆脻脌赂/脳脭露炉潞脠脪漏(脮媒鲁拢).dds",
|
||||
"",
|
||||
};
|
||||
if (n < 0 || n >= l_aGFXFiles.Length)
|
||||
{
|
||||
BMLogger.LogError("Dat: res_GFXFile is out of range");
|
||||
return null;
|
||||
}
|
||||
return l_aGFXFiles[n];
|
||||
}
|
||||
}
|
||||
|
||||
// Cursor resource
|
||||
|
||||
Reference in New Issue
Block a user