public void Start() { if (Player == null) { Debug.LogError("Null player in TargetEnemy"); return; } _targetingHandler = new TargetingSystem(Player); _targetingHandler.GetDirectionToTarget(transform.position, out _directionToMove); }
public void Update() { if (Globals.GameStarting) { _targetingHandler = new TargetingSystem(Player); _targetingHandler.GetDirectionToTarget(transform.position, out _directionToMove); return; } if (Globals.GameOver) return; if (SelfDestructIfLeavesBounds) { CheckForBounds(); } MoveBlock(); }
public void Update() { if (Globals.GameStarting) { _targetingHandler = new TargetingSystem(Player); _targetingHandler.GetDirectionToTarget(transform.position, out _directionToMove); return; } if (Globals.GameOver) { return; } if (SelfDestructIfLeavesBounds) { CheckForBounds(); } MoveBlock(); }
private static void OnRootConsoleUpdate(object sender, UpdateEventArgs e) { if (TargetingSystem.IsPlayerTargeting) { RLKeyPress keyPress = _rootConsole.Keyboard.GetKeyPress(); if (keyPress != null) { _renderRequired = true; TargetingSystem.HandleKey(keyPress.Key); } } else if (CommandSystem.IsPlayerTurn) { if (InputSystem.GetInput(_rootConsole, CommandSystem)) { Player player = Game.Player; if (player.Hunger <= 0 && player.Status == "Hungry") { player.Status = "Starving"; player.Hunger = 0; } else if (player.Hunger <= 50 && player.Hunger > 1 && (player.Status == "Healthy" || player.Status == "Starving")) { player.Status = "Hungry"; } else if (player.Hunger > 50 && !(player.Status == "Poisoned" || player.Status == "Hardened" || player.Status == "Stuck")) { player.Status = "Healthy"; } ++_steps; // hp _renderRequired = true; CommandSystem.EndPlayerTurn(); } } else { _renderRequired = true; CommandSystem.ActivateMonsters(); } }
void Start() { revenue = 0; foreach (PathNode node in nodes) { node.createNode(); } foreach (PathNode node in nodes) { node.addNeighbours(); } Menu.setMenu(new int[] { (int)Menu.items.Gnocchi, (int)Menu.items.Pizza, (int)Menu.items.Frittata, (int)Menu.items.Spaghetti }); orderQueue = new Queue <Order>(); targetingSystem = new TargetingSystem(); this.employees = new Employee[numberOfEmployees]; this.employees = Functions.map((x => (Instantiate(employeePrefab, Vector3.zero, Quaternion.identity, this.transform).GetComponent <Employee>())), employees); foreach (Employee employee in employees) { employee.setKitchen(this); string name = Names.randomName(); Debug.Log(name); employee.employeeName = name; } bool[] employeesIdle = Functions.map((x => x.idle), employees); this.employeesIdle = employeesIdle; this.idleEmployees = Functions.occurences(employeesIdle, true); //pathTest(); }
// Event handler for RLNET's Render event private static void OnRootConsoleRender(object sender, UpdateEventArgs e) { // Don't bother redrawing all of the consoles if nothing has changed. if (_renderRequired) { //Clear the consoles _mapConsole.Clear(); _statConsole.Clear(); _messageConsole.Clear(); _inventoryConsole.Clear(); //Draw the dungeon map. DungeonMap.Draw(_mapConsole, _statConsole, _inventoryConsole); //draw the message log MessageLog.Draw(_messageConsole); TargetingSystem.Draw(_mapConsole); // Blit the sub consoles to the root console in the correct locations /* params * - source console * - x_pos * - y_pos * - width * - height * - destination console * - x+y position of top left corner to blit in destination console */ RLConsole.Blit(_mapConsole, 0, 0, _mapWidth, _mapHeight, _rootConsole, 0, _inventoryHeight); RLConsole.Blit(_statConsole, 0, 0, _statWidth, _statHeight, _rootConsole, _mapWidth, 0); RLConsole.Blit(_messageConsole, 0, 0, _messageWidth, _messageHeight, _rootConsole, 0, _screenHeight - _messageHeight); RLConsole.Blit(_inventoryConsole, 0, 0, _inventoryWidth, _inventoryHeight, _rootConsole, 0, 0); // Tell RLNET to draw the console that we set _rootConsole.Draw(); _renderRequired = false; } }
protected virtual void Attack() { if (!canAttack) { attackTimer += Time.deltaTime; if (attackTimer >= attackCooldown) { canAttack = true; attackTimer = 0; } //Debug.Log("I can not attack"); } if (canAttack) { //Debug.Log("I can attack"); } // get potential target TargetingSystem targetSys = transform.parent.GetComponent <TargetingSystem>(); if (targetSys.Target != null) { if (canAttack && targetSys.IsTargetShootable()) { //Debug.Log("target shootable"); Shoot(); // myAnimator.SetTrigger("Attack"); canAttack = false; } //Debug.Log("Get a target NOT SHOOTABLE"); } }
public override void Awake() { base.Awake(); _renderer = GetComponent <Renderer>(); var parameters = Parameters.Instance; SensoryMemory = new SensoryMemory(this, parameters.AgentMemorySpan, parameters.FriendlyFire); TargetingSystem = new TargetingSystem(this); WeaponSystem = new WeaponSystem( this, parameters.AgentReactionTime, parameters.AgentAimAccuracy, parameters.AgentAimPersistenceTime); PathPlanner = GetComponent <PathPlanner>(); MaximumHealth = parameters.AgentMaximumHealth; Health = 10; HitIndicatorTimer = (int)parameters.HitFlashTime; Hit = false; Score = 0; GoalArbitrationRegulator = new Regulator(parameters.AgentGoalAppraisalUpdateFrequency); VisionUpdateRegulator = new Regulator(parameters.AgentVisionUpdateFrequency); TargetSelectionRegulator = new Regulator(parameters.AgentTargetingUpdateFrequency); WeaponSelectionRegulator = new Regulator(parameters.AgentWeaponSelectionFrequency); Brain = new Think(this); FieldOfView = parameters.AgentFieldOfView; _normalMaterial = _renderer.materials; _flashMaterial = CreateFlashMaterial(); }
public static bool IsTargetablePrefix(TargetingSystem __instance, ref bool __result, ref Character ___m_character, Character _character) { //checks the stack to see if this was called from certain functions that need to have different behavior bool checkFrame(StackFrame f) { System.Reflection.MethodBase method = f.GetMethod(); //UnityEngine.Debug.Log("Method.Name checked: " + method.Name); return(method.Name.Contains("CheckIfCombatWorthy") || method.Name.Contains("IsEnemyClose") || method.DeclaringType == typeof(TargetingSystem) && !method.Name.Contains("IsTargetable")); } UnityEngine.Debug.Log("FriendlyFire - IsTargetablePatch() Stacktrace: \r\n" + Environment.StackTrace); //UnityEngine.Debug.Log("FriendlyFire - IsTargetablePatch() " + _character); //foreach (Character c in instance.m_character.EngagedCharacters) //{ // UnityEngine.Debug.Log("Engaged: " + c); //} StackTrace st = new StackTrace(); IEnumerable <StackFrame> frames = from StackFrame sf in st.GetFrames() where checkFrame(sf) select sf; //any stackframes that met the initial conditions if (frames.Any()) { //UnityEngine.Debug.Log("FriendlyFire - IsTargetablePatch() Stacktrace: \r\n" + Environment.StackTrace); //UnityEngine.Debug.Log("FriendlyFire - Found this frame: " + frames); if (_character.Faction == Character.Factions.Player && (_character == ___m_character || !ControlsInput.Sprint(___m_character.OwnerPlayerSys.PlayerID) || //fixes resting and combat music frames.Any(x => x.GetMethod().Name == "IsEnemyClose" || frames.Any(y => y.GetMethod().Name == "CheckIfCombatWorthy")))) { __result = false; return(false); } } return(true); }
// NIASSY WORK // collision with a gameObject // to allow subclasses ti redefine it // This method will be invoqued withing the // OnTrigger2D event public override void Collide(Collider2D other) { // get potential target TargetingSystem targetSys = Owner.GetComponent <TargetingSystem>(); /*if (other.gameObject == targetSys.Target.gameObject) * { * Debug.Log("Colliding target"); * myAnimator.SetTrigger("Impact"); * * * }*/ //if (other.tag == "Monster") //{ // Debug.Log(" ProjectileTest : Colliding Monster"); // // myAnimator.SetTrigger("Impact"); //} //If we hit a monster /*if (other.tag == "Monster") * { * //Creates a reference to the monster script * Monster target = other.GetComponent<Monster>(); * * //Makes the monster take damage based on the tower stats * target.TakeDamage(tower.Damage, tower.ElementType); * * //Triggers the impact animation * myAnimator.SetTrigger("Impact"); * * //Tries to apply a debuff * ApplyDebuff(); * }*/ }
static bool Prefix(TargetingSystem __instance, ref float __result) { FieldInfo m_character = typeof(TargetingSystem).GetField("m_character", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); Character character = (Character)m_character.GetValue(__instance); if (character != null && character.CurrentWeapon.Type == Weapon.WeaponType.Bow && character.Inventory.SkillKnowledge.IsItemLearned(8205160)) { __result = 100.0f; return(false); } if (character != null && character.CurrentWeapon.Type != Weapon.WeaponType.Bow && character.Inventory.SkillKnowledge.IsItemLearned(8205160)) { __result = 40.0f; return(false); } if (character != null && character.CurrentWeapon.Type == Weapon.WeaponType.Bow && !character.Inventory.SkillKnowledge.IsItemLearned(8205160)) { __result = 40.0f; return(false); } __result = 20.0f; return(false); }
protected override void Update(GameTime gameTime) { bool didPlayerAct = false; _inputState.Update(gameTime); if (TargetingSystem.IsPlayerTargeting) { _renderRequired = true; TargetingSystem.HandleInput(_inputState); } else if (CommandSystem.IsPlayerTurn) { if (_inputState.IsKeyPressed(Keys.Up)) { MapMessageLog.Add(""); didPlayerAct = CommandSystem.MovePlayer(Direction.Up); } else if (_inputState.IsKeyPressed(Keys.Down)) { MapMessageLog.Add(""); didPlayerAct = CommandSystem.MovePlayer(Direction.Down); } else if (_inputState.IsKeyPressed(Keys.Left)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Left); } else if (_inputState.IsKeyPressed(Keys.Right)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Right); } else if (_inputState.IsKeyPressed(Keys.Escape)) { this.Exit(); } else if (_inputState.IsKeyPressed(Keys.OemPeriod)) { if (DungeonMap.CanMoveDownToNextLevel()) { MapGenerator mapGenerator = new MapGenerator(_mapWidth, _mapHeight, 20, 13, 7, ++_mapLevel); DungeonMap = mapGenerator.CreateMap(); MessageLog = new MessageLog(); CommandSystem = new CommandSystem(); this.Window.Title = $"Sean's RogueLike Engine 3 - Level {_mapLevel}"; didPlayerAct = true; } } else { didPlayerAct = CommandSystem.HandleInput(_inputState); } if (didPlayerAct) { _renderRequired = true; CommandSystem.EndPlayerTurn(); } } else { CommandSystem.ActivateMonsters(); _renderRequired = true; } base.Update(gameTime); }
public void RemoveWatcher(TargetingSystem watcher) { systemsTargetingMe.Remove(watcher); }
private IEnumerator OnRootConsoleUpdate() { while (Application.isPlaying) { bool didPlayerAct = false; if (TargetingSystem.IsPlayerTargeting) { if (Input.anyKeyDown) { _renderRequired = true; foreach (KeyCode vKey in System.Enum.GetValues(typeof(KeyCode))) { if (Input.GetKey(vKey)) { TargetingSystem.HandleKey(vKey); } } } } else if (CommandSystem.IsPlayerTurn) { if (Input.anyKeyDown) { if (Input.GetKeyDown(KeyCode.UpArrow)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Up); } else if (Input.GetKeyDown(KeyCode.DownArrow)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Down); } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Left); } else if (Input.GetKeyDown(KeyCode.RightArrow)) { didPlayerAct = CommandSystem.MovePlayer(Direction.Right); } else if (Input.GetKeyDown(KeyCode.Escape)) { //_rootConsole.Close(); } else if (Input.GetKeyDown(KeyCode.Period)) { if (DungeonMap.CanMoveDownToNextLevel()) { MapGenerator mapGenerator = new MapGenerator(_mapWidth, _mapHeight, 20, 13, 7, ++_mapLevel); DungeonMap = mapGenerator.CreateMap(); MessageLog = new MessageLog(); CommandSystem = new CommandSystem(); //_rootConsole.Title = string.Format("RougeSharp RLNet Tutorial - Level {0}", _mapLevel); didPlayerAct = true; } } else { foreach (KeyCode vKey in System.Enum.GetValues(typeof(KeyCode))) { if (Input.GetKey(vKey)) { didPlayerAct = CommandSystem.HandleKey(vKey); } } } if (didPlayerAct) { _renderRequired = true; CommandSystem.EndPlayerTurn(); } } } else { CommandSystem.ActivateMonsters(); _renderRequired = true; } yield return(null); } }
private void Start() { targetingSystem = GetComponent <TargetingSystem>(); targetGameObject = targetingSystem.FindTargets(); }
private void Start() { targetingSystem = GetComponent <TargetingSystem>(); }
// Start is called before the first frame update void OnEnable() { CooldownAmountRemaining = StartUpCooldown + Time.deltaTime; TargetingSystem = GetComponent <TargetingSystem>(); }
public RogueGame() { int seed = (int)DateTime.UtcNow.Ticks; Random = new DotNetRandom(seed); string consoleTitle = "Sean's Roguelike Engine v0.02 - Level 1 - seed " + seed; MessageLog = new MessageLog(); MapMessageLog = new MessageLog(); MessageLog.Add("The rogue arrives on level 1"); MessageLog.Add($"Level created with seed '{seed}'"); MapMessageLog.Add("Welcome to Cult of Draconis"); MapMessageLog.Add("Deep in the Caverns of Mar, an evil cult has succeeded"); MapMessageLog.Add("in summoning the ancient dragonlord Draconis."); MapMessageLog.Add("It is up to you to fight your way through the caverns,"); MapMessageLog.Add("Destroy the 4 power stones and kill Draconis"); MapMessageLog.Add("The power stones and Draconis reside on level 5."); MapMessageLog.Add("To descend stairs ' > ' press the period key ' . '"); Player = new Player(); SchedulingSystem = new SchedulingSystem(); MapGenerator mapGenerator = new MapGenerator(_mapWidth, _mapHeight, 20, 13, 7, _mapLevel); DungeonMap = mapGenerator.CreateMap(); CommandSystem = new CommandSystem(); TargetingSystem = new TargetingSystem(); Player.Item1 = new RevealMapScroll(); Player.Item2 = new RevealMapScroll(); _inputState = new InputState(); _graphics = new GraphicsDeviceManager(this); this.Window.Title = consoleTitle; Content.RootDirectory = "Content"; var sadConsoleComponent = new SadConsole.EngineGameComponent(this, () => { using (var stream = System.IO.File.OpenRead("Fonts/Cheepicus12.font")) SadConsole.Engine.DefaultFont = SadConsole.Serializer.Deserialize <SadConsole.Font>(stream); SadConsole.Engine.DefaultFont.ResizeGraphicsDeviceManager(_graphics, _screenWidth, _screenHeight, 0, 0); SadConsole.Engine.UseMouse = true; SadConsole.Engine.UseKeyboard = true; _mapConsole = new Console(_mapWidth, _mapHeight); _messageConsole = new Console(_messageWidth, _messageHeight); _statConsole = new Console(_statWidth, _statHeight); _inventoryConsole = new Console(_inventoryWidth, _inventoryHeight); _mapConsole.Position = new Point(0, _inventoryHeight); _messageConsole.Position = new Point(0, _screenHeight - _messageHeight); _statConsole.Position = new Point(_mapWidth, 0); _inventoryConsole.Position = new Point(0, 0); SadConsole.Engine.ConsoleRenderStack.Add(_mapConsole); SadConsole.Engine.ConsoleRenderStack.Add(_messageConsole); SadConsole.Engine.ConsoleRenderStack.Add(_statConsole); SadConsole.Engine.ConsoleRenderStack.Add(_inventoryConsole); SadConsole.Engine.ActiveConsole = _mapConsole; }); Components.Add(sadConsoleComponent); }
protected override void Draw(GameTime gameTime) { if (_renderRequired) { GraphicsDevice.Clear(Color.Black); _mapConsole.CellData.Clear(); _messageConsole.CellData.Clear(); _statConsole.CellData.Clear(); _inventoryConsole.CellData.Clear(); MessageLog.Draw(_messageConsole); DungeonMap.Draw(_mapConsole, _statConsole, _inventoryConsole); MapMessageLog.Draw(_mapConsole); MessageLog.Draw(_messageConsole); TargetingSystem.Draw(_mapConsole); _inventoryConsole.CellData.Print(0, 10, "________________________________________________________________________________", Color.Green); _messageConsole.CellData.Print(0, 0, "--------------------------------------------------------------------------------", Color.Green); _statConsole.CellData.Print(0, 0, "|", Color.Green); _statConsole.CellData.Print(0, 1, "|", Color.Green); _statConsole.CellData.Print(0, 2, "|", Color.Green); _statConsole.CellData.Print(0, 3, "|", Color.Green); _statConsole.CellData.Print(0, 4, "|", Color.Green); _statConsole.CellData.Print(0, 5, "|", Color.Green); _statConsole.CellData.Print(0, 6, "|", Color.Green); _statConsole.CellData.Print(0, 7, "|", Color.Green); _statConsole.CellData.Print(0, 8, "|", Color.Green); _statConsole.CellData.Print(0, 9, "|", Color.Green); _statConsole.CellData.Print(0, 10, "|", Color.Green); _statConsole.CellData.Print(0, 11, "|", Color.Green); _statConsole.CellData.Print(0, 12, "|", Color.Green); _statConsole.CellData.Print(0, 13, "|", Color.Green); _statConsole.CellData.Print(0, 14, "|", Color.Green); _statConsole.CellData.Print(0, 15, "|", Color.Green); _statConsole.CellData.Print(0, 16, "|", Color.Green); _statConsole.CellData.Print(0, 17, "|", Color.Green); _statConsole.CellData.Print(0, 18, "|", Color.Green); _statConsole.CellData.Print(0, 19, "|", Color.Green); _statConsole.CellData.Print(0, 20, "|", Color.Green); _statConsole.CellData.Print(0, 21, "|", Color.Green); _statConsole.CellData.Print(0, 22, "|", Color.Green); _statConsole.CellData.Print(0, 23, "|", Color.Green); _statConsole.CellData.Print(0, 24, "|", Color.Green); _statConsole.CellData.Print(0, 25, "|", Color.Green); _statConsole.CellData.Print(0, 26, "|", Color.Green); _statConsole.CellData.Print(0, 27, "|", Color.Green); _statConsole.CellData.Print(0, 28, "|", Color.Green); _statConsole.CellData.Print(0, 29, "|", Color.Green); _statConsole.CellData.Print(0, 30, "|", Color.Green); _statConsole.CellData.Print(0, 31, "|", Color.Green); _statConsole.CellData.Print(0, 32, "|", Color.Green); _statConsole.CellData.Print(0, 33, "|", Color.Green); _statConsole.CellData.Print(0, 34, "|", Color.Green); _statConsole.CellData.Print(0, 35, "|", Color.Green); _statConsole.CellData.Print(0, 36, "|", Color.Green); _statConsole.CellData.Print(0, 37, "|", Color.Green); _statConsole.CellData.Print(0, 38, "|", Color.Green); _statConsole.CellData.Print(0, 39, "|", Color.Green); _statConsole.CellData.Print(0, 40, "|", Color.Green); _statConsole.CellData.Print(0, 41, "|", Color.Green); _statConsole.CellData.Print(0, 42, "|", Color.Green); _statConsole.CellData.Print(0, 43, "|", Color.Green); _statConsole.CellData.Print(0, 44, "|", Color.Green); _statConsole.CellData.Print(0, 45, "|", Color.Green); _statConsole.CellData.Print(0, 46, "|", Color.Green); _statConsole.CellData.Print(0, 47, "|", Color.Green); _statConsole.CellData.Print(0, 48, "|", Color.Green); _statConsole.CellData.Print(0, 49, "|", Color.Green); _statConsole.CellData.Print(0, 50, "|", Color.Green); _statConsole.CellData.Print(0, 51, "|", Color.Green); _statConsole.CellData.Print(0, 52, "|", Color.Green); _statConsole.CellData.Print(0, 53, "|", Color.Green); _statConsole.CellData.Print(0, 54, "|", Color.Green); _statConsole.CellData.Print(0, 55, "|", Color.Green); _statConsole.CellData.Print(0, 56, "|", Color.Green); _statConsole.CellData.Print(0, 57, "|", Color.Green); _statConsole.CellData.Print(0, 58, "|", Color.Green); _statConsole.CellData.Print(0, 59, "|", Color.Green); _statConsole.CellData.Print(0, 1, "|", Color.Green); if (RogueGame._mapLevel == 1) { _statConsole.CellData.Print(1, 60, "Location:", Color.Green); _statConsole.CellData.Print(1, 62, "Desert Pass", Color.Tan); } else if (RogueGame._mapLevel == 2) { _statConsole.CellData.Print(1, 60, "Location:", Color.Green); _statConsole.CellData.Print(1, 62, "Cavern Base Level 1", Color.Red); } else if (RogueGame._mapLevel == 3) { _statConsole.CellData.Print(1, 60, "Location:", Color.Green); _statConsole.CellData.Print(1, 62, "Cavern Base Level 2", Color.Red); } else if (RogueGame._mapLevel == 4) { _statConsole.CellData.Print(1, 60, "Location:", Color.Green); _statConsole.CellData.Print(1, 62, "Cavern Base Level 3", Color.Red); } else if (RogueGame._mapLevel == 5) { _statConsole.CellData.Print(1, 60, "Location:", Color.Green); _statConsole.CellData.Print(1, 62, "Summoning Chambers", Color.Red); } base.Draw(gameTime); } }
private void InitFactionsHook(On.TargetingSystem.orig_InitTargetableFaction orig, TargetingSystem self) { Character c = At.GetValue(typeof(TargetingSystem), self, "m_character") as Character; if (c.IsAI && global.IsGameplayStarted && global.CurrentTime > 0) { ForceEnemiesAllied(c); } else { orig(self); } }
static void Main(string[] args) { Stopwatch sw = Stopwatch.StartNew(); Engine engine = new Engine(); engine.DefineComponent <Components.Debug>(); engine.DefineComponent <Targetable>(); engine.DefineComponent <Room>(); engine.DefineComponent <Present>(); engine.DefineComponent <Containable>(); engine.DefineComponent <Notable>(); engine.DefineComponent <Openable>(); engine.DefineComponent <Container>(); var output = new OutputSystem(); engine.AddSystem(output); var targetingSystem = new TargetingSystem(); engine.AddSystem(targetingSystem); engine.AddSystem(new SightSystem()); var interpreter = new InterpreterSystem(); engine.AddSystem(interpreter); engine.AddSystem(new DebuggingSystem()); engine.AddSystem(new RoomSystem()); engine.AddSystem(new PlayerSystem()); engine.AddSystem(new LabelSystem()); engine.AddSystem(new ContainmentSystem()); engine.AddSystem(new OpenableSystem()); var roomId = engine.CreateEntity(); engine.AddComponentToEntity(roomId, new Room { Title = "Zoop", Description = "It's Zoop!" }); var newEntityIdentifier = engine.CreateEntity(); engine.AddComponentToEntity(newEntityIdentifier, new Components.Debug { Label = "Wenceslaus" }); engine.AddComponentToEntity(newEntityIdentifier, new Targetable("Wenceslaus", new[] { "Jingle", "Punished" })); engine.AddComponentToEntity(newEntityIdentifier, new Present { RoomEntityId = roomId }); newEntityIdentifier = engine.CreateEntity(); engine.AddComponentToEntity(newEntityIdentifier, new Components.Debug { Label = "The Juice" }); engine.AddComponentToEntity(newEntityIdentifier, new Targetable("Juice", new[] { "Tasty", "Orange" })); engine.AddComponentToEntity(newEntityIdentifier, new Present { RoomEntityId = roomId }); newEntityIdentifier = engine.CreateEntity(); engine.AddComponentToEntity(newEntityIdentifier, new Components.Debug { Label = "The Other Juice" }); engine.AddComponentToEntity(newEntityIdentifier, new Targetable("Apple Juice", new[] { "Spoiled" })); engine.AddComponentToEntity(newEntityIdentifier, new Present { RoomEntityId = roomId }); newEntityIdentifier = engine.CreateEntity(); engine.AddComponentToEntity(newEntityIdentifier, new Components.Debug { Label = "Crate" }); engine.AddComponentToEntity(newEntityIdentifier, new Targetable("Crate")); engine.AddComponentToEntity(newEntityIdentifier, new Present { RoomEntityId = roomId }); engine.AddComponentToEntity(newEntityIdentifier, new Openable { IsOpen = false, IsLocked = false }); //interpreter.Register(new TestAction(newEntityIdentifier)); bool done = false; while (!done) { Console.WriteLine(output.Print()); Console.Write("> "); var input = Console.ReadLine(); if (input == "quit") { done = true; } else { interpreter.HandleUserInput(input); } } }
// Use this for initialization void Start() { targetingSystem = GetComponentInChildren <TargetingSystem>(); }
private void Start() { EF_Mothership = GameObject.FindGameObjectWithTag("EF_Mothership"); earth = GameObject.FindGameObjectWithTag("Earth"); targetingSystem = GetComponent <TargetingSystem>(); }
void Start() { targetingSystem = GetComponent <TargetingSystem>(); checkForUsable = true; }
// Update is called once per frame void Update() { bool didPlayerAct = false; if (Input.anyKeyDown || Time.time - _lastKeyPressTime > KeyPressDelay) { if (TargetingSystem.IsPlayerTargeting) { if (Input.anyKeyDown) { _renderRequired = true; foreach (KeyCode vKey in System.Enum.GetValues(typeof(KeyCode))) { if (Input.GetKey(vKey)) { TargetingSystem.HandleKey(vKey); } } } } else if (CommandSystem.IsPlayerTurn) { var playerTransform = Player.go.transform; _lastKeyPressTime = Time.time; float horizontal = Input.GetAxisRaw("Horizontal"); float vertical = Input.GetAxisRaw("Vertical"); if (horizontal > 0) { playerTransform.localScale = new Vector3(1, 1, 1); didPlayerAct = CommandSystem.MovePlayer(Direction.Right); } else if (horizontal < 0) { playerTransform.localScale = new Vector3(-1, 1, 1); didPlayerAct = CommandSystem.MovePlayer(Direction.Left); } else if (vertical > 0) { didPlayerAct = CommandSystem.MovePlayer(Direction.Down); } else if (vertical < 0) { didPlayerAct = CommandSystem.MovePlayer(Direction.Up); } else if (Input.GetKeyDown(KeyCode.Period)) { if (DungeonMap.CanMoveDownToNextLevel()) { MapGenerator mapGenerator = new MapGenerator(_width, _height, 20, 13, 7, ++_mapLevel); DungeonMap = mapGenerator.CreateMap(); MessageLog = new MessageLog(); CommandSystem = new CommandSystem(); didPlayerAct = true; } } else { foreach (KeyCode vKey in System.Enum.GetValues(typeof(KeyCode))) { if (Input.GetKey(vKey)) { didPlayerAct = CommandSystem.HandleKey(vKey); } } } if (didPlayerAct) { _renderRequired = true; CommandSystem.EndPlayerTurn(); } } else { CommandSystem.ActivateMonsters(); _renderRequired = true; } } }
// Event handler for RLNET's Update event private static void OnRootConsoleUpdate(object sender, UpdateEventArgs e) { bool didPlayerAct = false; RLKeyPress keyPress = _rootConsole.Keyboard.GetKeyPress(); if (TargetingSystem.IsPlayerTargeting) { if (keyPress != null) { _renderRequired = true; TargetingSystem.HandleKey(keyPress.Key); } } else if (CommandSystem.IsPlayerTurn) { if (keyPress != null) { if (keyPress.Key == RLKey.Up) { didPlayerAct = CommandSystem.MovePlayer(Direction.Up); } else if (keyPress.Key == RLKey.Down) { didPlayerAct = CommandSystem.MovePlayer(Direction.Down); } else if (keyPress.Key == RLKey.Left) { didPlayerAct = CommandSystem.MovePlayer(Direction.Left); } else if (keyPress.Key == RLKey.Right) { didPlayerAct = CommandSystem.MovePlayer(Direction.Right); } else if (keyPress.Key == RLKey.Escape) { _rootConsole.Close(); } else if (keyPress.Key == RLKey.Period) { if (DungeonMap.CanMoveDownToNextLevel()) { MapGenerator mapGenerator = new MapGenerator(_mapWidth, _mapHeight, 20, 13, 7, ++_mapLevel); DungeonMap = mapGenerator.CreateMap(); MessageLog = new MessageLog(); CommandSystem = new CommandSystem(); _rootConsole.Title = $"World of Othaura - Level {_mapLevel}"; didPlayerAct = true; } } else { didPlayerAct = CommandSystem.HandleKey(keyPress.Key); } if (didPlayerAct) { _renderRequired = true; CommandSystem.EndPlayerTurn(); } } } else { CommandSystem.ActivateMonsters(); _renderRequired = true; } }
protected void AcquireTargetingSystem() { if (owner is PlayerShip) { shipTargetingSystem = owner.gameObject.GetComponent<TargetingSystem>(); shipTargetingSystem.weapons.Add(this); control = ControlMode.PLAYER; // Add weapon to GRID. UI_Targeting = shipTargetingSystem.GetUI(); UI_Weapon = GameObject.Instantiate(UI_Targeting.UIOBJECT_WEAPON) as GameObject; UI_Weapon.name = "WeaponsUI"; Debug.Log(UI_Weapon.transform.GetChild(0).name); Debug.Log(UI_Weapon.transform.GetChild(1).name); Debug.Log(UI_Weapon.transform.GetChild(2).name); UI_weaponLabel = UI_Weapon.transform.FindChild("UILabel").GetComponent<UILabel>(); UI_reloadSprite = UI_Weapon.transform.FindChild("UIReadyToFire").GetComponent<UISprite>(); UI_weaponSprite = UI_Weapon.transform.FindChild("UIWeaponSprite").GetComponent<UISprite>(); UI_selectedSprite = UI_Weapon.transform.FindChild("UISelected").GetComponent<UISprite>(); UI_SelectWeapon = UI_Weapon.transform.FindChild("UIWeaponSprite").GetComponent<UIButton>(); // Allows changing weapon and setting targets by left / right clicking. EventDelegate SelectDelegate = new EventDelegate(this, "SelectWeapon"); UI_SelectWeapon.onClick.Add(SelectDelegate); SelectDelegate = new EventDelegate(this, "SetTarget"); UI_SelectWeapon.onClick.Add(SelectDelegate); UI_selectedSprite.enabled = false; //UI_AutoFire.onClick += SwitchModes; // UIEventListener.Get(UI_AutoFire.gameObject).onClick += SwitchModes; // UI_Weapon.transform.parent = UI_Targeting.weaponGrid.transform; UI_Weapon.transform.localPosition = Vector3.zero; UI_Weapon.transform.localScale = new Vector3(1,1,1); UI_Targeting.weaponGrid.mReposition = true; UI_Targeting.weaponGrid.enabled = true; } else control = ControlMode.AI; }
public static void Main() { // This must be the exact name of the bitmap font file we are using or it will error. string fontFileName = "Assets/terminal8x8.png"; // The title will appear at the top of the console window // also include the seed used to generate the level string consoleTitle = $"World of Othaura - Level {_mapLevel}"; // Establish the seed for the random number generator from the current time int seed = (int)DateTime.UtcNow.Ticks; Random = new DotNetRandom(seed); // Create a new MessageLog and print the random seed used to generate the level MessageLog = new MessageLog(); MessageLog.Add("The rogue arrives on level 1"); MessageLog.Add($"Level created with seed '{seed}'"); Player = new Player(); SchedulingSystem = new SchedulingSystem(); //Map Generation MapGenerator mapGenerator = new MapGenerator(_mapWidth, _mapHeight, 20, 13, 7, _mapLevel); DungeonMap = mapGenerator.CreateMap(); // Tell RLNet to use the bitmap font that we specified and that each tile is 8 x 8 pixels _rootConsole = new RLRootConsole(fontFileName, _screenWidth, _screenHeight, 8, 8, 1f, consoleTitle); // Initialize the sub consoles that we will Blit to the root console _mapConsole = new RLConsole(_mapWidth, _mapHeight); _messageConsole = new RLConsole(_messageWidth, _messageHeight); _statConsole = new RLConsole(_statWidth, _statHeight); _inventoryConsole = new RLConsole(_inventoryWidth, _inventoryHeight); // Set background color and text for each console // so that we can verify they are in the correct positions //_messageConsole.SetBackColor(0, 0, _messageWidth, _messageHeight, Palette.DbDeepWater); //_messageConsole.Print(1, 1, "Messages", Colors.TextHeading); //_statConsole.SetBackColor(0, 0, _statWidth, _statHeight, Palette.DbOldStone); //_statConsole.Print(1, 1, "Stats", Colors.TextHeading); CommandSystem = new CommandSystem(); TargetingSystem = new TargetingSystem(); //noob help Player.Item1 = new RevealMapScroll(); Player.Item2 = new RevealMapScroll(); // Set up a handler for RLNET's Update event _rootConsole.Update += OnRootConsoleUpdate; // Set up a handler for RLNET's Render event _rootConsole.Render += OnRootConsoleRender; // Begin RLNET's game loop _rootConsole.Run(); }
private void AddTarget() { var objectClicked = owner.GetObjectClicked(); if (objectClicked != null) { if (objectClicked.GetComponent <PlayerView>() != null) { Target target = (Target)objectClicked.GetComponent <PlayerView>().owner; if (TargetingSystem.IsValid(ability.validTargets, target, true)) { chosenTargetsList.Add(target); } } else if (objectClicked.GetComponent <CardView>() != null) { Target target = (Target)objectClicked.GetComponent <CardView>().cardInstance; if (TargetingSystem.IsValid(ability.validTargets, target, true)) { if (!chosenTargetsList.Contains(target)) { chosenTargetsList.Add(target); chosenCardsViews.Add(objectClicked.GetComponent <CardView>()); objectClicked.GetComponent <CardView>().ToggleActive(); } else { chosenTargetsList.Remove(target); chosenCardsViews.Remove(objectClicked.GetComponent <CardView>()); objectClicked.GetComponent <CardView>().ToggleActive(); } } } else { if (chosenCardsViews.Count > 0) { foreach (CardView cardView in chosenCardsViews) { cardView.ToggleActive(); } chosenCardsViews.Clear(); chosenTargetsList.Clear(); Complete(); } } } else { Complete(); } if (chosenTargetsList.Count == ability.numberOfTargets || (owner.playerSystem.enemy.table.Count < ability.numberOfTargets && chosenTargetsList.Count == owner.playerSystem.enemy.table.Count && chosenTargetsList.Count != 0)) { foreach (CardView cardView in chosenCardsViews) { cardView.ToggleActive(); } Debug.Log("Activating spell ability...."); ability.ActivateAbility(chosenTargetsList, card.abilityInstance); Complete(); } }