Example #1
0
    void Start()
    {
        agent    = GetComponent <NavMeshAgent>();
        emc      = GetComponent <EnemyMeleeController>();
        animator = GetComponent <Animator>();

        SetAnimClipTimes();
    }
Example #2
0
        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;
 }
Example #4
0
        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
        }