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#
		
	
| 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);
 | |
|     }
 | |
| } |