コード例 #1
0
            public override bool Decide(AIController controller)
            {
                if (controller == null)
                {
                    return(false);
                }

                Holster holster = controller.HolsterCmp;

                if (holster.ActiveWeapon == null)
                {
#if UNITY_EDITOR
                    if (!bHasWarned)
                    {
                        Debug.LogWarning(this.name + " has no ActiveWeapon to make Attack Decision!");
                    }
                    bHasWarned = true;
#endif
                    return(false);
                }

                float range     = holster.ActiveWeapon.Props.Range;
                bool  isInRange = holster.ActiveWeapon.Props.IsInRange(controller.Target.transform.position);
                //if(isInRange)
                //    isInRange = controller.IsVisionBlocked(VisionBlockingMask);

                controller.StateMachineAnimator.SetBool(this.ToggleStateName, isInRange);

                return(isInRange);
            } //Decide
コード例 #2
0
 public ActionResult AddHolster(HolsterDTO holsterDto)
 {
     using (var db = new GunStoreContext())
     {
         if (ModelState.IsValid)
         {
             var holster = new Holster()
             {
                 Name        = holsterDto.Name,
                 Description = holsterDto.Description,
                 Price       = holsterDto.Price,
                 Quantity    = holsterDto.Quantity,
             };
             if (holsterDto.Image != null)
             {
                 holster.Image = new byte[holsterDto.Image.ContentLength];
                 holsterDto.Image.InputStream.Read(holster.Image, 0, holsterDto.Image.ContentLength);
             }
             db.Holsters.Add(holster);
             db.SaveChanges();
             ModelState.Clear();
             return(RedirectToAction("AddProduct", "Admin"));
         }
         ModelState.AddModelError("holster", "Invalid holster added");
         return(View());
     }
 }
コード例 #3
0
            public IEnumerator ChargedAttack() {
                if (!AICtrl.HolsterCmp.ActiveWeapon.IsCanShoot)
                    yield break;

                float distance = (AICtrl.transform.position - AICtrl.Target.transform.position).magnitude;
                Debug.LogError("FIXME: IsLookingAtTarget definition was changed! Refactor needed...");
                //if(!AICntrl.IsLookingAtTarget && distance >= 3.3f)
                //    AICntrl.DirSwitcherCmp.OnSwitchDirection();

                bIsAttacking = true;
                Holster holster = AICtrl.HolsterCmp;
                Weapon weapon = holster.ActiveWeapon;

                if (AICtrl.AnimationCmp != null) {
                    AICtrl.AnimationCmp.SetTrigger("ChargeAttack");
                }

                float chargeTime = weapon.Props.ChargingTime;
                yield return new WaitForSeconds(chargeTime);

                weapon.Shoot(weapon.transform.rotation);

                if (AICtrl.AnimationCmp != null) {
                    AICtrl.AnimationCmp.SetTrigger("Attack");
                }
                bIsAttacking = false;
            }//ChargedAttack
コード例 #4
0
 private void Start()
 {
     fan                = GameObject.FindGameObjectWithTag("Fan").GetComponent <Fan>();;
     holster            = GameObject.FindGameObjectWithTag("Holster").GetComponent <Holster>();
     menu               = GameObject.FindGameObjectWithTag("MainMenu");
     gameStartCountdown = GameObject.FindGameObjectWithTag("GameStartCountdown").GetComponent <GameCountdown>();
     timerCountdown     = GameObject.FindGameObjectWithTag("TimerCountdown").GetComponent <TimerCountdown>();
     highScoreUI        = GameObject.FindGameObjectWithTag("HighScoreUI");
     scoreboard         = GameObject.FindGameObjectWithTag("Scoreboard").GetComponent <ScoreCounter>();
 }
コード例 #5
0
ファイル: Player.cs プロジェクト: biokuta7/2D-Platformer
    private void Start()
    {
        holster        = GetComponentInChildren <Holster> ();
        anim           = GetComponent <Animator>();
        spriteRenderer = GetComponent <SpriteRenderer>();
        controller     = GetComponent <Controller2D>();
        InitVerticalValues();
        direction   = Direction.RIGHT;
        facingRight = true;
        Camera c = GetComponentInChildren <Camera> ();

        FullHeal();

        if (c != null)
        {
            c.transform.SetParent(null);
        }
    }
コード例 #6
0
        public ActionResult RemoveHolster(int?id)
        {
            using (var db = new GunStoreContext())
            {
                if (id != null)
                {
                    Holster holster = db.Holsters.Include(b => b.BasketHolsters).Where(b => b.Id == id).Single <Holster>();
                    foreach (var item in holster.BasketHolsters)
                    {
                        db.BasketHolsters.Remove(item);
                    }
                    db.Holsters.Remove(holster);
                    db.SaveChanges();
                }

                List <Holster> holsters = db.Holsters.ToList();
                return(View(holsters));
            }
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Weapon weapon = new BaseWeapon("This is a base weapon", 33, 50, 88);

            IWeaponExtension bipod    = new Bipod();
            IWeaponExtension holster  = new Holster();
            IWeaponExtension silencer = new Silencer();

            weapon.RegisterExtension(bipod);
            weapon.RegisterExtension(holster);
            weapon.RegisterExtension(silencer);
            Console.WriteLine(weapon.GetStats());

            weapon.UnregisterExtension(holster);
            Console.WriteLine(weapon.GetStats());

            Console.WriteLine($"Turi Holster?: {weapon.HasExtension(holster)}");
            Console.WriteLine($"Turi Silencer?: {weapon.HasExtension(silencer)}");

            Console.ReadKey();
        }
コード例 #8
0
 public Player()
 {
     _holster = new Holster();
 }
コード例 #9
0
ファイル: Holsters.cs プロジェクト: gylesis/Space-Maze
 public void SetPreviousHolster()
 {
     ActiveHolsterIndex = (ActiveHolsterIndex - 1) % holsters.Count;
     ActiveHolster      = holsters[ActiveHolsterIndex];
 }
コード例 #10
0
ファイル: Holsters.cs プロジェクト: gylesis/Space-Maze
 public void SetNextHolster()
 {
     ActiveHolsterIndex = (ActiveHolsterIndex + 1) % holsters.Count;
     ActiveHolster      = holsters[ActiveHolsterIndex];
 }
コード例 #11
0
ファイル: Holsters.cs プロジェクト: gylesis/Space-Maze
 public void SetActiveHolster(int ID)
 {
     ActiveHolster      = holsters.Find(x => x.GetID == ID);
     ActiveHolsterIndex = ActiveHolster != null ? ActiveHolster.Index : 0;
 }
コード例 #12
0
 void Start()
 {
     player  = Player.instance;
     holster = player.GetHolster();
     text    = GetComponent <Text> ();
 }