I guess this is as good a place to start as any other:
StartingPoint.cs
using System;
using System.Text;
using System.Collections.Generic;
using Story;
using Location;
namespace Narration.Exposition
{
/// <summary>
/// This is where it all started.
/// </summary>
public class StartingPoint : IStory
{
/// <summary>
/// I don't actually remember much anymore.<br/>
/// All I can say is that this is most likely <b>not</b> a real place; it keeps on shifting in my memories, so it's most likely a <see cref="MorphSpace"/> messing with my head.
/// </summary>
public const string c_overview = "You won't remember why or how, but it is important to note that this is where things started breaking down.\n" +
"Of course you likely can't remember what this is all about—not yet at least; but it's still worth taking the time to go through this bit with you first.\n" +
"People like you just aren't made the same way as us; so at best I'll be using metaphors all the way through.";
public MorphSpace _location = new MorphSpace ();
/// <summary>
/// <b>The space's dimensions rough in meters.</b><br/>
/// This is unreliable at best; it seems to grow or shrink by about 5m in any direction each time you check.<br/>
/// I'm guessing this is a result of the fluctuation in data size, but it's impossible to compare the two:<br/>
/// By the time I get one measured, the other has chenged to something totally irrelevant!
/// </summary>
public (float width, float depth, float height) _size = (22f, 31f, 4.2f);
List<object> contents = new List<object> ();
private void OnStart ()
{
contents.Add (/*_YOU_*/); /*[ERROR] _YOU_ /must/ be an object.*/ // I know, right?
}
public string Read ()
{
Random rand = new Random ();
(float width, float depth, float height) actualSize = (
Math.Max (_size.width + rand.Next (9) + (float)rand.NextDouble () - 5f, 0f),
Math.Max (_size.depth + rand.Next (9) + (float)rand.NextDouble () - 5f, 0f),
Math.Max (_size.height + rand.Next (9) + (float)rand.NextDouble () - 5f, 0f)
);
StringBuilder readData = new StringBuilder ();
readData.Append ($"[OVERVIEW]: {c_overview}\n\n");
readData.Append ($"[LOCATION]: This won't helo you at all; but if anyone comes along that can grasp how things really are, it will help make sense of things:\n" +
$"{_location.GetCurrent ()}\n\n");
readData.Append ($"[CURRENT SIZE]: width {actualSize.width}m; depth {actualSize.depth}m; height {actualSize.height}m");
KickOut (/*_YOU_*/); // Nice one, but it won't work.
return readData.ToString ();
}
private void KickOut (/*_PERSON_*/)
{
object person /*_= _PERSON_*/;
try
{
person.Remove; // Not an option buddy.
}
catch
{
/*[WARNING] you shouldn't be here. This should work; you're not part of the system.*/
// Infuriating, isn't it? As soon as I figured out you had tracked me to that place, I made sure this wouldn't be an option.
}
}
}
}
I'm pretty sure you'll need these to make sense of it:
MorphSpace.cs
namespace Location
{
/// <summary>
/// It's almost impossible to qualify a <see cref="MorphSpace"/> properly; by its very nature it is shifting, abstract.<br/>
/// As best I can tell, these spaces constantly shift; not just in real time, but also across time.<br/>
/// Your memories of it don't remain constant, they keep shifting long after you've left; and they do not remain in sync with what the space actually becomes.
/// </summary>
public class MorphSpace
{
public MorphSpace GetCurrent ()
{
MorphSpace currentStatus = new MorphSpace ();
currentStatus.RandomizeState ();
return currentStatus;
}
/// <summary>
/// Gone, again. I keep trying to get it stabilized, but it just breaks itself each time.
/// </summary>
/// <returns>Who knows; it's not like I can really see this side of things anyway. Good luck to whoever can.</returns>
public MorphSpace RandomizeState()
{
/*
[ERROR] unauthorized modifications removed.
[WARNING] access is not authorized.
*/
}
/* !!!!!
[DATA CORRUPTED] please complete data recovery process.
*/
// And now this too!!!! I can't seem to get a lock on how these work.
// I don't have time to fiddle with this at the moment; I'll have to get in later and completely rework things or half of this shit won't make any sense at all!
}
}
IStory.cs
namespace Story
{
/// <summary>
/// I don't know how you got here, but I think I can set this up for you to use;<br/>
/// I can't get it working properly myself, but if you can, there's a chance it will let you understand what I'm dealing with.
/// </summary>
interface IStory
{
/// <summary>
/// Take it; use it. Hopefully it will be enough, though I'm pretty sure it's too late for me.
/// </summary>
/// <returns>Context I guess... a different point of view that I'm unable to get to because things are all buggy on my end.</returns>
public string Read ();
}
}
Comments
Displaying 0 of 0 comments ( View all | Add Comment )