/******************************************************************************** * 文件名: 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.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(); } } }