Commit 01eb5d86 authored by 神楽坂玲奈's avatar 神楽坂玲奈

replay

parent 90c71c70
......@@ -212,13 +212,18 @@ class DecksController extends Spine.Controller
'mouseover .card_usage': 'show',
'click .card_usage': 'add',
'contextmenu .card_usage': 'minus'
$('#deck_select').change (e)->
decks._deck = decks.decks[@selectedOptions[0].value]
decks.refresh()
decks: {}
deck: (deck) ->
if deck
@decks[deck.id] = deck
@_deck = deck
CardUsage.bind('change refresh', @refresh)
$('<option/>', value: deck.id, text: deck.name, selected: true).appendTo $('#deck_select')
@refresh()
$('#name').html deck.name
@_deck
refresh: =>
......@@ -277,15 +282,28 @@ class DecksController extends Spine.Controller
upload: (files)->
file = files[0]
reader = new FileReader()
$('#deck_load').attr 'disabled', true if file
basename = file.name.split('.')
extname = basename.pop()
basename = basename.join('.')
if extname == 'yrp'
mycard.load_decks_from_replay file, (deck)->
result = new Deck(name: deck.name)
result.save()
result.card_usages deck.card_usages
decks.deck result
else
reader = new FileReader()
reader.onload = (ev)->
$('#deck_load').attr 'disabled', false
try
decks.deck Deck.load(ev.target.result, file.name.split('.')[0])
decks.deck Deck.load(ev.target.result, basename)
catch error
alert error
reader.readAsText(file)
load_from_url: (url)->
......
......@@ -511,12 +511,24 @@
'contextmenu .card_usage': 'minus'
};
$('#deck_select').change(function(e) {
decks._deck = decks.decks[this.selectedOptions[0].value];
return decks.refresh();
});
DecksController.prototype.decks = {};
DecksController.prototype.deck = function(deck) {
if (deck) {
this.decks[deck.id] = deck;
this._deck = deck;
CardUsage.bind('change refresh', this.refresh);
$('<option/>', {
value: deck.id,
text: deck.name,
selected: true
}).appendTo($('#deck_select'));
this.refresh();
$('#name').html(deck.name);
}
return this._deck;
};
......@@ -620,25 +632,41 @@
};
DecksController.prototype.upload = function(files) {
var file, reader;
var basename, extname, file, reader;
file = files[0];
reader = new FileReader();
if (file) {
$('#deck_load').attr('disabled', true);
}
basename = file.name.split('.');
extname = basename.pop();
basename = basename.join('.');
if (extname === 'yrp') {
return mycard.load_decks_from_replay(file, function(deck) {
var result;
result = new Deck({
name: deck.name
});
result.save();
result.card_usages(deck.card_usages);
return decks.deck(result);
});
} else {
reader = new FileReader();
reader.onload = function(ev) {
var error;
$('#deck_load').attr('disabled', false);
try {
return decks.deck(Deck.load(ev.target.result, file.name.split('.')[0]));
return decks.deck(Deck.load(ev.target.result, basename));
} catch (_error) {
error = _error;
return alert(error);
}
};
return reader.readAsText(file);
}
};
DecksController.prototype.load_from_url = function(url) {
......
[
{"id":1,"title":"バカ~バカ~","url":"http://touhou.my-card.in:7922/", "created_at":"2013-04-27T18:12:07+08:00","updated_at":"2013-04-27T07:12:08+08:00"}
]
[
{"auth":false, "id":1,"index":"http://touhou.my-card.in:7922/","ip":"140.113.246.2","name":"バカ~","port":7911,"pvp":false,"server_type":"ygopro"}
]
......@@ -455,9 +455,7 @@
<div class="floatleft operate_area graphic">
<div class="select_card">
<div class="select_cardOn">
<select name="">
<option id="name" value="">卡组</option>
</select>
<select name="" id="deck_select"></select>
<img class="add_ope" src="/assets/images/decks/add.png" alt="" title="新建"/>
<!-- <img class="rename_ope" src="/assets/images/decks/rename.png" alt="" title="重命名"/> -->
<div class="switch" style=""></div>
......@@ -533,6 +531,7 @@
<script src="/vendor/javascripts/spine/ajax.js"></script>
<script src="/vendor/javascripts/spine/local.js"></script>
<script src="/vendor/javascripts/spine/relation.js"></script>
<script src="/mycard-sdk/mycard.js"></script>
<script src="/assets/javascripts/public.js"></script>
<script src="/assets/javascripts/decks.js"></script>
......
@mycard = {}
@mycard.room_name = (name, password, pvp = false, rule = 0, mode = 0, start_lp = 8000, start_hand = 5, draw_count = 1) ->
if rule != 0 or start_lp != 8000 or start_hand != 5 or draw_count != 1
result = "#{rule}#{mode}FFF#{start_lp},#{start_hand},#{draw_count},"
else if mode == 2
result = "T#"
else if pvp and mode == 1
result = "PM#"
else if pvp
result = "P#"
else if mode == 1
result = "M#"
else
result = ""
result += name
result = encodeURIComponent(result)
if password
result += '$' + encodeURIComponent(password)
result
#127.0.0.1:8087/test
@mycard.room_string = (ip,port,room,username,password, _private, server_auth)->
result = ''
if username
result += encodeURIComponent(username)
if password
result += ':' + encodeURIComponent(password)
result += '@'
result += ip + ':' + port + '/' + room
if _private
result += '?private=true'
if server_auth
result += '&server_auth=true'
else if server_auth
result += '?server_auth=true'
result
#http://my-card.in/rooms/127.0.0.1:8087/test
@mycard.room_url = (ip,port,room,username,password, _private, server_auth)->
result = 'http://my-card.in/rooms/' + @room_string(ip,port,room,username,password, _private, server_auth)
#mycard://127.0.0.1:8087/test
@mycard.room_url_mycard = (ip,port,room,username,password, _private, server_auth)->
result = 'mycard://' + @room_string(ip,port,room,username,password, _private, server_auth)
@mycard.join = (ip,port,room,username,password, _private, server_auth)->
window.location.href = @room_url_mycard(ip,port,room,username,password, _private, server_auth)
\ No newline at end of file
// Generated by CoffeeScript 1.4.0
(function() {
this.mycard = {};
this.mycard.room_name = function(name, password, pvp, rule, mode, start_lp, start_hand, draw_count) {
var result;
if (pvp == null) {
pvp = false;
}
if (rule == null) {
rule = 0;
}
if (mode == null) {
mode = 0;
}
if (start_lp == null) {
start_lp = 8000;
}
if (start_hand == null) {
start_hand = 5;
}
if (draw_count == null) {
draw_count = 1;
}
if (rule !== 0 || start_lp !== 8000 || start_hand !== 5 || draw_count !== 1) {
result = "" + rule + mode + "FFF" + start_lp + "," + start_hand + "," + draw_count + ",";
} else if (mode === 2) {
result = "T#";
} else if (pvp && mode === 1) {
result = "PM#";
} else if (pvp) {
result = "P#";
} else if (mode === 1) {
result = "M#";
} else {
result = "";
}
result += name;
result = encodeURIComponent(result);
if (password) {
result += '$' + encodeURIComponent(password);
}
return result;
};
this.mycard.room_string = function(ip, port, room, username, password, _private, server_auth) {
var result;
result = '';
if (username) {
result += encodeURIComponent(username);
if (password) {
result += ':' + encodeURIComponent(password);
}
result += '@';
}
result += ip + ':' + port + '/' + room;
if (_private) {
result += '?private=true';
if (server_auth) {
result += '&server_auth=true';
}
} else if (server_auth) {
result += '?server_auth=true';
}
return result;
};
this.mycard.room_url = function(ip, port, room, username, password, _private, server_auth) {
var result;
return result = 'http://my-card.in/rooms/' + this.room_string(ip, port, room, username, password, _private, server_auth);
};
this.mycard.room_url_mycard = function(ip, port, room, username, password, _private, server_auth) {
var result;
return result = 'mycard://' + this.room_string(ip, port, room, username, password, _private, server_auth);
};
this.mycard.join = function(ip, port, room, username, password, _private, server_auth) {
return window.location.href = this.room_url_mycard(ip, port, room, username, password, _private, server_auth);
};
}).call(this);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment