PlayerManager.cs
2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//UnityEngine.Debug.Log Dir http://docs.unity3d.com/Manual/UnityEngine.Debug.LogFiles.html
using UnityEngine;
using System;
using System.IO;
using System.Threading;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Net.Sockets;
using System.Diagnostics;
public class PlayerManager : GenericPlayerManager {
private Server server = null;
private Semaphore serverSemaphore = null;
private volatile bool toFinalize = false;
public override void Start()
{
base.Start();
string[] args = Environment.GetCommandLineArgs();
if (args.Length >= 2)
{
float speedRate = (int.Parse(args[1]) + 100F) / 100F;
DefaultSignSpeed ds = base.subtitles.DefaultWordSpeed;
base.subtitles.DefaultWordSpeed = new DefaultSignSpeed(
ds.Speed * speedRate,
ds.Max * speedRate
);
}
if (args.Length >= 3)
{
float speedRate = (int.Parse(args[2]) + 100F) / 100F;
DefaultSignSpeed ds = base.subtitles.DefaultLetterSpeed;
base.subtitles.DefaultLetterSpeed = new DefaultSignSpeed(
ds.Speed * speedRate,
ds.Max * speedRate
);
ds = base.subtitles.DefaultFirstLetterSpeed;
base.subtitles.DefaultFirstLetterSpeed = new DefaultSignSpeed(
ds.Speed * speedRate,
ds.Max * speedRate
);
ds = base.subtitles.DefaultNumberSpeed;
base.subtitles.DefaultNumberSpeed = new DefaultSignSpeed(
ds.Speed * speedRate,
ds.Max * speedRate
);
}
if (args.Length >= 4)
{
if (int.Parse(args[3]) == 1)
base.SUBTITLES.gameObject.SetActive(true);
}
serverSemaphore = new Semaphore(0, 1);
server = new Server(serverSemaphore, this);
Thread t = new Thread(new ThreadStart(server.startServer));
t.Start();
serverSemaphore.WaitOne();
Screen.SetResolution(800, 600, false);
}
protected void Update() {
if (toFinalize) Application.Quit();
}
public void playMessage(string message) {
base.playQueued(message.ToUpper());
}
public override WWW loadAssetBundle(string aniName)
{
string assetPath = Application.dataPath + "/Bundles/" + aniName;
if ( ! File.Exists(assetPath))
{
UnityEngine.Debug.Log("PM:lAB(" + aniName + "): file at " + assetPath + "not exists");
return null;
}
try {
UnityEngine.Debug.Log("PM:lAB(" + aniName + "): loading file at " + assetPath);
WWW www = new WWW("file://" + assetPath);
return www;
} catch (Exception e) {
UnityEngine.Debug.Log(e);
}
return null;
}
public override void onPlayingStateChange() { }
public override void onConnectionError(string gloss, string word) {
UnityEngine.Debug.Log("PM:oCE: " + gloss + " / " + word);
}
}