示例#1
0
    // 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.");
示例#6
0
 /// <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;
 }