protected override void OnUpdate() { for (int index = 0; index < cannonsData.Length; index++) { if (index >= BootStrap.GameSettings.CannonPositions.Count) { return; } Position2D position2D = cannonsData.Positions[index]; Heading2D heading2D = cannonsData.Headings[index]; Vector2 settingsCannonPos = BootStrap.GameSettings.CannonPositions[index]; Vector2 settingsCannonHeading = BootStrap.GameSettings.CannonHeadings[index]; float2 pos = new float2(settingsCannonPos.x, settingsCannonPos.y); float2 heading = new float2(settingsCannonHeading.x, settingsCannonHeading.y); position2D.Value = pos; heading2D.Value = math.normalize(heading); cannonsData.Positions[index] = position2D; cannonsData.Headings[index] = heading2D; } }
public void Execute(int index) { var human = humanDatum.Human[index]; if (human.IsInfected == 1) { return; } human.TimeTillNextDirectionChange -= dt; if (human.TimeTillNextDirectionChange <= 0) { human.TimeTillNextDirectionChange = 5; float randomX = (randomFloats[index] - 0.5f) * 2f; float randomY = (randomFloats2[index] - 0.5f) * 2f; Heading2D heading2D = humanDatum.Heading[index]; heading2D.Value = new float2(randomX, randomY); humanDatum.Heading[index] = heading2D; //MoveSpeed moveSpeed = humanDatum.MoveSpeed[index]; //moveSpeed.speed = index; //humanDatum.MoveSpeed[index] = moveSpeed; } humanDatum.Human[index] = human; }
protected override void OnUpdate() { for (int index = 0; index < arrowData.Length; index++) { for (int inIndex = 0; inIndex < ingredientData.Length; inIndex++) { Ingredient ingredient = ingredientData.ingredients[inIndex]; float2 delta = arrowData.arrowPositions[index].Value - ingredientData.ingredientPositions[inIndex].Value; float distance = math.sqrt(math.pow(delta.x, 2) + math.pow(delta.y, 2)); if (distance < distanceToCatchIngridient) { ingredientData.ingredients[inIndex] = ingredient; Heading2D arrowHeading = arrowData.arrowHeadings[index]; Position2D arrowPosition = arrowData.arrowPositions[index]; ingredientData.ingredientHeadings[inIndex] = arrowHeading; ingredientData.ingredientPositions[inIndex] = arrowPosition; } } } }