From 7ccc8701b4b02cc6fa0fd5e69afac58240593b92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= <jeremy@asynk.ch>
Date: Mon, 2 May 2016 10:58:10 +0200
Subject: Collection,IterableArray: add insert(E, int)

---
 core/src/ch/asynk/rustanddust/engine/util/Collection.java    |  2 ++
 core/src/ch/asynk/rustanddust/engine/util/IterableArray.java | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/core/src/ch/asynk/rustanddust/engine/util/Collection.java b/core/src/ch/asynk/rustanddust/engine/util/Collection.java
index 67ea169..1feb937 100644
--- a/core/src/ch/asynk/rustanddust/engine/util/Collection.java
+++ b/core/src/ch/asynk/rustanddust/engine/util/Collection.java
@@ -20,6 +20,8 @@ public interface Collection<E> extends Iterator, Iterable<E>
 
     public boolean add(E e);
 
+    public boolean insert(E e, int idx);
+
     public E remove(int idx);
 
     public boolean remove(E e);
diff --git a/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java b/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java
index f1473dd..08acb78 100644
--- a/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java
+++ b/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java
@@ -91,6 +91,16 @@ public class IterableArray<E> implements Collection<E>
     }
 
     @Override
+    public boolean insert(E e, int idx)
+    {
+        ensureCapacity(s + 1);
+        System.arraycopy(data, idx, data, idx+1, (s - idx));
+        data[idx] = e;
+        s += 1;
+        return true;
+    }
+
+    @Override
     public E remove(int i)
     {
         E e = data[i];
-- 
cgit v1.1-2-g2b99