/** * Object that is supposed to store a persistent data about the * certain player. That is data that will be remembered even after player * reconnects or server changes map/restarts. * Copyright 2020 Anton Tarasenko *------------------------------------------------------------------------------ * This file is part of Acedia. * * Acedia is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License, or * (at your option) any later version. * * Acedia is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Acedia. If not, see . */ class User extends AcediaObject; // Unique identifier for which this `User` stores it's data var private UserID id; // A numeric "key" assigned to this user for a session that can serve as // an easy reference in console commands var private int key; /** * Initializes caller `User` with id and it's session key. Should be called * right after `APlayer` was created. * * Initialization should (and can) only be done once. * Before a `Initialize()` call, any other method calls on such `User` * must be considerate to have undefined behavior. */ public final function Initialize(UserID initID, int initKey) { id = initID; key = initKey; } /** * Return id for which caller `User` stores data. * * @return `UserID` that caller `User` was initialized with. */ public final function UserID GetID() { return id; } /** * Return session key of the caller `User`. * * @return Session key of the caller `User`. */ public final function int GetKey() { return key; } defaultproperties { }