You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
| 
											2 years ago
										 | using Game; | ||
|  | using UnityEngine; | ||
|  | public partial class GameEntity | ||
|  | { | ||
|  |     public int ID() | ||
|  |     { | ||
|  |         return iD.Value; | ||
|  |     } | ||
|  |     public string CfgId() | ||
|  |     { | ||
|  |         return iD.Data.CfgId; | ||
|  |     } | ||
|  |     public bool IsMaster() | ||
|  |     { | ||
|  |         return ID() == Util.GetMasterID(); | ||
|  |     } | ||
|  |     public bool IsMasterSoul() | ||
|  |     { | ||
|  |         return ID() == Util.GetMasterSoulID(); | ||
|  |     } | ||
|  |     public Vector3 Pos() | ||
|  |     { | ||
|  |         return view.PositionLogic; | ||
|  |     } | ||
|  |     public Vector3 PosView() | ||
|  |     { | ||
|  |         return view.PositionView; | ||
|  |     } | ||
|  |     public Vector3 PosGround() | ||
|  |     { | ||
|  |         var pos = view.PositionLogic; | ||
|  |         return new Vector3(pos.x, 0, pos.z); | ||
|  |     } | ||
|  |     public Vector3 PosPre() | ||
|  |     { | ||
|  |         return view.PositionPre; | ||
|  |     } | ||
|  |     public void SetPos(Vector3 pos) | ||
|  |     { | ||
|  |         view.GameObject.transform.position = pos; | ||
|  |     } | ||
|  |     public void SetFixedPos(Vector3 pos) | ||
|  |     { | ||
|  |         RaycastHit hitInfo; | ||
|  |         var isHit = Physics.Raycast(pos + Vector3.up * 1, Vector3.down, out hitInfo, 2, UtilPhysics.LayerMaskDefault); | ||
|  |         if (isHit) | ||
|  |         { | ||
|  |             SetPos(hitInfo.point); | ||
|  |         } | ||
|  |         else | ||
|  |         { | ||
|  |             SetPos(pos); | ||
|  |         } | ||
|  |     } | ||
|  |     public void OnCreate() | ||
|  |     { | ||
|  |         SendAliveMsg(true); | ||
|  |     } | ||
|  |     public void OnDie() | ||
|  |     { | ||
|  |         SendAliveMsg(false); | ||
|  |     } | ||
|  |     public void SetTarget(int target) | ||
|  |     { | ||
|  |         iD.Data.Target = target; | ||
|  |     } | ||
|  |     public int Target() | ||
|  |     { | ||
|  |         return iD.Data.Target; | ||
|  |     } | ||
|  |     public void SetOwner(int owner) | ||
|  |     { | ||
|  |         iD.Data.Owner = owner; | ||
|  |     } | ||
|  |     public int Owner() | ||
|  |     { | ||
|  |         return iD.Data.Owner; | ||
|  |     } | ||
|  |     public void SetTeam(ETeam team) | ||
|  |     { | ||
|  |         iD.Data.Team = team; | ||
|  |     } | ||
|  |     public ETeam Team() | ||
|  |     { | ||
|  |         return iD.Data.Team; | ||
|  |     } | ||
|  |     private void SendAliveMsg(bool isAlive) | ||
|  |     { | ||
|  |         var param = new PEntityAlive() | ||
|  |         { | ||
|  |             Entity = ID(), | ||
|  |             IsAlive = isAlive, | ||
|  |         }; | ||
|  |         EventManager.Instance.SendEvent<PEntityAlive>(EEvent.EntityAlive, param); | ||
|  |     } | ||
|  | } |