| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battlemap_load_state.erl | 4 | ||||
| -rw-r--r-- | src/battlemap_node.erl | 11 | ||||
| -rw-r--r-- | src/shim_battlemap_character.erl | 26 | ||||
| -rw-r--r-- | src/shim_database.erl | 3 | ||||
| -rw-r--r-- | src/timed_cache_object.erl | 2 | ||||
| -rw-r--r-- | src/timed_caches_manager.erl | 20 | 
6 files changed, 51 insertions, 15 deletions
| diff --git a/src/battlemap_load_state.erl b/src/battlemap_load_state.erl index e519886..43fde3d 100644 --- a/src/battlemap_load_state.erl +++ b/src/battlemap_load_state.erl @@ -9,7 +9,7 @@  handle (Req) ->     JSONReqMap = jiffy:decode(Req, [return_maps]),     BattlemapID = maps:get(<<"battlemap_id">>, JSONReqMap), -   io:format("~nLoading Battlemap ~p...", [BattlemapID]), +   io:format("~nLoading Battlemap ~p...~n", [BattlemapID]),     {Battlemap, CharList} =        timed_cache_object:fetch(           battlemaps_db, @@ -34,7 +34,7 @@ handle (Req) ->              {                 <<"data">>,                 [ -                  battlemap_battlemap:encode_to_json(Battlemap) +                  battlemap_battlemap:encode_in_json(Battlemap)                    |                    lists:map(                       fun (Char) -> diff --git a/src/battlemap_node.erl b/src/battlemap_node.erl new file mode 100644 index 0000000..cf6b65b --- /dev/null +++ b/src/battlemap_node.erl @@ -0,0 +1,11 @@ +-module(battlemap_node). +-export([start/1]). + +start(_YawsParams) -> +   {ok, Pid} = gen_server:start(timed_caches_manager, [], []), +   gen_server:cast(Pid, {add, battlemaps_db, none}), +%%   timed_caches_manager:add_cache([], battlemaps_db, none), +   receive +      after 5000 -> +         [] = ets:lookup(battlemaps_db, <<"00">>) +   end. diff --git a/src/shim_battlemap_character.erl b/src/shim_battlemap_character.erl index 80e91b0..5d28c53 100644 --- a/src/shim_battlemap_character.erl +++ b/src/shim_battlemap_character.erl @@ -22,16 +22,22 @@ generate_char (N, X, Y, Team) ->  generate (0, Result, _MaxX, _MaxY) ->     Result;  generate (N, Prev, MaxX, MaxY) -> -   [ -      generate_char -      ( -         N, -         (rand:uniform(MaxX) - 1), -         (rand:uniform(MaxY) - 1), -         (N rem 2) -      ) -      | Prev -   ]. +   generate +   ( +      (N - 1), +      [ +         generate_char +         ( +            N, +            (rand:uniform(MaxX) - 1), +            (rand:uniform(MaxY) - 1), +            (N rem 2) +         ) +         | Prev +      ], +      MaxX, +      MaxY +   ).  generate (MaxX, MaxY) ->     generate(rand:uniform(14) + 2, [], MaxX, MaxY). diff --git a/src/shim_database.erl b/src/shim_database.erl index 237ff4d..4628664 100644 --- a/src/shim_database.erl +++ b/src/shim_database.erl @@ -1,7 +1,8 @@  -module(shim_database).  -export([fetch/2]). -fetch(battlemaps_db, _Object_ID) -> +fetch(battlemaps_db, Object_ID) -> +   io:format("~nGenerating neew Battlemap ~p... ~n", [Object_ID]),     Width = (rand:uniform(54) + 10),     Height = (rand:uniform(54) + 10),     {ok, diff --git a/src/timed_cache_object.erl b/src/timed_cache_object.erl index 80127d5..341d128 100644 --- a/src/timed_cache_object.erl +++ b/src/timed_cache_object.erl @@ -26,7 +26,7 @@  %% LOCAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  add_to_cache (DB, ObjectID) -> -   {ok, TimerPID} = gen_server:start(?MODULE, [{DB, ObjectID}], []), +   {ok, TimerPID} = gen_server:start(?MODULE, {DB, ObjectID}, []),     {ok, Data} = shim_database:fetch(DB, ObjectID),     ets:insert(DB, {ObjectID, TimerPID, Data}),     Data. diff --git a/src/timed_caches_manager.erl b/src/timed_caches_manager.erl index c1c1363..4c3c267 100644 --- a/src/timed_caches_manager.erl +++ b/src/timed_caches_manager.erl @@ -32,19 +32,33 @@  delete_cache (DB) ->     ets:delete(DB). +add_cache (DB, none) -> +   io:format("~nTimed Caches Manager added a new cache. ~n"), +   ets:new( +      DB, +      [ +         set, +         public, +         named_table, +         {keypos, 1}, +         {read_concurrency, true}, +         {heir, none} +      ] +   );  add_cache (DB, Heir) -> +   io:format("~nTimed Caches Manager added a new cache. ~n"),     ets:new(        DB,        [           set,           public, +         named_table,           {keypos, 1},           {read_concurrency, true},           {heir, Heir, DB}        ]     ). -  inherit_cache (CacheList, DB, Heir) ->     case lists:member(DB, CacheList) of        true -> @@ -61,6 +75,7 @@ inherit_cache (CacheList, DB, Heir) ->  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%% gen_server  init (CacheList) -> +   io:format("~nStarting Timed Caches Manager..."),     {ok,CacheList}.  handle_call ({delete, CacheName}, _Caller, State) -> @@ -108,6 +123,9 @@ delete_cache (CacheList, DB) ->  add_cache (CacheList, DB, Heir) ->     case lists:member(DB, CacheList) of +      true when (Heir =:= none) -> +         CacheList; +        true ->           ets:setopts(DB, {heir, Heir, DB}),           CacheList; | 


