public MachineState(Vector3Int pos, Players.Player owner, string machineType) { Position = pos; MachineType = machineType; Owner = owner; MachineSettings = MachineManager.GetCallbacks(machineType); }
public MachineState(Vector3Int pos, Players.Player owner, string machineType, IMachineSettings settings = null) { Position = pos; MachineType = machineType; Owner = owner; if (settings == null) { MachineSettings = MachineManager.GetCallbacks(machineType); } else { MachineSettings = settings; } }
public MachineState(JSONNode baseNode, Players.Player owner) { MAX_DURABILITY[owner] = DEFAULT_MAX_DURABILITY; MAX_FUEL[owner] = DEFAULT_MAX_FUEL; MAX_LOAD[owner] = DEFAULT_MAX_LOAD; Position = (Vector3Int)baseNode[nameof(Position)]; Durability = baseNode.GetAs <float>(nameof(Durability)); Fuel = baseNode.GetAs <float>(nameof(Fuel)); MachineType = baseNode.GetAs <string>(nameof(MachineType)); if (baseNode.TryGetAs <float>(nameof(Load), out var load)) { Load = load; } MachineSettings = MachineManager.GetCallbacks(MachineType); }