構造っていうか
アップデーターのクラスの構造について
アップデーターを作ってから自己アップデートのめんどくささがわかったので、
コアの部分は外部のほうがいいなと思ってコアをDLL化。
DLLを更新したときになんかいろいろとバージョンで互換性がなくなりそうだと思ってインターフェース化。
[shionsoftupdater2.exe]->(Core)->ScriptEngine & SkinManager
という形。
それでスクリプトエンジンとスキンマネージャ、スキンのコントロールは完全に独立して、インターフェース化してあります。
そのため、後々、もっと効率的なコードや、ScriptEngineによる高級言語サポートなどをしようとした場合簡単に直せます。
Reflectorとか使ってCoreのDLLを覗いてみるといいです。
アップデーターを作ってから自己アップデートのめんどくささがわかったので、
コアの部分は外部のほうがいいなと思ってコアをDLL化。
DLLを更新したときになんかいろいろとバージョンで互換性がなくなりそうだと思ってインターフェース化。
[shionsoftupdater2.exe]->(Core)->ScriptEngine & SkinManager
という形。
それでスクリプトエンジンとスキンマネージャ、スキンのコントロールは完全に独立して、インターフェース化してあります。
そのため、後々、もっと効率的なコードや、ScriptEngineによる高級言語サポートなどをしようとした場合簡単に直せます。
Reflectorとか使ってCoreのDLLを覗いてみるといいです。
スキンとスクリプト使ってその1
スキンとスクリプトで何かできんかなと思って、
とりあえず第一弾。
簡易ウェブブラウザ作りました。
といっても、アドレスに飛ぶだけなんだが。
コントロールのメソッドも使えるようにしないかんなぁ。
詰め合わせ

何気に変数機能を実装した。
コントロールへのアクセスを$、変数を#にしたんだけど、#はなんか見にくい;;
とりあえず第一弾。
簡易ウェブブラウザ作りました。
といっても、アドレスに飛ぶだけなんだが。
コントロールのメソッドも使えるようにしないかんなぁ。
詰め合わせ

何気に変数機能を実装した。
コントロールへのアクセスを$、変数を#にしたんだけど、#はなんか見にくい;;
あふう
とりあえず、最近、鍛冶屋さんを始めました。
はじめましたって言うか、鍛冶スキルは前からあるんだけど、露店で自分の作品を売り始めました。
主にビスク西広場の鍛冶屋横で広げています。
売ってるのはスチール製の盾とか装備とかです。
剣とか武器を売るのはまれだと思います。なんでだろ。
この前追加された火成岩とやらを火山灰目当てで掘ってきました。
さすが火成岩なのかめちゃめちゃ硬かった。
しかも、10分でREPOPってどういうことですか。
ながすき。
火成岩に飽きたので 商品作るためのスチールを手に入れようと、アルビーズの森で掘っていると
なぜか宝石がでるわでるわ。
1時間の採掘でこんなに出たのは初めてですよ。
そういえばなんか、なつかって人がガード殺してた。
いやいや、服あげるとなつくの?なんでもいいの?とか聞いときながら服くれなかった。
しゃんぷー作の赤い羽根(胸元)。
この赤い羽根がどこぞで転売されてたよ、100gが8000gで。
わけわかんね。
はじめましたって言うか、鍛冶スキルは前からあるんだけど、露店で自分の作品を売り始めました。
主にビスク西広場の鍛冶屋横で広げています。
売ってるのはスチール製の盾とか装備とかです。
剣とか武器を売るのはまれだと思います。なんでだろ。
この前追加された火成岩とやらを火山灰目当てで掘ってきました。
さすが火成岩なのかめちゃめちゃ硬かった。
しかも、10分でREPOPってどういうことですか。
ながすき。
火成岩に飽きたので 商品作るためのスチールを手に入れようと、アルビーズの森で掘っていると
なぜか宝石がでるわでるわ。
1時間の採掘でこんなに出たのは初めてですよ。
そういえばなんか、なつかって人がガード殺してた。
いやいや、服あげるとなつくの?なんでもいいの?とか聞いときながら服くれなかった。
しゃんぷー作の赤い羽根(胸元)。
この赤い羽根がどこぞで転売されてたよ、100gが8000gで。
わけわかんね。
スキンスクリプト2
値の参照だけだったのから、基本だけですが、設定までできるようになりました。
あと、関数呼び出しの構文が変わった。
<?xml version="1.0" encoding="sjis"?>
<skin>
<window
x="100" y="50"
width="300" height="200"
text="テスト"
style="singles"
maximize="false"
minimize="true"
debug="true">
<components>
<button
name="button1"
x="100"
y="5"
width="100"
height="20"
text="button"
onclick="button1click"
/>
<textbox
y="5"
name="text1"
width="100"
/>
<textbox
y="30"
name="text2"
width="100"
/>
</components>
<scripts>
<method name="button1click">
$text1.text = "テキスト:" : $text2.text
</method>
</scripts>
</window>
</skin>
あと、関数呼び出しの構文が変わった。
<?xml version="1.0" encoding="sjis"?>
<skin>
<window
x="100" y="50"
width="300" height="200"
text="テスト"
style="singles"
maximize="false"
minimize="true"
debug="true">
<components>
<button
name="button1"
x="100"
y="5"
width="100"
height="20"
text="button"
onclick="button1click"
/>
<textbox
y="5"
name="text1"
width="100"
/>
<textbox
y="30"
name="text2"
width="100"
/>
</components>
<scripts>
<method name="button1click">
$text1.text = "テキスト:" : $text2.text
</method>
</scripts>
</window>
</skin>














