Beispiel #1
0
 public void Init(Crab targetCrab)
 {
     renderer         = transform.GetComponentInChildren <Renderer>();
     targetCrabScript = targetCrab;
     targetCrabTrans  = targetCrab.transform;
     StartCoroutine(Move());
 }
        public void HiddenCrabsShouldNotEatOthers()
        {
            var crab1 = new Crab {
                Name = "Alfonz", Size = Animal.AnimalSize.Big, IsHidden = true
            };
            var crab2 = new Crab {
                Name = "Billy", Size = Animal.AnimalSize.Small
            };

            tank.AddAnimal(crab1);
            tank.AddAnimal(crab2);

            tank.StartGameofLife();

            var expected = new List <Animal>
            {
                new Crab
                {
                    Name     = crab1.Name,
                    Size     = crab1.Size,
                    IsDead   = false,
                    IsHidden = true
                },
                new Crab
                {
                    Name   = crab2.Name,
                    Size   = crab2.Size,
                    IsDead = false
                }
            };

            tank.Animals.Should().Equal(expected);
        }
        /// <summary>
        /// Creation of Invader's object
        /// They will be displayed in a range of n ennemies
        /// </summary>
        private void CreateInvaders()
        {
            int row    = Engine.MAX_ROW_INVADERS;                                 // The number of row of invaders       (default : 6)
            int column = Engine.MAX_COLUMN_INVADERS;                              // The number of column of invaders    (default : 10)

            engine.CurrentCloserRow = row;                                        // The row which ship are closer

            Engine.MAX_INVADER_MOVE = Program.Width - (column * Engine.SPACE_BETWEEN_INVADER);

            int basePositionX = 1; //((width / 2) - (nRow + SPACE_BETWEEN_INVADER)); // position  horizontale de base du bloc d'invaders default : 1 or 2
            int basePositionY = 8; // position verticale de base du bloc d'invaders    default : 8

            for (int x = 0; x < row; x++)
            {
                for (int y = 0; y < column; y++)
                {
                    // Create new Crab (Invader object)
                    Crab crab = new Crab();
                    crab.SetX(basePositionX + (Engine.SPACE_BETWEEN_INVADER * y));
                    crab.SetY(basePositionY + (Engine.SPACE_BETWEEN_INVADER * x));
                    crab.Row    = x + 1;
                    crab.Column = y + 1;
                    Model.Invaders.Add(crab);
                }
            }
        }
        public void BiggerCrabsShouldEatSmallerOnes()
        {
            var crab1 = new Crab {
                Name = "Alfonz", Size = Animal.AnimalSize.Big
            };
            var crab2 = new Crab {
                Name = "Billy", Size = Animal.AnimalSize.Small
            };

            tank.AddAnimal(crab1);
            tank.AddAnimal(crab2);

            tank.StartGameofLife();

            var expected = new List <Animal>
            {
                new Crab
                {
                    Name   = crab1.Name,
                    Size   = crab1.Size,
                    IsDead = false
                },
                new Crab
                {
                    Name   = crab2.Name,
                    Size   = crab2.Size,
                    IsDead = true
                }
            };

            tank.Animals.Should().Equal(expected);
        }
        public void FishesEatOnlySmallCrabs(Animal.AnimalSize crabSize, bool isDead)
        {
            var fish = new Fish {
                Name = "Alfonz", Size = Animal.AnimalSize.Big
            };
            var crab = new Crab {
                Name = "Billy", Size = crabSize
            };

            tank.AddAnimal(fish);
            tank.AddAnimal(crab);

            tank.StartGameofLife();

            var expected = new List <Animal>
            {
                new Fish
                {
                    Name   = fish.Name,
                    Size   = fish.Size,
                    IsDead = false
                },
                new Crab
                {
                    Name   = crab.Name,
                    Size   = crab.Size,
                    IsDead = isDead
                }
            };

            tank.Animals.Should().Equal(expected);
        }
Beispiel #6
0
 public void DetachCrab(Crab crab)
 {
     if (attachedCrabs.Contains(crab))
     {
         attachedCrabs.Remove(crab);
         shell.UpdateCrabVisuals(attachedCrabs.Count);
     }
 }
        public void New_crab_should_be_assigned_with_default_property_values()
        {
            var crab = new Crab();

            crab.Id.ShouldBe(default(int));
            crab.Name.ShouldBeNull();
            crab.Weight.ShouldBe(default(double));
        }
Beispiel #8
0
 public bool AttachCrab(Crab crab)
 {
     if (!attachedCrabs.Contains(crab) && attachedCrabs.Count < maxCrabs)
     {
         attachedCrabs.Add(crab);
         shell.UpdateCrabVisuals(attachedCrabs.Count);
         return(true);
     }
     return(false);
 }
