// Start is called before the first frame update private void Start() { env = new LuaEnv(); env.DoString("require 'CallLua'"); IGameUser gl = env.Global.Get <IGameUser>("gameUser"); Debug.Log("interface--" + gl.name); Debug.Log("interface--" + gl.age); gl.Speak(); Debug.Log("interface--" + gl.Caculation(100, 200)); }
/// <summary> /// User has joined the game /// </summary> /// <param name="gameUser">Game user</param> public void OnUserJoined(IGameUser gameUser) { if (gameUser is IDeathmatchGameUser deathmatch_game_user) { deathmatchGameUsers.Add(deathmatch_game_user.GUID.ToString(), deathmatch_game_user); deathmatch_game_user.OnRespawned += () => SpawnUser(deathmatch_game_user); deathmatch_game_user.OnDied += (issuers) => { deathmatch_game_user.SetSpectatingState(true); deathmatch_game_user.SetPosition(Rules.OutOfMapPosition); deathmatch_game_user.SetRotation(Rules.OutOfMapRotation); deathmatch_game_user.RespawnTime = Rules.PlayerCharacterRespawnTime; }; deathmatch_game_user.MaximalHealth = Rules.PlayerCharacterHealth; SpawnUser(deathmatch_game_user); Console.WriteLine($"User \"{ deathmatch_game_user.Name }\" with GUID \"{ deathmatch_game_user.GUID }\" has joined the game."); } else { Console.Error.WriteLine($"User \"{ gameUser.Name }\" with GUID \"{ gameUser.GUID }\" has joined the game but is not a deathmatch game user."); } }
/// <summary> /// User has left the game /// </summary> /// <param name="gameUser">Game user</param> public void OnUserLeft(IGameUser gameUser) { deathmatchGameUsers.Remove(gameUser.GUID.ToString()); Console.WriteLine($"User \"{ gameUser.Name }\" with GUID \"{ gameUser.GUID }\" has left the game."); }
/// <summary> /// User has left the game /// </summary> /// <param name="gameUser">Game user</param> public void OnUserLeft(IGameUser gameUser) => Console.WriteLine($"User \"{ gameUser.Name }\" with GUID \"{ gameUser.GUID }\" has left the game.");
/// <summary> /// User has joined the game /// </summary> /// <param name="gameUser">Game user</param> public void OnUserJoined(IGameUser gameUser) => Console.WriteLine($"User \"{ gameUser.Name }\" with GUID \"{ gameUser.GUID }\" has joined the game.");
/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="name"></param> ///<param name="user"> </param> public Character(long id, string name, IGameUser user) : base(id, name, null) { User = user; }