private void OnTriggerExit(Collider other)
 {
     if (other.tag == "Girl")
     {
         strategy = new NoStrategy();
     }
     GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeAll;
     selectedStrategy = "null";
 }
 private void OnTriggerEnter(Collider other)
 {
     strategy = selectBoxStrategy(other);
 }
        public void MangePlayer()
        {
            string CurrentcellDes = player.Currentcell.CellDescription = "Golden Box";

            box = new GoldenBox();
            if (CurrentcellDes == box.GetBoxType() && box.GetBoxType() == "Golden Box")
            {
                context = new Context(new GoldenBox());
                player.PlayerBoxs.Add(box.GetBoxType());
                foreach (string K in player.PlayerKeys)
                {
                    string k = K;
                    if (k == "Golden key")
                    {
                        context.executeStrategy();
                    }
                }
            }

            else if (CurrentcellDes == "Silver Box")
            {
                context = new Context(new SilverBox());
                player.PlayerBoxs.Add(box.GetBoxType());
                foreach (string K in player.PlayerKeys)
                {
                    string k = K;
                    if (k == "Silver key")
                    {
                        context.executeStrategy();
                    }
                }
            }
            else if (CurrentcellDes == "Bronze Box")
            {
                context = new Context(new BronzeBox());
                player.PlayerBoxs.Add(box.GetBoxType());
                foreach (string K in player.PlayerKeys)
                {
                    string k = K;
                    if (k == "Bronze Key")
                    {
                        context.executeStrategy();
                    }
                }
            }
            else if (CurrentcellDes == key.GetkeyType() && key.GetkeyType() == "Golden key")
            {
                key = new GoldenKey();
                player.PlayerKeys.Add(key.GetkeyType());
            }
            else if (CurrentcellDes == "Silver key")
            {
                key = new Silverkey();
                player.PlayerKeys.Add(key.GetkeyType());
            }
            else if (CurrentcellDes == "Bronze Key")
            {
                key = new BronzeKey();
                player.PlayerKeys.Add(key.GetkeyType());
            }
            else if (CurrentcellDes == enemy.Type())
            {
                enemy.ExecuteEnemyStrategy();
            }
            else if (CurrentcellDes == diamond.getType())
            {
                Console.WriteLine("Congratulation You are The winner");
            }
            else
            {
                Console.WriteLine(" Exit ");
            }
        }
 public Context(IBoxStrategy strategy)
 {
     this.strategy = strategy;
 }