예제 #1
0
파일: Planet.cs 프로젝트: Pumpkikin/Orrery
    // Start is called before the first frame update
    void Start()
    {
        // Get Vertex count
        MeshFilter MF = GetComponent <MeshFilter>();

        ModelSpaceVertices = MF.mesh.vertices;
        CurrentPosition    = new Vectors(transform.position.x, transform.position.y, transform.position.z);

        // So we can see current position of mesh (as matrix moves verices)
        x = CurrentPosition.x;
        y = CurrentPosition.y;
        z = CurrentPosition.z;

        // Fills our orbit path data
        orbit = GetComponent <OrbitPath>();
        // Find time
        TimeM = FindObjectOfType <TimeModifier>();

        // Set ellipses origin
        if (Parent != null)
        {
            RotationOrigin = new Vectors(Parent.x, Parent.y, Parent.z);
        }
        else
        {
            RotationOrigin = new Vectors(0, 0, 0);
        }

        // Set our orbit
        setOrbit();
    }
예제 #2
0
    public static SKU.IAttributeModifier CreateModifier(ModifierType type, params object[] parameters)
    {
        SKU.IAttributeModifier modifier = null;
        switch (type)
        {
        case ModifierType.Flat:
            Assert.IsTrue(parameters.Length == 1);
            modifier = new FlatModifier((float)parameters[0]);
            break;

        case ModifierType.Time:
            Assert.IsTrue(parameters.Length == 2);
            modifier = new TimeModifier((float)parameters[0], (float)parameters[1]);
            break;

        case ModifierType.Regen:
            Assert.IsTrue(parameters.Length == 2);
            modifier = new RegenModifier((float)parameters[0], (float)parameters[1]);
            break;

        default:
            Debug.Log("This ModifierType is no implemented: " + type);
            break;
        }
        Assert.IsNotNull(modifier);
        return(modifier);
    }
예제 #3
0
    TimeSpan ProduceTime(TimeModifier type, int hour, out string text)
    {
        text = IntToWord(hour);

        //smack that shit together, convert it to a datetime
        switch (type)
        {
        case TimeModifier.Half:
            text = "Half " + text;
            return(new TimeSpan(hour - 1, 30, 0));

        case TimeModifier.KwartOver:
            text = "Kwart over " + text;
            return(new TimeSpan(hour, 15, 0));

        case TimeModifier.KwartVoor:
            text = "Kwart voor " + text;
            return(new TimeSpan(hour - 1, 45, 0));

        case TimeModifier.Uur:
            text = text + " Uur";
            return(new TimeSpan(hour, 0, 0));

        default:
            throw new ArgumentOutOfRangeException("Not a valid time modifier");
        }
    }
예제 #4
0
    TimeSpan ProduceTime(TimeModifier type, int hour, out string text)
    {
        text = IntToWord(hour);
        LanguageController.Instance.GetText(0);

        //if (currentlanguage == "Nederlands")
        //{
        switch (type)
        {
        case TimeModifier.Half:
            text = LanguageController.Instance.GetText(14) + " " + text;
            return(new TimeSpan(hour - 1, 30, 0));

        case TimeModifier.KwartOver:
            text = LanguageController.Instance.GetText(15) + " " + text;
            return(new TimeSpan(hour, 15, 0));

        case TimeModifier.KwartVoor:
            text = LanguageController.Instance.GetText(16) + " " + text;
            return(new TimeSpan(hour - 1, 45, 0));

        case TimeModifier.Uur:
            text = text + " " + LanguageController.Instance.GetText(13);
            return(new TimeSpan(hour, 0, 0));

        default:
            throw new ArgumentOutOfRangeException("Not a valid time modifier");
        }
        //}

        /*else if (currentlanguage == "English")
         * {
         *  switch(type)
         *  {
         *      case TimeModifier.Half:
         *          text = LanguageController.Instance.GetText(14) + " " + IntToWord(hour-1);
         *          return new TimeSpan(hour-1, 30, 0);
         *      case TimeModifier.KwartOver:
         *          text = LanguageController.Instance.GetText(15) + " " + text;
         *          return new TimeSpan(hour, 15, 0);
         *      case TimeModifier.KwartVoor:
         *          text = LanguageController.Instance.GetText(16) + " " + text;
         *          return new TimeSpan(hour-1, 45, 0);
         *      case TimeModifier.Uur:
         *          text = text + " " + LanguageController.Instance.GetText(13);
         *          return new TimeSpan(hour, 0, 0);
         *      default:
         *          throw new ArgumentOutOfRangeException("Not a valid time modifier");
         *  }
         * }
         * else if (currentlanguage == "French")
         * {
         *
         * }
         */
    }
예제 #5
0
    void NewTargetTime()
    {
        //get a random time
        TimeModifier modifier = GetNewRandomMod(previousMod);
        int          hour     = GetNewRandomHour(previousHour);
        //string of the written-out time to put in the label
        string targetTimeText;

        //produce the new cake layer, put it in the oven
        currentCakeLayer = Instantiate(CakeLayerPrefab, OvenTrans);
        currentCakeLayer.gameObject.transform.SetPositionAndRotation(TempCakeTrans.position, TempCakeTrans.rotation);

        //set the target time
        TimeSpan newTime = ProduceTime(modifier, hour, out targetTimeText);

        currentCakeLayer.SetTime(newTime);
        TargetLabel.text = targetTimeText;
        VoiceScript.PlayTimeSounds(hour, (int)modifier);
    }