コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

クソコード回 Unity編

迫真クソコード部

そんなわけでUnityで簡易Webサーバ作ってたら頭おかしくなってクソ汚い汚物を生み出してしまいました。なので供養のため、ブログ記事にします。見とけよ見とけよ~。

こんなのをつくってみる。
f:id:andron:20181121233749g:plain
ひどすぎる
ボタン押すと接続が終了します。それだけです。



以下ソース。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Text;
using UnityEngine;
using UnityEngine.UI;

public class HTTPScript : MonoBehaviour {
    private HttpListener listener = new HttpListener();
    public Text text;

    void Start () {     
       listener.Prefixes.Add("http://localhost:1919/");
       listener.Start();

       HttpListenerContext context = listener.GetContext();
       HttpListenerResponse res = context.Response;
       res.StatusCode = 200;
       byte[] content = Encoding.UTF8.GetBytes("Don't push Button");
       res.OutputStream.Write(content, 0, content.Length);
       res.Close();
    }

    // ボタン処理
    public void OnClick()
    {
       text.text = "ンアッー!(≧Д≦)";
       text.fontSize = 36;
       listener.Stop();
    }
}

起動時にlocalhost:1919に文字表示させて、ボタンを押すと終了するとかそんなこと書いてます。例外処理?知らんな。


んで、とりあえず試しに作ってみたけどゾンビみたいな挙動する。多分Unityのライフサイクルがよくわかってないからだと思う。そもそもこんな使い方をしてる人を見たことがないのでどう書くのが正解かよくわからない。実用性あるのかよくわかんないですがもう少し煮詰めたらゲーム性だせそう。また進展があったら続きとかの報告とかをしてしまうかもしれない……。


おわり