public override void OnStateEnter() { OnSetBool?.Invoke(TurningHash, true); // OnSoundPlayOneShot?.Invoke(audioLib.ratbag_turning); OnSoundPlayInterrupt?.Invoke(audioLib.ratbag_turning); }
public override void OnStateExit() { OnSetBool?.Invoke(RunningHash, false); }
public override void OnStateEnter() { OnSetBool?.Invoke(RunningHash, true); }
public override void OnStateExit() { OnSetBool?.Invoke(GettingUpHash, false); }
public override void OnStateEnter() { OnSetBool?.Invoke(GettingUpHash, true); }
public override void OnStateExit() { OnSetBool?.Invoke(TurningHash, false); OnStopAudioSource?.Invoke(); }
public override void OnStateExit() { OnSetBool?.Invoke(FlooredHash, false); }
public override void OnStateEnter() { OnSetBool?.Invoke(FlooredHash, true); }
public override void OnStateExit() { OnSetBool?.Invoke(IdleHash, false); }
public override void OnStateEnter() { OnSetBool?.Invoke(IdleHash, true); }
public SystemServer(int port) { Server = new TCPServer(port); Server.Start(); Server.OnMessageRecive += (sender, mess) => { Console.WriteLine(mess); if (mess.Contains("IsConnected")) { Add((sender as Socket).RemoteEndPoint as IPEndPoint); foreach (var item in MatrixList.Values) { if (!item.IsServer) { Server.Send(item.address, item.ToString(Actor.SystemStatus)); } } } if (mess.Contains("ClientRemoved")) { var splitedmess = mess.Split(';'); Remove((sender as Socket).RemoteEndPoint as IPEndPoint); foreach (var item in MatrixList.Values) { Console.WriteLine(item.ToString()); if (!item.IsServer) { Server.Send(item.address, item.ToString(Actor.SystemStatus)); } } } if (mess.Contains("ballInitiated")) { OnSetBool?.Invoke(true); Server.SendAll("ballInitiated"); } if (mess.Equals("Pause")) { OnSetPauseResume?.Invoke(false); Server.SendAll("Pause"); } if (mess.Equals("Resume")) { OnSetPauseResume?.Invoke(true); Server.SendAll("Resume"); } if (mess.Contains("BallReport")) { Ball b = new Ball(mess, 0, out int coll, out int roww, out BallCrossingStatus bcs); switch (bcs) { case BallCrossingStatus.Top: coll--; break; case BallCrossingStatus.Left: roww--; break; case BallCrossingStatus.Right: roww++; break; case BallCrossingStatus.bottom: coll++; break; case BallCrossingStatus.TopRight: coll--; roww++; break; case BallCrossingStatus.TopLeft: coll--; roww--; break; case BallCrossingStatus.ButtomRight: coll++; roww++; break; case BallCrossingStatus.ButtomLeft: coll++; roww--; break; default: break; } ScreenCondition sc = MatrixList.Values.Where(x => x.Col == coll && x.Row == roww).First(); if (sc.IsServer) { Server.Send(Server.First, b.ToString(coll, roww, bcs)); } else { Server.Send(sc.address, b.ToString(coll, roww, bcs)); } } }; rnd = new Random(); Count = 1; Matrixsize = (int)Math.Ceiling(Math.Sqrt(Count)); MatrixList = new Dictionary <IPEndPoint, ScreenCondition>(); ServerAddress = new IPEndPoint(IPAddress.Any, 1010); MatrixList.Add(ServerAddress, new ScreenCondition { HasBall = false, Name = 0, IsServer = true, Top = WallStatus.AcceleratorHard, Right = WallStatus.DeceleratorHard, Buttom = WallStatus.AcceleratorHard, Left = WallStatus.DeceleratorHard, Col = 0, Row = 0 }); }