Beispiel #9
0
 private void Start()
 {
     crab   = FindInParent <Crab>(transform);
     joints = GetComponentsInChildren <Joint>();
     if (target == null)
     {
         target = new GameObject("Target-" + name).AddComponent <SlerpingPoint>();
         target.transform.position = ClosePoint;
     }
 }
 public IActionResult Crab(Crab newCrab)
 {
     if (ModelState.IsValid)
     {
         _context.Crabs.Add(newCrab);
         _context.SaveChanges();
         return(Redirect("/"));
     }
     else
     {
         return(View("Index"));
     }
 }
 public IActionResult CreateCrab(Crab newCrab)
 {
     if (ModelState.IsValid)
     {
         _context.Crabs.Add(newCrab);
         _context.SaveChanges();
         return(RedirectToAction("Crabs"));
     }
     else
     {
         ViewBag.Planets = _context.Planets.ToList();
         return(View("NewCrab"));
     }
 }
Beispiel #12
0
    public void Init(Crab targetCrab)
    {
        renderer          = transform.GetChild(0).GetComponent <Renderer>();
        targetCrabScripts = FindObjectsOfType <Crab>();

        StartCoroutine(Move());

        shrimpTransforms = new Transform[transform.childCount];
        for (int i = 0; i < transform.childCount; i++)
        {
            shrimpTransforms[i] = transform.GetChild(i);
        }
        StartCoroutine(SpinningShrimp());
    }
Beispiel #13
0
        public static void Serializer_serializes_concrete_type_whose_abstract_parent_is_TwoWay_bindable_with_type_information_written_into_the_json()
        {
            var starfish = new Starfish();
            var crab     = new Crab(SeaCreatureSize.Large);
            var salmon   = new Salmon(SeaCreatureSize.Medium, "brown");

            var expectedStarfishJson = "{\r\n  \"$concreteType\": \"Naos.Serialization.Test.JsonConfigurationTest+Starfish, Naos.Serialization.Test\"\r\n}";
            var expectedCrabJson     = "{\r\n  \"size\": \"large\",\r\n  \"$concreteType\": \"Naos.Serialization.Test.JsonConfigurationTest+Crab, Naos.Serialization.Test\"\r\n}";
            var expectedSalmonJson   = "{\r\n  \"color\": \"brown\",\r\n  \"size\": \"medium\",\r\n  \"$concreteType\": \"Naos.Serialization.Test.JsonConfigurationTest+Salmon, Naos.Serialization.Test\"\r\n}";

            var actualStarfishJson = new NaosJsonSerializer(typeof(GenericDiscoveryJsonConfiguration <SeaCreature>)).SerializeToString(starfish);
            var actualCrabJson     = new NaosJsonSerializer(typeof(GenericDiscoveryJsonConfiguration <SeaCreature>)).SerializeToString(crab);
            var actualSalmonJson   = new NaosJsonSerializer(typeof(GenericDiscoveryJsonConfiguration <SeaCreature>)).SerializeToString(salmon);

            expectedStarfishJson.Should().Be(actualStarfishJson);
            expectedCrabJson.Should().Be(actualCrabJson);
            expectedSalmonJson.Should().Be(actualSalmonJson);
        }
        public void Serializer_serializes_concrete_type_whose_abstract_parent_is_TwoWay_bindable_with_type_information_written_into_the_json()
        {
            var starfish = new Starfish();
            var crab     = new Crab(SeaCreatureSize.Large);
            var salmon   = new Salmon(SeaCreatureSize.Medium, "brown");

            var expectedStarfishJson = "{\r\n  \"$concreteType\": \"Spritely.Recipes.Test.JsonConfigurationTest+Starfish, Spritely.Recipes.Test\"\r\n}";
            var expectedCrabJson     = "{\r\n  \"size\": \"large\",\r\n  \"$concreteType\": \"Spritely.Recipes.Test.JsonConfigurationTest+Crab, Spritely.Recipes.Test\"\r\n}";
            var expectedSalmonJson   = "{\r\n  \"color\": \"brown\",\r\n  \"size\": \"medium\",\r\n  \"$concreteType\": \"Spritely.Recipes.Test.JsonConfigurationTest+Salmon, Spritely.Recipes.Test\"\r\n}";

            var actualStarfishJson = JsonConvert.SerializeObject(starfish, JsonConfiguration.DefaultSerializerSettings);
            var actualCrabJson     = JsonConvert.SerializeObject(crab, JsonConfiguration.DefaultSerializerSettings);
            var actualSalmonJson   = JsonConvert.SerializeObject(salmon, JsonConfiguration.DefaultSerializerSettings);

            Assert.That(expectedStarfishJson, Is.EqualTo(actualStarfishJson));
            Assert.That(expectedCrabJson, Is.EqualTo(actualCrabJson));
            Assert.That(expectedSalmonJson, Is.EqualTo(actualSalmonJson));
        }
