Files
JJBB/Assets/Project/Script/Obj/Obj_Characters/Obj_GuildGharry.cs

144 lines
4.5 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
/********************************************************************************
* Obj_Fellow.cs
* \Script\Obj\Obj_Fellow.cs
*
* 2013-10-25
*
* Obj逻辑类
*
*********************************************************************************/
using GCGame;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.GlobeDefine;
using Games.Scene;
using GCGame.Table;
using Games.AnimationModule;
using System;
using Module.Log;
namespace Games.LogicObj
{
public class Obj_Init_Gharry : Obj_Character_Init_Data
{
public int sceneId;
public int sceneInst;
public int state; //0正常 1被绊
public int m_CharModelID;
public Obj_Init_Gharry()
{
CleanUp();
}
public override void CleanUp()
{
base.CleanUp();
sceneId = -1;
sceneInst = -1;
state = -1;
m_CharModelID = -1;
}
}
public class Obj_GuildGharry : Obj_Character
{
private ulong m_OwnerGuid;
private string m_OwerName;
private string m_Name;
private Obj_OtherPlayer m_Ower = null;
private int m_currState = -1;
public override UIPathData HeadUiPath
{
get { return Obj_GuildGharryHeadUI.pathData; }
}
public Obj_GuildGharry()
{
m_ObjType = GameDefine_Globe.OBJ_TYPE.OBJ_GHARRY;
}
public override bool Init(ObjParent_Init_Data initData1)
{
bool result = base.Init(initData1);
if (result == false)
return result;
Obj_Init_Gharry initData = initData1 as Obj_Init_Gharry;
m_Ower = Singleton<ObjManager>.Instance.FindOtherPlayerByGuid(initData.m_OwerGuid);
//服务器发过来的信息
m_OwerName = initData.m_OwerName;
m_Name = initData.m_StrName;
m_OwnerGuid = initData.m_OwerGuid;
if (GameManager.gameManager != null && m_OwnerGuid == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid)
{
GameManager.gameManager.PlayerDataPool.nGharryObjID = initData.m_ServerID;
}
m_currState = initData.state;
StateChange(m_currState);
Tab_CharModel charModel = TableManager.GetCharModelByID(initData.m_CharModelID, 0);
if (null != charModel)
{
BaseAttr.HeadPic = charModel.HeadPic;
m_DeltaHeight = charModel.HeadInfoHeight * ModelScale;
}
m_ObjTransform.localRotation = Utils.DirServerToClient(initData.m_fDir);
InitNavAgent();
CreateNameBoard();
LogModule.DebugLog(string.Format("Obj_GuildGharry Init {0} {1}", m_OwnerGuid, initData.state));
InitImpactInfo(initData);
ObjManager.Instance.AddPoolObj(this);
CreateModel(ModelID);
return true;
}
protected override void CreateModelOver(Hashtable hashParam)
{
base.CreateModelOver(hashParam);
}
public override void InitNameBoard(Obj_HeadUI headUiItem)
{
base.InitNameBoard(headUiItem);
HeadUi.Init(this);
HeadUi.SetName(m_Name);
HeadUi.SetOwnerName(m_OwerName);
}
public void OwerNameChange(string owerName)
{
m_OwerName = owerName;
if (HeadUi!=null)
HeadUi.SetOwnerName(m_OwerName);
}
public void FreshRoadSign()
{
if (GameManager.gameManager.AutoSearch != null)
GameManager.gameManager.AutoSearch.RoadSignManager.RoadStateChange(new Vector3(Position.x,GameManager.gameManager.RunningScene,Position.z));
}
public void StateChange(int state)
{
m_currState = state;
if (m_OwnerGuid != GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid)
return;
if (m_currState == 1)
{
UIManager.ShowUI(UIInfo.GuildHarryItem, null, null);
}
else
{
UIManager.CloseUI(UIInfo.GuildHarryItem);
}
FreshRoadSign();
}
public override void DestroyObj()
{
base.DestroyObj();
}
}
}