public static bool IsUnlocked(RobotBox box) { if (!unlocked.ContainsKey(SceneManager.GetActiveScene().buildIndex)) { return(false); } return(unlocked[SceneManager.GetActiveScene().buildIndex].Contains(box.index)); }
public static void Unlock(RobotBox box) { if (!unlocked.ContainsKey(SceneManager.GetActiveScene().buildIndex)) { unlocked.Add(SceneManager.GetActiveScene().buildIndex, new HashSet <int>()); } if (unlocked[SceneManager.GetActiveScene().buildIndex].Contains(box.GetInstanceID())) { return; } unlocked[SceneManager.GetActiveScene().buildIndex].Add(box.index); }
static void Main(string[] args) { User spectator1 = new User("spectator1"); User spectator2 = new User("spectator2"); ARobot robotBox = new RobotBox("rb1"); robotBox.Attach(spectator1); robotBox.Attach(spectator2); ARobot robotKarate = new RobotKarate("rk1"); robotKarate.Attach(spectator1); ARobot robotRambo = new RobotRambo("rr1"); robotRambo.Attach(spectator2); FightRoom fightRoom = new FightRoom(); fightRoom.Register(robotBox); fightRoom.Register(robotKarate); fightRoom.Register(robotRambo); robotBox.Send("rk1", "I'm comming for you"); robotKarate.Send("rr1", "I'm comming for you"); robotRambo.Send("rb1", "I'm comming for you"); Console.WriteLine("-------------------"); var rbThread = new Thread(() => { robotBox.Run(); }); var rrThread = new Thread(() => { robotRambo.Run(); }); var rkThread = new Thread(() => { robotKarate.Run(); }); rbThread.Start(); rrThread.Start(); rkThread.Start(); Console.ReadKey(); }