35 lines
562 B
Elixir
35 lines
562 B
Elixir
defmodule Odinsea.World do
|
|
@moduledoc """
|
|
World state manager.
|
|
Coordinates cross-server state like parties, guilds, and families.
|
|
Ported from Java World.java.
|
|
"""
|
|
|
|
use GenServer
|
|
|
|
require Logger
|
|
|
|
# Client API
|
|
|
|
def start_link(_) do
|
|
GenServer.start_link(__MODULE__, [], name: __MODULE__)
|
|
end
|
|
|
|
# Server Callbacks
|
|
|
|
@impl true
|
|
def init(_) do
|
|
Logger.info("World state initialized")
|
|
|
|
state = %{
|
|
online_count: 0,
|
|
channels: %{},
|
|
parties: %{},
|
|
guilds: %{},
|
|
families: %{}
|
|
}
|
|
|
|
{:ok, state}
|
|
end
|
|
end
|