// bind each user with the wizards in the current scene void BindAllWizardToUser() { Debug.Log("binding wizard to user"); int id = 0; totalPlayerNum = 0; int[] materialIdCount = new int[2] { 0, 2 }; GameObject[] playerCollection = GameObject.FindGameObjectsWithTag(TagList.Player); foreach (GameObject player in playerCollection) { // bind input manager UserInputManager userCtrl = player.GetComponent <UserInputManager>(); // assign player ID userCtrl.playerNum = id; player.name = userDataCollection[id].Username; userDataCollection[id].initPosition = player.transform.position; if (userDataCollection[id].wizardInstance != null) { Debug.LogError("Already bind to another player"); continue; } totalPlayerNum++; userDataCollection[id].wizardInstance = player; Destroy(player); Debug.Log("binding wizard" + id + " to user"); // seperate team for default/unassigned player: // default: 0 & 1 in team 0, 2 & 3 in team 1; // unassigned: destroy the corresponding player object; if (userDataCollection[id].teamID >= 2) { // default: 0 & 1 in team 0, 2 & 3 in team 1; userDataCollection[id].teamID = id / 2; InstantiateWizardInstanceWithId(id); } else if (userDataCollection[id].teamID == -1) { totalPlayerNum--; } else // already got a valid team id { InstantiateWizardInstanceWithId(id); } // Distribute material to user and wizard instance by team id int materialId = materialIdCount[userDataCollection[id].teamID]; materialIdCount[userDataCollection[id].teamID]++; userDataCollection[id].wizardMaterial = UserMaterials[materialId]; BindWizardMaterial(userDataCollection[id].wizardInstance, userDataCollection[id].wizardMaterial); id++; } }
protected BasicGameHost(string gameName = @"") { Dependencies.Cache(this); name = gameName; threads = new[] { drawThread = new GameThread(DrawFrame, @"DrawThread") { OnThreadStart = DrawInitialize, }, updateThread = new GameThread(UpdateFrame, @"UpdateThread") { OnThreadStart = UpdateInitialize, Monitor = { HandleGC = true } }, inputThread = new InputThread(null, @"MainThread") //never gets started. }; MaximumUpdateHz = GameThread.DEFAULT_ACTIVE_HZ; MaximumDrawHz = (DisplayDevice.Default?.RefreshRate ?? 0) * 4; // Note, that RegisterCounters only has an effect for the first // BasicGameHost to be passed into it; i.e. the first BasicGameHost // to be instantiated. FrameStatistics.RegisterCounters(this); Environment.CurrentDirectory = Path.GetDirectoryName(FullPath); setActive(true); AddInternal(inputManager = new UserInputManager(this)); }
// store into hashtable as well void BindAllUserData() { Debug.Log("[INIT]: Bind All User Data from scene setup"); int playerID = 0; GameObject[] playerCollection = GameObject.FindGameObjectsWithTag(TagList.Player); if (playerCollection.Length == 0) { isBindSucceed = false; Debug.LogWarning("Bind fail, no controller found"); return; } isBindSucceed = true; foreach (GameObject player in playerCollection) { // bind input manager UserInputManager userCtrl = player.GetComponent <UserInputManager>(); // assign player ID userCtrl.playerNum = playerID; userDataCollection[playerID] = new UserData(); userDataCollection[playerID].userID = playerID; // bind the provided player info into User data. userDataCollection[playerID].Username = Usernames[playerID]; userDataCollection[playerID].Usercolor = UserColors[playerID]; userDataCollection[playerID].wizardMaterial = UserMaterials[playerID]; playerID++; } }
bool checkUserFollowInstruction() { playerCollection = GameObject.FindGameObjectsWithTag(TagList.Player); if (curInstructionInput == UserInputManager.InputSource.None) { return(true); } bool returnV = true; for (int i = 0; i < 4; i++) { if (!StopBlinking[i]) { UserInputManager Uinput = playerCollection[i].GetComponent <UserInputManager>(); if (curInstructionInput == UserInputManager.InputSource.RBumper) { if (playerCollection[i].GetComponent <PlayerData>().SpecialSpellID != SpellDB.AttackID.None) { StopBlinking[i] = Uinput.CheckInputControl(curInstructionInput); } } else { StopBlinking[i] = Uinput.CheckInputControl(curInstructionInput); } } returnV = returnV & StopBlinking[i]; } return(returnV); }
IEnumerator WinEndGameEffect() { for (int i = 0; i < 2; ++i) { GameStatistic.Instance.Scores [i] = teamScores [i]; } yield return(new WaitForSeconds(0.1f)); GameObject winSEPrefab = Resources.Load(Constants.AudioFileDir + "WinningSE") as GameObject; GameObject winSE = GameObject.Instantiate(winSEPrefab) as GameObject; GameObject[] playerCollection = GameObject.FindGameObjectsWithTag(TagList.Player); foreach (GameObject player in playerCollection) { GameObject winEffPrefab = Resources.Load("ArenaEffects/WinParEff") as GameObject; GameObject winEff = GameObject.Instantiate(winEffPrefab, player.transform.position, Quaternion.identity) as GameObject; UserInputManager userInput = player.GetComponent <UserInputManager>(); userInput.LockControl(UserInputManager.InputSource.AllControl, 9.0f); } yield return(new WaitForSeconds(3.0f)); Application.LoadLevel("EndStat"); }
public WidgetApplication(IConsoleBox console, Func <IWidget> viewFactory) { Console = console; Context = new BuildContext(); factory = viewFactory; InputManager = new UserInputManager(); UI = new UIManager(console); // note: Order on wiring up events matters! // we want the UI to process the events prior to // firing off renders console.KeyEvent += (s, e) => { InputManager.OnKey(e); Render(); }; console.MouseMove += (s, e) => Render(); console.MouseButtonUp += (s, e) => Render(); console.MouseClick += (s, e) => Render(); console.MouseWheel += (s, e) => Render(); console.MouseButtonDown += (s, e) => Render(); console.ResizeEvent += (s, e) => { console.Clear(); Render(true); }; Context.State.Set(UserInputManager.STATE_KEY, InputManager); }
public void Start() { Instance = this; nameToInput = new Dictionary <string, InputKey>(); keyToName = new Dictionary <KeyCode, string>(); isButtonPressed = new List <KeyCode>(); foreach (InputKey ik in Keys) { ik.Init(); } foreach (InputKey key in Keys) { if (nameToInput.ContainsKey(key.InputName)) { GameUtils.Utils.WarningMessage("Input key '" + key.InputName + "' already been used!"); continue; }//if List <KeyCode> keyList = new List <KeyCode>(key.positiveKeys); keyList.AddRange(key.negativeKeys); foreach (KeyCode k in keyList) { if (keyToName.ContainsKey(k)) { continue; } keyToName.Add(k, key.InputName); } nameToInput.Add(key.InputName, key); } //foreach } //Start
private void load(UserInputManager inputManager) { this.inputManager = inputManager; animation = new AnimatedSprite(); animation.AddAnimation(new Animation("down") { new Frame(125f, "Resources\\Graphics\\World\\Player\\down.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\down_1.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\down.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\down_2.png") }); animation.AddAnimation(new Animation("up") { new Frame(125f, "Resources\\Graphics\\World\\Player\\up.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\up_1.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\up.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\up_2.png") }); animation.AddAnimation(new Animation("left") { new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\left_1.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png"), new Frame(125f, "Resources\\Graphics\\World\\Player\\left_2.png") }); animation.AddAnimation(new Animation("right") { new Frame(125f, "Resources\\Graphics\\World\\Player\\left.png") { Mirrored = (true, false) },
public void UpdateAllTarget() { done = false; allTargets.Clear(); UserData[] udatas = UserInfoManager.UserDataCollection; foreach (UserData ud in udatas) { if (ud.wizardInstance) { allTargets.Add(ud.wizardInstance.transform); targets.Add(ud.wizardInstance.transform); UserInputManager inputManager = ud.wizardInstance.GetComponent <UserInputManager>(); inputManager.LockControl(UserInputManager.InputSource.AllControl, 13.0f); } } camera = GetComponent <Camera>(); Debug.Log("CONTROL LOCKED FOR CAMERA ZOOM"); Invoke("ZoomIn", 2.1f); Invoke("ZoomOut", 4); Invoke("ZoomIn", 5); Invoke("ZoomOut", 7); Invoke("ZoomIn", 8); Invoke("ZoomOut", 10); Invoke("ZoomIn", 11); Invoke("ZoomDone", 13); }
protected override IWidget Create(ButtonState state, BuildContext context) { var input = UserInputManager.From(context.State); state.OnEnter = OnClick; var decorated = Decoration != null?Decoration(state, Child) : Child; var evw = new EventWidget(decorated) { Events = new AreaEventHandler() { OnMouseClick = (ev) => { if (state.IsEnabled) { input.Focus(state); OnClick?.Invoke(new ButtonEvent() { MouseButtonEvent = ev }); } }, OnMouseHoverChange = (m, s) => { state.IsChanged = true; state.IsHovered = s; }, } }; return(evw); }
private void load(OsuColour colours, APIAccess api, UserInputManager inputManager) { this.inputManager = inputManager; this.colours = colours; api?.Register(this); }
protected override TextInputState CreateState(StateManager manager) { var man = UserInputManager.From(manager); var input = new TextInputState(); man.Inputs.Add(input); return(input); }
void unlockCtrl(UserInputManager.InputSource ctrl) { foreach (GameObject player in playerCollection) { UserInputManager Uinput = player.GetComponent <UserInputManager>(); Uinput.UnlockControl(ctrl); } }
public void ShouldRecoginzeInputArgument(string[] args, bool expectedResult) { var userInputManager = new UserInputManager(); var evalResult = userInputManager.LogFileWasProvided(args); Assert.Equal(expectedResult, evalResult); }
public void ShouldNoticeThatLogFileDoesNotExists() { var testFilePath = $"{Path.GetTempPath()}\\testFileNonExistent.txt"; var userInputManager = new UserInputManager(); var evalResult = userInputManager.LogFileExists(testFilePath); Assert.False(evalResult); }
protected override ButtonState CreateState(StateManager manager) { var button = new ButtonState(); var input = UserInputManager.From(manager); input.Inputs.Add(button); return(button); }
void Start() { // mapping input events inputManager = GetComponent <UserInputManager> (); // inputManager.OnPressLBumper += HandleLBumper; // inputManager.OnPressRBumper += HandleRBumper; // inputManager.OnPressButton += HandleButton; animator = GetComponentInChildren <Animator> (); // attackMeans = GetComponent<WizardAttackMeans> (); }
/* ------------------------------------------------------------------------------ */ // Use this for initialization void Start() { _circleCollider = GetComponent <CircleCollider2D>(); _damagable = GetComponent <DamagableSpaceship>(); _weapon = GetComponentInChildren <Weapon>(); _keyboard = UserInputManager.Instance; _animator = GetComponentInChildren <Animator>(); _rigidBody = GetComponent <Rigidbody2D>(); Reset(); }//Start
private void triggerRandom(UserInputManager input) { if (input.CurrentState.Keyboard.ShiftPressed) { carousel.SelectPreviousRandom(); } else { carousel.SelectNextRandom(); } }
private static RouletteStrategyTester CreateServices() { ConsoleLogger logger = new ConsoleLogger(); ConsoleReader reader = new ConsoleReader(); UserInputManager userInputManager = new UserInputManager(logger, reader); StatisticsManager statisticsManager = new StatisticsManager(); Visualizer visualizer = new Visualizer(logger); return(new RouletteStrategyTester(visualizer, userInputManager, statisticsManager)); }
private void load(UserInputManager input, OsuConfigManager config) { this.input = input; parallaxEnabled = config.GetBindable <bool>(OsuSetting.MenuParallax); parallaxEnabled.ValueChanged += delegate { if (!parallaxEnabled) { content.MoveTo(Vector2.Zero, firstUpdate ? 0 : 1000, Easing.OutQuint); content.Scale = new Vector2(1 + ParallaxAmount); } }; }
private void load(OsuColour colours, OsuGame osu, UserInputManager inputManager) { this.inputManager = inputManager; sortTabs.AccentColour = colours.GreenLight; if (osu != null) { ruleset.BindTo(osu.Ruleset); } ruleset.ValueChanged += val => FilterChanged?.Invoke(CreateCriteria()); ruleset.TriggerChange(); }
private void InitUserInputHandler() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } DontDestroyOnLoad(gameObject); }
static void Main(string[] args) { List <string> commands = new List <string>(); List <Rover> roverList = new List <Rover>(); UserInputManager uim = new UserInputManager(); int[] topRightCorner; while (true) { topRightCorner = uim.GetTopRightCoords(); if (topRightCorner[0] != 0 && topRightCorner[1] != 0) { break; } Console.WriteLine("User input error, need 2 positive integers seperated by space, they can't be both zero"); } while (true) { Rover rv = uim.GetRover(); if (rv != null) { roverList.append(rv); command = uim.GetCommand() if (string.IsNullOrEmpty(command)) { break; } } else { Console.WriteLine("User input error, need 2 positive integers followed by any heading seperated by space, for example, '2 3 N'"); } } int counter = 0; foreach (rover in roverList) { rover.ExecuteCommand(commands[counter]); rover.Output(); counter++; } // Initialise a rover Rover rv = new Rover(1, 2, Heading.N); }
/// <summary> /// Registers resources that classes will depend on /// </summary> protected override async Task RegisterResources(IProgress <double> progress) { ReloadApiClient(); await base.RegisterResources(progress).ConfigureAwait(false); RegisterSingleInstance <ITheaterApplicationHost>(this); MediaFilters = new MediaFilters(HttpClient, Logger); RegisterSingleInstance(MediaFilters); ThemeManager = new ThemeManager(() => PresentationManager, Logger); RegisterSingleInstance(ThemeManager); PresentationManager = new TheaterApplicationWindow(Logger, ThemeManager, ApiClient, () => SessionManager, TheaterConfigurationManager); RegisterSingleInstance(PresentationManager); RegisterSingleInstance(ApplicationPaths); RegisterSingleInstance <ITheaterConfigurationManager>(TheaterConfigurationManager); var hiddenWindow = new AppHiddenWIndow(); ImageManager = new ImageManager(ApiClient, ApplicationPaths, TheaterConfigurationManager); RegisterSingleInstance(ImageManager); NavigationService = new NavigationService(ThemeManager, () => PlaybackManager, ApiClient, PresentationManager, TheaterConfigurationManager, () => SessionManager, this, InstallationManager, ImageManager, Logger, () => UserInputManager, ApiWebSocket, hiddenWindow); RegisterSingleInstance(NavigationService); UserInputManager = new UserInputManager(PresentationManager, NavigationService, hiddenWindow, LogManager); RegisterSingleInstance(UserInputManager); PlaybackManager = new PlaybackManager(TheaterConfigurationManager, Logger, ApiClient, NavigationService, PresentationManager); RegisterSingleInstance(PlaybackManager); CommandManager = new CommandManager(PresentationManager, PlaybackManager, NavigationService, UserInputManager, LogManager); RegisterSingleInstance(CommandManager); SessionManager = new SessionManager(NavigationService, ApiClient, Logger, ThemeManager, TheaterConfigurationManager, PlaybackManager); RegisterSingleInstance(SessionManager); ScreensaverManager = new ScreensaverManager(UserInputManager, PresentationManager, PlaybackManager, SessionManager, ApiClient, TheaterConfigurationManager, LogManager, ApiWebSocket); RegisterSingleInstance(ScreensaverManager); RegisterSingleInstance(ApiClient); RegisterSingleInstance <IHiddenWindow>(hiddenWindow); RegisterSingleInstance <IServerEvents>(ApiWebSocket); }
public void ShouldNoticeThatLogFileExists() { var testFilePath = $"{Path.GetTempPath()}\\testFile.txt"; if (!File.Exists(testFilePath)) { File.Create(testFilePath).Close(); } var userInputManager = new UserInputManager(); var evalResult = userInputManager.LogFileExists(testFilePath); Assert.True(evalResult); }
public void ShouldNoticeThatLogFileExistsWhenProvidingOnlyTheName() { var testFilePath = $"{Directory.GetCurrentDirectory()}\\testFileInCurrentDirectory.txt"; if (!File.Exists(testFilePath)) { File.Create(testFilePath).Close(); } var userInputManager = new UserInputManager(); var evalResult = userInputManager.LogFileExists("testFileInCurrentDirectory.txt"); Assert.True(evalResult); }
private void load(APIAccess api, OsuConfigManager config, UserInputManager inputManager) { this.inputManager = inputManager; this.api = api; Direction = FillDirection.Vertical; Spacing = new Vector2(0, 5); AutoSizeAxes = Axes.Y; RelativeSizeAxes = Axes.X; Children = new Drawable[] { username = new OsuTextBox { PlaceholderText = "Username", RelativeSizeAxes = Axes.X, Text = api?.Username ?? string.Empty, TabbableContentContainer = this }, password = new OsuPasswordTextBox { PlaceholderText = "Password", RelativeSizeAxes = Axes.X, TabbableContentContainer = this, OnCommit = (sender, newText) => performLogin() }, new SettingsCheckbox { LabelText = "Remember username", Bindable = config.GetBindable <bool>(OsuSetting.SaveUsername), }, new SettingsCheckbox { LabelText = "Stay logged in", Bindable = config.GetBindable <bool>(OsuSetting.SavePassword), }, new OsuButton { RelativeSizeAxes = Axes.X, Text = "Sign in", Action = performLogin }, new OsuButton { RelativeSizeAxes = Axes.X, Text = "Register new account", //Action = registerLink } }; }
public override void Load() { base.Load(); Scheduler = new Scheduler(); Resources = new ResourceStore <byte[]>(); Resources.AddStore(new NamespacedResourceStore <byte[]>(new DllResourceStore(@"osu.Framework.dll"), @"Resources")); Resources.AddStore(new DllResourceStore(MainResourceFile)); Textures = Textures = new TextureStore(new NamespacedResourceStore <byte[]>(Resources, @"Textures")); Audio = new AudioManager(new NamespacedResourceStore <byte[]>(Resources, @"Tracks"), new NamespacedResourceStore <byte[]>(Resources, @"Samples")); Shaders = new ShaderManager(new NamespacedResourceStore <byte[]>(Resources, @"Shaders")); Fonts = new TextureStore(new GlyphStore(Game.Resources, @"Fonts/OpenSans")) { ScaleAdjust = 1 / 137f }; Add(userInputContainer = new UserInputManager() { Children = new[] { new FlowContainer { Direction = Graphics.Containers.FlowDirection.VerticalOnly, Padding = new Vector2(10, 10), Anchor = Graphics.Anchor.BottomRight, Origin = Graphics.Anchor.BottomRight, Depth = float.MaxValue, Children = new[] { new FrameTimeDisplay(@"Input", host.InputMonitor), new FrameTimeDisplay(@"Update", host.UpdateMonitor), new FrameTimeDisplay(@"Draw", host.DrawMonitor) } }, new PerformanceOverlay() { Position = new Vector2(5, 5), Anchor = Graphics.Anchor.BottomRight, Origin = Graphics.Anchor.BottomRight, Depth = float.MaxValue } } }); }
private void bootstrapSceneGraph(Game game) { var root = new UserInputManager { Child = game }; Dependencies.Cache(root); Dependencies.Cache(game); game.SetHost(this); root.Load(SceneGraphClock, Dependencies); //publish bootstrapped scene graph to all threads. Root = root; }
public void PrepareGameInstance() { // create the root object with paths to various configuraion files root = new Root(); // call the various rendering functions, essentially in // the order they are defined DefineResources(); if (!SetupRenderSystem(RenderType.Direct3D9, 1024, 768, false)) //if (!SetupRenderSystem()) throw new Exception(); CreateWindow("YMFAS"); InitializeResourceGroups(); // Ogre allows callbacks for lots of different events. // For instance, frame listeners can be called at the start // or end of the rendering loop. root.FrameEnded += new FrameListener.FrameEndedHandler(OnFrameEnd); // initialize the input system IntPtr hwnd; root.AutoCreatedWindow.GetCustomAttribute("Window", out hwnd); input = new InputSystem(hwnd); inputMgr = new UserInputManager(input, eventMgr, (byte)PlayerId); // physics system InitializePhysics(); // various other things frameTimer = new Mogre.Timer(); // initalize the scene InitializeScene(); //initialize chat manager chatMgr = new ChatManager(netClient.GameMode, netClient.PlayerId); TextRenderer.AddTextBox("frameCtr","FPS: 0",900,700,100,50, ColourValue.Green, ColourValue.White); }
// Use this for initialization void Start() { go = GameObject.Find("UserInputManager"); print (go); other = (UserInputManager) go.GetComponent(typeof(UserInputManager)); }
private void load(UserInputManager input) { this.input = input; }