Beispiel #15
0
        public static void Serializer_serializes_concrete_type_whose_abstract_parent_is_TwoWay_bindable_with_type_information_written_into_the_json()
        {
            var starfish = new Starfish();
            var crab     = new Crab(SeaCreatureSize.Large);
            var salmon   = new Salmon(SeaCreatureSize.Medium, "brown");

            var expectedStarfishJson = Invariant($"{{\r\n  \"$concreteType\": \"OBeautifulCode.Serialization.Json.Test.JsonSerializationConfigurationTest+Starfish, OBeautifulCode.Serialization.Json.Test\"\r\n}}");
            var expectedCrabJson     = Invariant($"{{\r\n  \"size\": \"large\",\r\n  \"$concreteType\": \"OBeautifulCode.Serialization.Json.Test.JsonSerializationConfigurationTest+Crab, OBeautifulCode.Serialization.Json.Test\"\r\n}}");
            var expectedSalmonJson   = Invariant($"{{\r\n  \"color\": \"brown\",\r\n  \"size\": \"medium\",\r\n  \"$concreteType\": \"OBeautifulCode.Serialization.Json.Test.JsonSerializationConfigurationTest+Salmon, OBeautifulCode.Serialization.Json.Test\"\r\n}}");

            var actualStarfishJson = new ObcJsonSerializer(typeof(SeaCreatureJsonSerializationConfiguration).ToJsonSerializationConfigurationType()).SerializeToString(starfish);
            var actualCrabJson     = new ObcJsonSerializer(typeof(SeaCreatureJsonSerializationConfiguration).ToJsonSerializationConfigurationType()).SerializeToString(crab);
            var actualSalmonJson   = new ObcJsonSerializer(typeof(SeaCreatureJsonSerializationConfiguration).ToJsonSerializationConfigurationType()).SerializeToString(salmon);

            expectedStarfishJson.Should().Be(actualStarfishJson);
            expectedCrabJson.Should().Be(actualCrabJson);
            expectedSalmonJson.Should().Be(actualSalmonJson);
        }
Beispiel #16
0
    private void OnTriggerEnter(Collider col)
    {
        if ((1 << col.gameObject.layer & ShellTriggerLayer) != 0)
        {
            Debug.Log("OnTrigger Enter");
            isNearShell  = true;
            nearestShell = col.GetComponent <ShellEntrance>();
        }

        if ((1 << col.gameObject.layer & PickUpTriggerLayer) != 0 && nearestPickup == null)
        {
            nearestPickup = col.GetComponent <Pickup>();
        }

        if ((1 << col.gameObject.layer & CrabTriggerLayer) != 0)
        {
            nearestCrab = col.GetComponent <Crab>();
        }
    }
Beispiel #17
0
    private void OnTriggerExit(Collider col)
    {
        if ((1 << col.gameObject.layer & ShellTriggerLayer) != 0)
        {
            Debug.Log("OnTrigger Exit");
            isNearShell  = false;
            nearestShell = null;
        }

        if ((1 << col.gameObject.layer & PickUpTriggerLayer) != 0)
        {
            nearestPickup = null;
        }
        if ((1 << col.gameObject.layer & CrabTriggerLayer) != 0)
        {
            if (nearestCrab != null)
            {
                nearestCrab = null;
            }
        }
    }
Beispiel #18
0
        public void OnEnemySpawn(Enemy enemy, Crab crab)
        {
            if (enemy != null)
            {
                if (spawnChance < r)
                {
                    return;
                }

                WeaponChance weapon = ModUtilities.GetWeaponFromList(thisWeapon);

                if (weapon == null)
                {
                    return;
                }

                enemy.rightFist.GetComponent <GrabHand> ().LetGo();
                enemy.leftFist.GetComponent <GrabHand> ().LetGo();

                GameObject w = UnityEngine.Object.Instantiate(weapon.weapon, enemy.rightFist.GetComponent <GrabHand> ().anchorPoint.position, enemy.rightFist.GetComponent <GrabHand> ().anchorPoint.rotation);

                w.AddComponent <MyWeaponSetUp> ().SetUp(weapon);

                enemy.rightFist.GetComponent <TestGrabJoint> ().rigidbodyToGrab = w.GetComponent <WeaponBase> ().grabbable;
                enemy.rightFist.GetComponent <TestGrabJoint> ().grab            = true;

                ArmorPiece[] componentsInChildren = enemy.GetComponentsInChildren <ArmorPiece> ();
                for (int i = 0; i < componentsInChildren.Length; i++)
                {
                    foreach (Collider collider in componentsInChildren[i].GetComponentsInChildren <Collider> ())
                    {
                        foreach (Collider collider2 in w.GetComponentsInChildren <Collider> ())
                        {
                            Physics.IgnoreCollision(collider, collider2, true);
                        }
                    }
                }
            }
        }
