void Start() { agent = GetComponent <NavMeshAgent>(); emc = GetComponent <EnemyMeleeController>(); animator = GetComponent <Animator>(); SetAnimClipTimes(); }
private void OnSceneGUI() { if (true) { EnemyMeleeController myObj = (EnemyMeleeController)target; Handles.color = Color.green; Handles.DrawSolidArc(new Vector3(myObj.transform.position.x, 0.99f, myObj.transform.position.z), myObj.transform.up, myObj.transform.forward, myObj.maxAttackAngle / 2.0f, myObj.maxAttackDistance); Handles.DrawSolidArc(new Vector3(myObj.transform.position.x, 0.99f, myObj.transform.position.z), myObj.transform.up, myObj.transform.forward, myObj.maxAttackAngle / -2.0f, myObj.maxAttackDistance); myObj.maxAttackDistance = (float)Handles.ScaleValueHandle(myObj.maxAttackDistance, myObj.transform.position + myObj.transform.forward * myObj.maxAttackDistance + myObj.transform.forward * 0.2f, myObj.transform.rotation, 1, Handles.ConeHandleCap, 1); myObj.maxAttackAngle = (float)Handles.ScaleValueHandle(myObj.maxAttackAngle, myObj.transform.position + myObj.transform.forward * myObj.maxAttackDistance, myObj.transform.rotation, 1, Handles.CubeHandleCap, 1); Handles.color = Color.red; Handles.DrawSolidArc(new Vector3(myObj.transform.position.x, 1, myObj.transform.position.z), myObj.transform.up, myObj.transform.forward, myObj.initAttackAngle / 2.0f, myObj.initAttackDistance); Handles.DrawSolidArc(new Vector3(myObj.transform.position.x, 1, myObj.transform.position.z), myObj.transform.up, myObj.transform.forward, myObj.initAttackAngle / -2.0f, myObj.initAttackDistance); myObj.initAttackDistance = (float)Handles.ScaleValueHandle(myObj.initAttackDistance, myObj.transform.position + myObj.transform.forward * myObj.initAttackDistance + myObj.transform.forward * 0.2f, myObj.transform.rotation, 1, Handles.ConeHandleCap, 1); myObj.initAttackAngle = (float)Handles.ScaleValueHandle(myObj.initAttackAngle, myObj.transform.position + myObj.transform.forward * myObj.initAttackDistance, myObj.transform.rotation, 1, Handles.CubeHandleCap, 1); } }
public MeleeAttackState(EnemyMeleeController enemyMeleeController) : base(enemyMeleeController as EnemyController) { meleeController = enemyMeleeController; }
public override void initialize() { Debug.log("Scene initialized"); clearColor = Color.CornflowerBlue; addRenderer(new DefaultRenderer()); Entity tiledEntity = createEntity("tiled-map"); PlayerController playerController = new PlayerController(); Sprite playerSprite = new Sprite(content.Load <Texture2D>("Temp/TestPlayerAnimationFiles/Idle/Idle_1")); playerSprite.setRenderLayer(1); //Load map here************************************************************ TiledMap map = content.Load <TiledMap>("Temp/TestingWorld"); TiledObject spawn = map.getObjectGroup("SpawnPoint").objectWithName("Spawn"); TiledMapComponent mapComponent = new TiledMapComponent(map, "Ground"); mapComponent.setRenderLayer(2); tiledEntity.addComponent(mapComponent); #region SpawnPlayer //Create player Entity CookieCutterEntity player = new CookieCutterEntity("Player", spawn.position, ref playerSprite, playerController); //Add camera to player FollowCamera camera = new FollowCamera(player); camera.mapLockEnabled = true; camera.mapSize = new Vector2(map.width * map.tileWidth, map.height * map.tileHeight); player.addComponent <FollowCamera>(camera); //Add collision layers here******************************************************************* BoxCollider collider = new BoxCollider(-playerSprite.width / 2, -playerSprite.height / 2, playerSprite.width, playerSprite.height); player.addComponent <TiledMapMover>(new TiledMapMover(map.getLayer <TiledTileLayer>("Ground"))); player.addComponent <BoxCollider>(collider); player.addComponent <PhysicsHandler>(new PhysicsHandler(player, playerController.collisionState, 20f, .5f)); Flags.setFlagExclusive(ref collider.collidesWithLayers, 0); //Prevent collisions with projectiles Flags.setFlagExclusive(ref collider.physicsLayer, 1); this.addEntity <Entity> (player); #endregion #region SpawnAI //Initialize EnemyController EnemyMeleeController enemy = new EnemyMeleeController(map.getLayer <TiledTileLayer>("Ground")); Sprite enemySprite = new Sprite(content.Load <Texture2D>("Temp/TestPlayerAnimationFiles/Idle/Idle_1")); enemySprite.setRenderLayer(1); TiledObject enemySpawn = map.getObjectGroup("SpawnPoint").objectWithName("EnemySpawn"); CookieCutterEntity enemyEntity = new CookieCutterEntity("Enemy", enemySpawn.position, ref enemySprite, enemy); //Add collision layers BoxCollider enemyCollider = new BoxCollider(-enemySprite.width / 2, -enemySprite.height / 2, enemySprite.width, enemySprite.height); enemy.addComponent <TiledMapMover>(new TiledMapMover(map.getLayer <TiledTileLayer>("Ground"))); enemy.addComponent <BoxCollider>(enemyCollider); enemy.addComponent <PhysicsHandler>(new PhysicsHandler(enemyEntity, enemy.collisionState, 20f, .5f)); Flags.setFlagExclusive(ref enemyCollider.collidesWithLayers, 0); //Prevent collisions with projectiles Flags.setFlagExclusive(ref enemyCollider.physicsLayer, 1); //Add target enemy.target = player; this.addEntity <Entity>(enemyEntity); #endregion }