Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 50 additions & 53 deletions Assets/Arcweave/Demo/ArcweaveDemoScene.unity
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
Expand All @@ -117,7 +117,7 @@ NavMeshSettings:
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
Expand Down Expand Up @@ -183,13 +183,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 848708502}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1007191235
GameObject:
Expand Down Expand Up @@ -220,7 +220,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: af65da9c3b191244bacdcd1bdad5e7fd, type: 3}
m_Name:
m_EditorClassIdentifier:
aw: {fileID: 11400000, guid: 8ca448632993a50418e7e49017aa1da3, type: 2}
aw: {fileID: 11400000, guid: 6b2922dee52894344bce3d90986ea14f, type: 2}
autoStart: 1
--- !u!4 &1007191237
Transform:
Expand All @@ -229,137 +229,118 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1007191235}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 648.9208, y: 446.11154, z: -170.3249}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1290797491
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1403719407132185570, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185570, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_Name
value: '@ArcweavePlayerUI'
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185582, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1403719407132185583, guid: e8f9dc58e4b2d4e4eb832a4bb5274656,
type: 3}
- target: {fileID: 1403719407132185583, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
propertyPath: player
value:
objectReference: {fileID: 1007191236}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e8f9dc58e4b2d4e4eb832a4bb5274656, type: 3}
--- !u!1 &1387507062
GameObject:
Expand Down Expand Up @@ -401,9 +382,17 @@ Camera:
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
Expand Down Expand Up @@ -437,11 +426,19 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1387507062}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1387507065}
- {fileID: 1007191237}
- {fileID: 1290797491}
- {fileID: 848708505}
34 changes: 17 additions & 17 deletions Assets/Arcweave/Demo/ArcweavePlayer.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
using UnityEngine;

using Arcweave.Project;

namespace Arcweave
{
///This is not required to utilize an arweave project but can be helpful for some projects as well as a learning example.
public class ArcweavePlayer : MonoBehaviour
{
//Delegates for the events.
public delegate void OnProjectStart(Project project);
public delegate void OnProjectFinish(Project project);
public delegate void OnProjectStart(Project.Project project);
public delegate void OnProjectFinish(Project.Project project);
public delegate void OnElementEnter(Element element);
public delegate void OnElementOptions(State state, System.Action<int> next);
public delegate void OnElementOptions(Options options, System.Action<int> next);
public delegate void OnWaitingInputNext(System.Action next);

public const string SAVE_KEY = "arcweave_save";
Expand Down Expand Up @@ -39,44 +39,44 @@ public void PlayProject() {
return;
}

aw.project.Initialize();
if ( onProjectStart != null ) onProjectStart(aw.project);
Next(aw.project.startingElement);
aw.Project.Initialize();
if ( onProjectStart != null ) onProjectStart(aw.Project);
Next(aw.Project.StartingElement);
}

///Moves to the next element through a path
void Next(Path path) {
path.ExecuteAppendedConnectionLabels();
Next(path.targetElement);
Next(path.TargetElement);
}

///Moves to the next/an element directly
void Next(Element element) {
currentElement = element;
currentElement.visits++;
currentElement.Visits++;
if ( onElementEnter != null ) onElementEnter(element);
var currentState = currentElement.GetState();
var currentState = currentElement.GetOptions();
if ( currentState.hasPaths ) {
if ( currentState.hasOptions ) {
if ( onElementOptions != null ) {
onElementOptions(currentState, (index) => Next(currentState.paths[index]));
onElementOptions(currentState, (index) => Next(currentState.Paths[index]));
}
return;
}

if ( onWaitInputNext != null ) onWaitInputNext(() => Next(currentState.paths[0]));
if ( onWaitInputNext != null ) onWaitInputNext(() => Next(currentState.Paths[0]));
return;
}
currentElement = null;
if ( onProjectFinish != null ) onProjectFinish(aw.project);
if ( onProjectFinish != null ) onProjectFinish(aw.Project);
}

///----------------------------------------------------------------------------------------------

///Save the current element and the variables.
public void Save() {
var id = currentElement.id;
var variables = aw.project.SaveVariables();
var id = currentElement.Id;
var variables = aw.Project.SaveVariables();
var save = string.Join("^", id, variables);
PlayerPrefs.SetString(SAVE_KEY, save);
}
Expand All @@ -85,8 +85,8 @@ public void Save() {
public void Load() {
var save = PlayerPrefs.GetString(SAVE_KEY);
var split = save.Split('^');
var element = aw.project.ElementWithID(split[0]);
aw.project.LoadVariables(split[1]);
var element = aw.Project.ElementWithId(split[0]);
aw.Project.LoadVariables(split[1]);
Next(element);
}
}
Expand Down
18 changes: 12 additions & 6 deletions Assets/Arcweave/Demo/ArcweavePlayerUI.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Arcweave.Project;

namespace Arcweave
{
Expand Down Expand Up @@ -56,7 +57,12 @@ void Load() {

void OnElementEnter(Element e) {
componentCover.gameObject.SetActive(false);
content.text = e.HasContent() ? e.GetRuntimeContent() : "<i>[ No Content ]</i>";
content.text = "<i>[ No Content ]</i>";
if (e.HasContent())
{
e.RunContentScript();
content.text = e.RuntimeContent;
}
content.canvasRenderer.SetAlpha(0);
content.CrossFadeAlpha(1f, CROSSFADE_TIME, false);

Expand All @@ -83,13 +89,13 @@ void OnElementEnter(Element e) {
}
}

void OnElementOptions(State s, System.Action<int> callback) {
for ( var i = 0; i < s.paths.Length; i++ ) {
void OnElementOptions(Options options, System.Action<int> callback) {
for ( var i = 0; i < options.Paths.Count; i++ ) {
var _i = i; //local var for the delegate
var text = !string.IsNullOrEmpty(s.paths[i].label) ? s.paths[i].label : "<i>[ N/A ]</i>";
var text = !string.IsNullOrEmpty(options.Paths[i].label) ? options.Paths[i].label : "<i>[ N/A ]</i>";
var button = MakeButton(text, () => callback(_i));
var pos = button.transform.position;
pos.y += buttonTemplate.GetComponent<RectTransform>().rect.height * ( s.paths.Length - 1 - i );
pos.y += buttonTemplate.GetComponent<RectTransform>().rect.height * ( options.Paths.Count - 1 - i );
button.transform.position = pos;
}
}
Expand All @@ -98,7 +104,7 @@ void OnWaitInputNext(System.Action callback) {
MakeButton("...", callback);
}

void OnProjectFinish(Project p) {
void OnProjectFinish(Project.Project p) {
MakeButton("Restart", player.PlayProject);
}

Expand Down
Loading