Beispiel #19
0
        protected override void OnUpdate()
        {
            //base.OnUpdate();

            OnUpdateHitbox();
            HandleBlinking();

            switch (state)
            {
            case StateOpen: {
                if (stateTime <= 0f)
                {
                    PlaySound("Closing");

                    state = StateTransition;
                    SetAnimation((AnimState)1073741825);
                    SetTransition((AnimState)1073741824, false, delegate {
                            state     = StateClosed;
                            stateTime = 280f;

                            isInvulnerable = true;
                        });
                }

                if (spawnCrabTime <= 0f)
                {
                    float force = MathF.Rnd.NextFloat(-15f, 15f);

                    Crab crab = new Crab();
                    crab.OnAttach(new ActorInstantiationDetails {
                            Api = api,
                            Pos = Transform.Pos + new Vector3(0f, 0f, 4f)
                        });
                    crab.AddExternalForce(force, 0f);
                    api.AddActor(crab);

                    spawnCrabTime = (hasShield ? MathF.Rnd.NextFloat(160f, 220f) : MathF.Rnd.NextFloat(120f, 200f));
                }
                else
                {
                    spawnCrabTime -= Time.TimeMult;
                }
                break;
            }

            case StateClosed: {
                if (stateTime <= 0f)
                {
                    PlaySound("Opening");

                    state = StateTransition;
                    SetAnimation(AnimState.Idle);
                    SetTransition((AnimState)1073741826, false, delegate {
                            state     = StateOpen;
                            stateTime = 280f;

                            isInvulnerable = hasShield;
                        });
                }
                break;
            }
            }

            stateTime -= Time.TimeMult;

            if (state != StateWaiting)
            {
                FollowNearestPlayer();

                anglePhase     += Time.TimeMult * 0.02f;
                Transform.Angle = MathF.PiOver2 + MathF.Sin(anglePhase) * 0.2f;

                Vector3 pos = lastPos + new Vector3(MathF.Cos(anglePhase) * 60f, MathF.Sin(anglePhase) * 60f, 0f);
                Transform.Pos = pos;

                if (hasShield)
                {
                    int shieldCount = 0;
                    for (int i = 0; i < shields.Length; i++)
                    {
                        if (shields[i].Scene != null)
                        {
                            if (shields[i].FallTime <= 0f)
                            {
                                shields[i].Transform.Pos = pos + new Vector3(MathF.Cos(anglePhase + shields[i].Phase) * 50f, MathF.Sin(anglePhase + shields[i].Phase) * 50f, -2f);
                                shields[i].Recover(anglePhase + shields[i].Phase);
                            }
                            shieldCount++;
                        }
                    }

                    if (shieldCount == 0)
                    {
                        hasShield = false;
                    }
                }
            }

            OnUpdateHitbox();
        }
Beispiel #20
0
 private void Start()
 {
     crab     = Limb.FindInParent <Crab>(transform);
     collider = GetComponent <SphereCollider>();
 }
Beispiel #21
0
 // Start is called before the first frame update
 void Start()
 {
     crab = GetComponent <Crab>();
 }
        public static Unit BuildUnitHMI(TypeEntite type, Case position, Joueur j)
        {
            Unit unit = null;

            switch (type)
            {
            case TypeEntite.ASTRONEF:
                unit       = new Spaceship((Unite)FabriqueUnite.CreeUnite(type, position, j), _map);
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("astronef.png")),
                };
                break;

            case TypeEntite.BARGE:
                unit       = new BargeHMI((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("barge.png"))
                };
                break;

            case TypeEntite.TANK:
                unit       = new TankHMI((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("tank.png"))
                };
                break;

            case TypeEntite.CRABE:
                unit       = new Crab((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("Crab3.png"))
                };
                break;

            case TypeEntite.GROS_TAS:
                unit       = new T99((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("big_tank.png"))
                };
                break;

            case TypeEntite.PONDEUSE:
                unit       = new WeatherLayerHMI((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("weather_layer.png"))
                };
                break;

            case TypeEntite.VEDETTE:
                unit       = new Speedboat((Unite)FabriqueUnite.CreeUnite(type, position, j));
                unit.Image = new Image()
                {
                    Source = new BitmapImage(fileLoader.GetUri("boat.png")),
                };
                break;
            }
            unit.Image.Height = unit.Height;
            unit.Image.Width  = unit.Width;
            unit.AddHandler();
            return(unit);
        }
Beispiel #23
0
 public override void Init(Crab targetCrab)
 {
     targetCrabScript = targetCrab;
     targetCrabTrans  = targetCrab.transform;
     StartCoroutine(Attack());
 }
Beispiel #24
0
 public virtual void Init(Crab crab)
 {
     renderer.GetComponent <Renderer>();
 }
Beispiel #25
0
 private void Awake()
 {
     Instance = this;
 }