「シム/コントローラ」の編集履歴(バックアップ)一覧に戻る
シム/コントローラ - (2012/06/21 (木) 20:32:04) のソース
#javascript(){{ <script language="JavaScript"><!-- ////////////////////////////////////////////////// function num(arg){ if (isNaN(arg)) return 0; return arg-0; } ////////////////////////////////////////////////// function to_empty(val){ if ('undefined'==typeof val) return ''; return val; } ////////////////////////////////////////////////// function if_empty(val1,val2){ if ('undefined'==typeof val1) return val2; if (!val1) return val2; return val1; } ////////////////////////////////////////////////// function _debug(msg,lbl){ // return; dbg = $('#debugmsg'); if(!dbg.length){ $('body').append('<div id="debugmsg" style="display:none;"></div>'); dbg = $('#debugmsg'); } if(dbg) dbg.html(dbg.html()+(lbl?'['+lbl+'] '+msg:msg)+"<br />\n"); if (!$.browser.msie){ if (lbl) console.log('['+lbl+'] '+msg); if ('object' ==typeof msg) console.dir(msg); } } ////////////////////////////////////////////////// function to_local_key(key){ var ret = ''; switch(key){ // スロットに保存しないキーを列挙 case 'slot': case 'fs': break; default: var t = $('#slot'); if (t && t.length){ ret = t.val(); if ('0'==ret) ret = ''; } } ret = ret?ret+'/'+key:key; return ret; } ////////////////////////////////////////////////// var local_data = {}; function save_local(name,value){ name = to_local_key(name); // _debug(value,name); if (undefined==value){ delete_local(name); } switch(true){ case $.browser.mozilla: case $.browser.opera: case $.browser.safari: return localStorage.setItem(name,value); break; case $.browser.msie: if (9<=$.browser.version){ return localStorage.setItem(name,value); } break; default: return localStorage.setItem(name,value); } return null; } ////////////////////////////////////////////////// function load_local(name,defval){ var ret = null; name = to_local_key(name); switch(true){ case $.browser.mozilla: case $.browser.opera: case $.browser.safari: ret = localStorage.getItem(name); break; case $.browser.msie: if (9<=$.browser.version){ ret = localStorage.getItem(name); } break; default: ret = localStorage.getItem(name); } // _debug(ret,name); if (ret) return ret; return defval; } ////////////////////////////////////////////////// function delete_local(name){ name = to_local_key(name); localStorage.removeItem(name); } ////////////////////////////////////////////////// function clear_local(){ localStorage.clear(); } (function(d, func) { var check = function() { if (typeof jQuery == 'undefined') return false; func(jQuery); return true; } if (check()) return; var s = d.createElement('script'); s.type = 'text/javascript'; s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'; d.getElementsByTagName('head')[0].appendChild(s); (function() { if (check()) return; setTimeout(arguments.callee, 100); })(); })(document, function($) { $('#debugclear').click(function(e){$('#debugmsg').empty();}); ////////////////////////////////////////////////// function init(order){ // if ( $.browser.msie) // if ($.browser.version9<) set_ccs_tag('subtitle','.subtitle {background-color:#ffffcc;color:black;font-size:x-small !important;text-align:center;font-weight:bold;}'); load_all(); // _debug($.browser); $('#sel_maptype').change(); $('#sel_cellsize').change(); } ////////////////////////////////////////////////// function load_all(){ var sz = load_local('setting/cellsize'); set_map_cell_size(sz); $('#sel_cellsize').val(sz); } ////////////////////////////////////////////////// function select_cell(row,col){ var t = $('#cell_info'); var b = Battle(); // _debug(b); if (!b) return; var m = b.map; var mb = b.map_block; // _debug(mb); if (m){ mb.find('.selection').removeClass('selection'); var cell = mb.find('.mcell[row='+row+'][col='+col+']'); cell.addClass('selection'); // _debug(cell); inf = m.terrain_info(cell.attr('class')); // _debug(inf.toSource()); lbl_p = t.find('.label').parent(); lbl_p.attr('class',''); lbl_p.addClass('info'); lbl_p.addClass(inf.terra); t.find('.posx').text(col); t.find('.posy').text(row); t.find('.label').text(inf.label); t.find('.def').text(inf.def); t.find('.avd').text(inf.avoid); t.find('.rcv').text(inf.recovery); t.find('.note').text(' '); var note = ''; if (inf.closure) note = '移動'; if (!inf.wait) note += (note?'・':'')+'待機'; if (note) t.find('.note').text(note+'不可'); } t = $('#unit_info .status'); // t.empty(); var ui = cell.find('.tip'); if (ui && ui.length){ mb.find('.attention').removeClass('attention'); cell.addClass('attention'); t.empty(); t.append(ui.html()); } } ////////////////////////////////////////////////// $('#chmv').change(function(e){ var v = $(this).attr('checked'); save_local('mv',0+!!v); if (v){ $('.movable').css('position', 'absolute'); $('.movable').css('float', 'left'); }else{ $('.movable').css('position', 'static'); $('.movable').css('float', 'none'); } e.stopPropagation(); return false; }); ////////////////////////////////////////////////// $('.movable').mousedown(function(e) { if (!$('#chmv').attr('checked')) return true; var t = $(this); var x1 = e.pageX, x = t.offset().left; var y1 = e.pageY, y = t.offset().top; t.css('cursor', 'move'); t.bind('mousemove.movable', function(e) { x += e.pageX - x1; y += e.pageY - y1; t.css('top', y).css('left', x); x1 = e.pageX; y1 = e.pageY; save_local('x',x); save_local('y',y); return false; }).one('mouseup', function() { t.css('cursor', 'auto'); t.unbind('mousemove.movable'); }); return true; }); ////////////////////////////////////////////////// $('#sel_maptype').change(function(e){ var mt = $(this).val(); var defcode = load_local('setting/selection/'+mt); // _debug(mt); var lst = battles[mt]; // _debug(lst); var t = $('#sel_battle'); t.empty(); // t.append('<option class="" value=""> </option>'); var cnt = 0; for(var idx in lst){ var selected = ''; var el = lst[idx]; if (!el) continue; // if (!el.code || el.code=='code') continue; if (el.code==defcode) selected = ' selected="selected" '; t.append('<option class="" value="'+el.code+'"'+selected+'>'+el.label+'</option>'); cnt++; } t.attr('size',cnt); $('#sel_battle').change(); }); ////////////////////////////////////////////////// $('#sel_battle').change(function(e){ var mt = $('#sel_maptype').val(); var code = $(this).val(); b = Battle(code); // _debug(b); if (b){ b.display('#map_view001'); // _debug(b); if (b.map_block){ var pt2no1 = b.map_block.find('.tip'+'.pt2'+'.no1'); if (pt2no1 && pt2no1.length){ var row = pt2no1.attr('row'); var col = pt2no1.attr('col'); select_cell(row,col); } } save_local('setting/selection/'+mt,code); } }); ////////////////////////////////////////////////// $('#sel_cellsize').change(function(e){ var sz = $(this).val(); set_map_cell_size(sz); save_local('setting/cellsize',sz); }); ////////////////////////////////////////////////// $('.mcell').live('click',function(e){ var tst = $(this).find('.unit'); if (tst.length){ // セルにユニットがいる場合 var ofs = $('#unit_info .name').offset(); }else{ // ユニットがいない場合 } }); ////////////////////////////////////////////////// $('.mcell').live('mouseover',function(e){ var row = $(this).attr('row'); var col = $(this).attr('col'); select_cell(row,col); }).live('mouseout',function(e){ // $(this).removeClass('selection'); }); init(); }); //--></script> }}