Skip to content

Commit e646918

Browse files
authored
Merge pull request #456 from engaging-computing/dev
v2.2.0 | Lights and textures
2 parents 812b44d + b1d217f commit e646918

30 files changed

Lines changed: 2194 additions & 133 deletions

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- checkout
17-
- run:
17+
- run:
1818
name: Create firebase key file
1919
command: mkdir ~/MYR/src/keys && touch ~/MYR/src/keys/firebase.js && echo -e "export const firebaseKey = \"$FIREBASE_KEY\";\nexport default firebaseKey;" > src/keys/firebase.js
2020
# Download and cache dependencies

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ The Engaging Computing Group develops new technologies to enable learners—yout
99
## Status
1010
[![CircleCI](https://circleci.com/gh/engaging-computing/MYR.svg?style=shield)](https://circleci.com/gh/engaging-computing/MYR)
1111

12-
## Change Log - 2.1.0 -> 2.1.1
13-
- Updates Material UI to 4.11.2
14-
- Add esdoc for code documentation
15-
- Adds a dependabot configuration file so it will make usable pull requests
12+
## Change Log - 2.1.1 -> 2.2.0
13+
- Adds Lighting features to MYR
14+
- Adds Texture features to MYR
15+
- Updates copyright in the footer to be in the form `2018 - <current year>`
1616

1717

1818
## Acknowledgments

package-lock.json

Lines changed: 9 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "myr",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"private": false,
55
"engines": {
66
"node": "12.18.2"

src/actions/courseActions.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export function fetchCourse(courseId) {
6363
}
6464

6565
dispatch(loadLesson(json.lessons[0] || ""));
66+
dispatch(sceneActions.loadSettings(json.lessons[0].settings || {}));
6667
dispatch(render(json.lessons[0].code || ""));
6768
dispatch(updateSavedText(json.lessons[0].code || ""));
6869
dispatch(sceneActions.setNameDesc(
@@ -96,6 +97,8 @@ export function loadCourse(course) {
9697
export function fetchLesson(json) {
9798
return (dispatch) => {
9899
dispatch(loadLesson(json));
100+
dispatch(sceneActions.resetSettings());
101+
dispatch(sceneActions.loadSettings(json.settings || {}));
99102
dispatch(render(json.code || ""));
100103
dispatch(updateSavedText(json.code || ""));
101104
dispatch(sceneActions.nameScene(json.name));

src/actions/sceneActions.js

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ export function loadScene(data) {
2525
export function toggleCoordSky() {
2626
return { type: types.TOGGLE_COORD_SKY };
2727
}
28+
export function toggleDefaultLight() {
29+
return { type: types.TOGGLE_DEFAULT_LIGHT };
30+
}
31+
export function toggleCastShadow() {
32+
return { type: types.TOGGLE_CAST_SHADOW };
33+
}
34+
35+
export function toggleLightIndicator(){
36+
return {type: types.TOGGLE_LIGHT_INDICATOR};
37+
}
2838

2939
export function changeSkyColor(color) {
3040
return { type: types.CHANGE_SKY_COLOR, color };
@@ -62,8 +72,12 @@ export function loadSettings(payload) {
6272
return { type: types.LOAD_SETTINGS, payload };
6373
}
6474

65-
export function changeSetting(payload) {
66-
return { type: types.LOAD_SETTINGS, payload };
75+
export function changeSettings(payload) {
76+
return { type: types.CHANGE_SETTINGS, payload };
77+
}
78+
79+
export function resetSettings() {
80+
return { type: types.RESET_SETTINGS };
6781
}
6882

6983
export function addCollectionID(payload) {
@@ -95,9 +109,13 @@ export default {
95109
toggleFly,
96110
toggleFloor,
97111
loadSettings,
98-
changeSetting,
112+
changeSettings,
113+
resetSettings,
99114
addCollectionID,
100115
setDesc,
101116
setNameDesc,
102-
removeCollectionID
117+
removeCollectionID,
118+
toggleDefaultLight,
119+
toggleCastShadow,
120+
toggleLightIndicator
103121
};

src/components/editor/customCompleter.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import myrReference from "../../myr/reference.js";
2+
import myrTextures from "../structural/Textures.js";
23

34
export const customCompleter = {
45
getCompletions: function (editor, session, pos, prefix, callback) {
@@ -34,10 +35,16 @@ export const customCompleter = {
3435
"static"
3536
];
3637

38+
let texture = myrTextures();
39+
let Texture = [...texture.TexturePack.map(obj => obj.title),
40+
"group()"
41+
];
42+
3743
let reference = myrReference();
3844
let keyWords = [...reference.geometry.map(obj => obj.name + "()"),
3945
...reference.transformations.map(obj => obj.name + "()"),
4046
...reference.animations.map(obj => obj.name + "()"),
47+
...reference.lights.map(obj=>obj.name+"()"),
4148
"group()"
4249
];
4350

@@ -218,6 +225,15 @@ export const customCompleter = {
218225
score: 0
219226
};
220227
}));
228+
229+
callback(null, Texture.map(function (word) {
230+
return {
231+
caption: word,
232+
value: word,
233+
meta: "texture",
234+
score: 3
235+
};
236+
}));
221237
}
222238
};
223239

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import React from "react";
2+
import Header from "../structural/header/Header";
3+
import Footer from "../structural/Footer";
4+
import TextureReferencePage from "../reference/TextureReferencePage";
5+
6+
import * as layoutTypes from "../../constants/LayoutTypes.js";
7+
8+
export const TextureReference = ({ editor, editorActions, user, authActions, scene, sceneActions, projectActions, courseActions, projects, courses, match, collectionActions, collections }) => (
9+
<div className="App">
10+
<Header
11+
logging={authActions}
12+
sceneActions={sceneActions}
13+
actions={editorActions}
14+
user={user}
15+
scene={scene}
16+
text={editor.text}
17+
message={editor.message}
18+
projectId={match.params.id}
19+
match={match}
20+
projectActions={projectActions}
21+
courseActions={courseActions}
22+
projects={projects}
23+
courses={courses}
24+
collectionActions={collectionActions}
25+
collections={collections}
26+
layoutType={layoutTypes.TEXTURE_REFERENCE}
27+
/>
28+
<div className="row no-gutters">
29+
<TextureReferencePage />
30+
</div>
31+
<Footer />
32+
</div>
33+
);
34+
35+
export default TextureReference;

src/components/reference/Reference.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,14 @@ export default class Reference extends React.Component {
196196
</Hidden>
197197
}
198198
value='d' />
199+
<Tab
200+
icon={<Icon className="material-icons geometry">highlight</Icon>}
201+
label={
202+
<Hidden xsDown>
203+
<div>LIGHT</div>
204+
</Hidden>
205+
}
206+
value='e' />
199207
{/*<Tab
200208
style={{ background: "green", color: "white" }}
201209
icon={<Icon className="material-icons">open_in_new</Icon>}
@@ -238,6 +246,10 @@ export default class Reference extends React.Component {
238246
<div style={{ marginTop: 0, overflow: "scroll" }}>
239247
{this.TableEx("groups")}
240248
</div>}
249+
{this.state.value === "e" &&
250+
<div style={{ marginTop: 0, overflow: "scroll" }}>
251+
{this.TableEx("lights")}
252+
</div>}
241253
</Drawer>
242254
</React.Fragment> : null}
243255
</div>

src/components/reference/ReferencePage.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,14 @@ export default class Reference extends React.Component {
135135
</Hidden>
136136
}
137137
value='d' />
138+
<Tab
139+
icon={<Icon className="material-icons geometry">highlights</Icon>}
140+
label={
141+
<Hidden xsDown>
142+
<div>LIGHTS</div>
143+
</Hidden>
144+
}
145+
value='e' />
138146
</Tabs>
139147
{<div style={{ margin: 5 }}>
140148
<p style={{ fontSize: "80%" }}> Key: <span className="array">array </span>
@@ -160,6 +168,10 @@ export default class Reference extends React.Component {
160168
<div style={{ marginTop: 0 }}>
161169
{this.TableEx("groups")}
162170
</div>}
171+
{this.state.value === "e" &&
172+
<div style={{ marginTop: 0 }}>
173+
{this.TableEx("lights")}
174+
</div>}
163175
</div>
164176
);
165177
}

0 commit comments

Comments
 (0)