public CFibreReg SpawnUnit(CFibre Fibre, int ArgCount) { if (ArgCount == 6) { int ownerId = (int)Fibre.mLocal.mStore[Fibre.mFramePtr + 0].mNumber; float posX = (float)Fibre.mLocal.mStore[Fibre.mFramePtr + 1].mNumber; float posY = (float)Fibre.mLocal.mStore[Fibre.mFramePtr + 2].mNumber; int rot = (int)Fibre.mLocal.mStore[Fibre.mFramePtr + 3].mNumber; int tier = (int)Fibre.mLocal.mStore[Fibre.mFramePtr + 4].mNumber; int level = (int)Fibre.mLocal.mStore[Fibre.mFramePtr + 5].mNumber; CResume resume = new CResume(); resume.Generate(_world, tier, level); CUnit entity = _world.SpawnUnit(ownerId, resume, new Vector2(posX, posY), rot); return(new CFibreReg(entity.mID)); } throw new CFibreRuntimeException("unit_spawn does not take " + ArgCount + " parameters.", Fibre); }