Exemple #1
0
        public ZoomingAndScrolling()
        {
            InitializeComponent();

            Title = AppResources.ZoomingScrollingTitle;
            this.lblZoomMode.Text = AppResources.ZoomMode;

            this.flexChart.ItemsSource    = GenerateRandNormal(500);
            this.flexChart.Palette        = C1.Xamarin.Forms.Chart.Palette.Superhero;
            this.flexChart.Header         = AppResources.ScrollZoomInstructions;
            this.flexChart.AxisY.Format   = "n2";
            this.flexChart.LegendPosition = ChartPositionType.Bottom;

            //disable tooltip on android
            //Device.OnPlatform(Android: () => this.flexChart.ToolTip = null);
            ZoomBehavior z = new ZoomBehavior();

            z.ZoomMode = GestureMode.X;
            flexChart.Behaviors.Add(z);

            TranslateBehavior t = new TranslateBehavior();

            flexChart.Behaviors.Add(t);

            foreach (var item in Enum.GetNames(typeof(GestureMode)))
            {
                this.pickerZoomMode.Items.Add(item);
            }
            this.pickerZoomMode.SelectedIndex = 2;
        }
        public CustomPlotElementsScrolling()
        {
            InitializeComponent();
            Title = AppResources.CustomPlotElementsScrollingTitle;

            flexChart1.ItemsSource = new List <Company>
            {
                new Company {
                    Name = "Apple", DevicesSold = 15.58
                },
                new Company {
                    Name = "Google", DevicesSold = 20.23
                },
                new Company {
                    Name = "Microsoft", DevicesSold = 10.46
                },
            };

            flexChart1.AxisY.AxisLine = false;
            flexChart1.AxisY.Title    = "Devices Sold (billions)";
            flexChart1.LegendPosition = ChartPositionType.None;

            TranslateBehavior t = new TranslateBehavior();

            flexChart1.Behaviors.Add(t);

            flexChart1.AxisX.Scale = 0.2;
        }
Exemple #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            chart.ItemsSource  = GenerateRandNormal(500);
            chart.Palette      = Palette.Superhero;
            chart.Header       = NSBundle.MainBundle.LocalizedString("Drag to scroll/Pinch to zoom", "optional");
            chart.AxisY.Format = "n2";

            chart.BindingX = "X";
            chart.Series.Add(new ChartSeries()
            {
                SeriesName = "Normal Distribution", Binding = "Y"
            });
            chart.ChartType      = ChartType.Scatter;
            chart.LegendPosition = ChartPositionType.Bottom;

            ZoomBehavior z = new ZoomBehavior();

            chart.Behaviors.Add(z);

            TranslateBehavior t = new TranslateBehavior();

            chart.Behaviors.Add(t);

            zoomModeSelector.SelectedSegment = 3;
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_periodictable);

            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = GetString(Resource.String.periodictable);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            // initializing widgets
            sunburst                          = (C1Sunburst)FindViewById(Resource.Id.sunburst);
            sunburst.ShowTooltip              = false;
            sunburst.LegendPosition           = ChartPositionType.None;
            sunburst.InnerRadius              = 0.3;
            sunburst.SelectionMode            = ChartSelectionModeType.Point;
            sunburst.Binding                  = "Value";
            sunburst.BindingName              = "GroupName,SubGroupName,Symbol";
            sunburst.ChildItemsPath           = "SubGroups,Elements";
            sunburst.ItemsSource              = Data.Groups;
            sunburst.DataLabel.Position       = PieLabelPosition.Center;
            sunburst.DataLabel.Content        = "{}{name}";
            sunburst.DataLabel.Style.FontSize = 6;
            sunburst.Tapped                  += Sunburst_Tapped;

            TranslateBehavior t = new TranslateBehavior();

            sunburst.Behaviors.Add(t);
            ZoomBehavior z = new ZoomBehavior();

            sunburst.Behaviors.Add(z);
            Resources      resources = BaseContext.Resources;
            DisplayMetrics metrics   = resources.DisplayMetrics;

            sunburst.TranslateCustomViews += (object sender, EventArgs e) =>
            {
                if (_view != null)
                {
                    _view.Visibility = ViewStates.Invisible;
                    _view.SetX((int)(_x + sunburst.TranslationX));
                    _view.SetY((int)(_y + sunburst.TranslationY));

                    if (sunburst.Scale != 1)
                    {
                        if (_view.Parent != null)
                        {
                            _view.ScaleX = (float)sunburst.Scale;
                            _view.ScaleY = (float)sunburst.Scale;
                        }
                    }
                    _view.Visibility = ViewStates.Visible;
                }
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            // Create your application here
            SetContentView(Resource.Layout.activity_custom_plot_elements);

            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = GetString(Resource.String.customPlotElementsScrolling);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            // initializing widget
            mChart = this.FindViewById <FlexChart>(Resource.Id.flexchart);

            // set the binding for X-axis of FlexChart
            mChart.BindingX = "name";

            // initialize series elements and set the binding to variables of
            // ChartPoint
            ChartSeries seriesdevices = new ChartSeries();

            seriesdevices.Chart      = mChart;
            seriesdevices.SeriesName = "Devices sold";
            seriesdevices.Binding    = "devicesSold";
            // add series to list
            mChart.Series.Add(seriesdevices);

            // setting the source of data/items in FlexChart
            mChart.ItemsSource = CustomPoint.GetList(this);

            // Set axis Y title.
            mChart.AxisY.Title = "Devices Sold (billions)";
            // Set axis Y line invisible.
            mChart.AxisY.AxisLine = false;

            seriesdevices.SymbolLoading += (object sender, SymbolEventArgs e) =>
            {
                int       index = e.Index;
                ImageView view  = new ImageView(this.BaseContext);
                Bitmap    logo  = BitmapFactory.DecodeResource(this.BaseContext.Resources, imageResources[index]);
                view.SetImageBitmap(logo);
                e.PlotElement.Content = view;
            };

            TranslateBehavior t = new TranslateBehavior();

            mChart.Behaviors.Add(t);

            mChart.AxisX.Scale = 0.2;
        }
Exemple #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
            chart = new FlexChart();
            this.Add(chart);

            var cList = new List <Company>
            {
                new Company {
                    Name = "Apple", DevicesSold = 15.58
                },
                new Company {
                    Name = "Google", DevicesSold = 20.23
                },
                new Company {
                    Name = "Microsoft", DevicesSold = 10.46
                },
            };

            chart.ItemsSource = cList;

            chart.BindingX = "Name";
            chart.Series.Add(new ChartSeries()
            {
                SeriesName = "DevicesSold", Binding = "DevicesSold,DevicesSold"
            });

            chart.LegendPosition = ChartPositionType.None;
            chart.AxisY.AxisLine = false;
            chart.AxisY.Title    = "Devices Sold (billions)";
            chart.AxisY.Style    = new ChartStyle()
            {
                FontAttributes = CoreText.CTFontSymbolicTraits.Italic, FontSize = 16
            };

            chart.Series[0].SymbolLoading += (object sender, SymbolEventArgs e) =>
            {
                var         company = e.Item as Company;
                string      s       = "Images/" + company.Name.ToLower() + ".png";
                var         img     = new UIImage(s);
                UIImageView imgView = new UIImageView(img);
                imgView.ContentMode   = UIViewContentMode.ScaleAspectFit;
                e.PlotElement.Content = imgView;
            };

            TranslateBehavior translate = new TranslateBehavior();

            chart.Behaviors.Add(translate);

            chart.AxisX.Scale = 0.2;
        }
Exemple #7
0
    // Use this for initialization
    void Start()
    {
        float speed = 0.1f;
        Behavior p1Up    = new TranslateBehavior("player1 move up",    mPlayer1, new Vector3( 0,  1, 0) * speed);
        Behavior p1Down  = new TranslateBehavior("player1 move down",  mPlayer1, new Vector3( 0, -1, 0) * speed);
        Behavior p1Left  = new TranslateBehavior("player1 move left",  mPlayer1, new Vector3(-1,  0, 0) * speed);
        Behavior p1Right = new TranslateBehavior("player1 move right", mPlayer1, new Vector3( 1,  0, 0) * speed);
        Behavior p2Up    = new TranslateBehavior("player2 move up",    mPlayer2, new Vector3( 0,  1, 0) * speed);
        Behavior p2Down  = new TranslateBehavior("player2 move down",  mPlayer2, new Vector3( 0, -1, 0) * speed);
        Behavior p2Left  = new TranslateBehavior("player2 move left",  mPlayer2, new Vector3(-1,  0, 0) * speed);
        Behavior p2Right = new TranslateBehavior("player2 move right", mPlayer2, new Vector3( 1,  0, 0) * speed);

        // create the control scheme that maps inputs to these behaviors
        SetControlScheme(0, p1Up, p1Down, p1Left, p1Right);
        SetControlScheme(1, p2Up, p2Down, p2Left, p2Right);
    }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_zooming_and_scrolling);
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = GetString(Resource.String.zoomingAndScrolling);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            // initializing widgets
            mChart           = (FlexChart)FindViewById(Resource.Id.flexchart);
            mChart.ChartType = ChartType.Scatter;

            mZoomModeSpinner = (Spinner)FindViewById(Resource.Id.zoomModeSpinner);

            mChart.BindingX = "X";
            ChartSeries seriesSales = new ChartSeries();

            seriesSales.Chart      = mChart;
            seriesSales.SeriesName = "Normal Distribution";
            seriesSales.Binding    = "Y";

            mChart.Series.Add(seriesSales);

            mChart.ItemsSource = GenerateRandNormal(500);
            //mChart.AxisY.MajorUnit = 1.0;
            mChart.LegendPosition = ChartPositionType.Bottom;

            ZoomBehavior z = new ZoomBehavior();

            mChart.Behaviors.Add(z);

            TranslateBehavior t = new TranslateBehavior();

            mChart.Behaviors.Add(t);

            ArrayAdapter adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.zoomModeSpinnerValues, Android.Resource.Layout.SimpleSpinnerItem);

            adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            mZoomModeSpinner.Adapter = adapter;
            mZoomModeSpinner.SetSelection(3);
            mZoomModeSpinner.ItemSelected += mZoomModeSpinner_ItemSelected;
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
            sunburst                          = new C1Sunburst();
            sunburst.ShowTooltip              = false;
            sunburst.LegendPosition           = ChartPositionType.None;
            sunburst.InnerRadius              = 0.4;
            sunburst.SelectionMode            = ChartSelectionModeType.Point;
            sunburst.Binding                  = "Value";
            sunburst.BindingName              = "GroupName,SubGroupName,Symbol";
            sunburst.ChildItemsPath           = "SubGroups,Elements";
            sunburst.ItemsSource              = Data.Groups;
            sunburst.DataLabel.Position       = PieLabelPosition.Center;
            sunburst.DataLabel.Content        = "{}{name}";
            sunburst.DataLabel.Style.FontSize = 6;

            sunburst.Tapped += Sunburst_Tapped;
            this.View.Add(sunburst);
            this.View.Add(popup);
            this.View.BringSubviewToFront(popup);

            ZoomBehavior z = new ZoomBehavior();

            sunburst.Behaviors.Add(z);

            TranslateBehavior t = new TranslateBehavior();

            sunburst.Behaviors.Add(t);

            sunburst.TranslateCustomViews += (object sender, EventArgs e) =>
            {
                if (popup != null)
                {
                    CGAffineTransform scale     = CGAffineTransform.MakeScale((nfloat)sunburst.Scale, (nfloat)sunburst.Scale);
                    CGAffineTransform transform = CGAffineTransform.MakeTranslation((nfloat)sunburst.TranslationX, (nfloat)sunburst.TranslationY);
                    popup.Transform = CGAffineTransform.Multiply(scale, transform);
                }
            };
            sunburst.ClipsToBounds = true;
        }
Exemple #10
0
        public LoadAnimationSample()
        {
            InitializeComponent();
            Title = AppResources.LoadAnimationTitle;
            this.lblChartType.Text = AppResources.ChartType;
            this.lblStacking.Text  = AppResources.Stacking;
            this.lblRotated.Text   = AppResources.Rotated;


            foreach (var item in ChartSampleFactory.GetAllChartTypes())
            {
                this.pickerChartType.Items.Add(item.ToString());
            }
            foreach (var item in Enum.GetNames(typeof(ChartStackingType)))
            {
                this.pickerStackType.Items.Add(item);
            }
            foreach (var item in Enum.GetNames(typeof(AnimationMode)))
            {
                this.pickerAnimationMode.Items.Add(item);
            }
            ZoomBehavior z = new ZoomBehavior();

            z.ZoomMode = GestureMode.X;
            flexChart.Behaviors.Add(z);

            TranslateBehavior t = new TranslateBehavior();

            flexChart.Behaviors.Add(t);
            this.pickerChartType.SelectedIndex     = 0;
            this.pickerStackType.SelectedIndex     = 0;
            this.pickerAnimationMode.SelectedIndex = 3;

            flexChart.AnimationMode = C1.Xamarin.Forms.Chart.AnimationMode.All;
            C1Animation loadAnimation = new C1Animation();

            loadAnimation.Duration  = new TimeSpan(1500 * 10000);
            loadAnimation.Easing    = Xamarin.Forms.Easing.CubicInOut;
            flexChart.LoadAnimation = loadAnimation;
        }
Exemple #11
0
        public PeriodicTable()
        {
            InitializeComponent();
            Title = AppResources.PeriodicTableTitle;

            this.sunburst.ItemsSource = Data.Groups;
            List <Color> CustomPalette = new List <Color> {
                Color.FromHex("#f44336"), Color.FromHex("#9c27b0"), Color.FromHex("#3f51b5"), Color.FromHex("#03A9F4"), Color.FromHex("#009688"), Color.FromHex("#8BC34A")
            };

            sunburst.Palette         = Palette.Custom;
            sunburst.CustomPalette   = CustomPalette;
            this.sunburst.Tapped    += Sunburst_Tapped;
            this.sunburst.Rendering += Sunburst_Rendering;
            TranslateBehavior t = new TranslateBehavior();

            sunburst.Behaviors.Add(t);
            ZoomBehavior z = new ZoomBehavior();

            sunburst.Behaviors.Add(z);

            sunburst.TranslateCustomViews += Sunburst_TranslateCustomViews;
        }
Exemple #12
0
 public override Behavior GenerateRecordedBehavior()
 {
     TranslateBehavior generated_behavior = new TranslateBehavior("auto generate magnetic behavior", mOperand, m_Delta);
     return generated_behavior;
 }
Exemple #13
0
    // Use this for initialization
    void Start()
    {
        // create mock scene with two player objects
        mPlayer1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
        mPlayer2 = GameObject.Find("CubeHand");
        Vector3 scale = new Vector3(0.1f, 0.1f, 0.1f);
        mPlayer1.transform.localScale = scale;
        mPlayer2.transform.localScale = scale;
        // find the camera and man
        mCamera = GameObject.Find("Main Camera");
        mMan = GameObject.Find("Man");
        //RuntimeAnimatorController animCtrl = mMan.AddComponent("RuntimeAnimatorController") as RuntimeAnimatorController;
        //
        //RuntimeAnimatorController anim = (RuntimeAnimatorController)RuntimeAnimatorController.Instantiate(Resources.Load("myAnimation", typeof(RuntimeAnimatorController)));
        AnimatorOverrideController overrideController = new AnimatorOverrideController();
        //Animator manimator = mMan.GetComponent<Animator>();
        //manimator.runtimeAnimatorController = overrideController;
        //
        mLeftHand = GameObject.FindWithTag("LeftHand");
        mRightHand = GameObject.FindWithTag("RightHand");
        mRightShoulder = GameObject.FindWithTag("RightShoulder");
        // hook up the IK
        if (mRightShoulder != null)
        {
            //IKControl ik = mRightShoulder.GetComponent<IKControl>();
            //ik.target = mPlayer2.transform;
            //ik.ikActive = true;

            //IKCtrl ik = mRightShoulder.GetComponent<IKCtrl>();
            //ik.rightHandObj = mPlayer2.transform;
            //ik.ikActive = true;

            //ikLimb2 ik = mRightShoulder.GetComponent<ikLimb2>();
            //IKLimb ik = mRightShoulder.GetComponent<IKLimb>();
            IKScriptNew ik = mRightShoulder.GetComponent<IKScriptNew>();
            //ik.target = mPlayer2.transform;
            ik.IsEnabled = true;
        }
        // restart the scene
        Restart();

        // create the behaviors in this scene
        float speed = 0.025f;
        Behavior p1Up    = new TranslateBehavior("player1 move up",    mPlayer1, new Vector3( 0,  1, 0) * speed);
        Behavior p1Down  = new TranslateBehavior("player1 move down",  mPlayer1, new Vector3( 0, -1, 0) * speed);
        Behavior p1Left  = new TranslateBehavior("player1 move left",  mPlayer1, new Vector3(-1,  0, 0) * speed);
        Behavior p1Right = new TranslateBehavior("player1 move right", mPlayer1, new Vector3( 1,  0, 0) * speed);
        Behavior p2Up    = new TranslateBehavior("player2 move up",    mPlayer2, new Vector3( 0,  1, 0) * speed);
        Behavior p2Down  = new TranslateBehavior("player2 move down",  mPlayer2, new Vector3( 0, -1, 0) * speed);
        Behavior p2Left  = new TranslateBehavior("player2 move left",  mPlayer2, new Vector3(-1,  0, 0) * speed);
        Behavior p2Right = new TranslateBehavior("player2 move right", mPlayer2, new Vector3( 1,  0, 0) * speed);

        // create the control scheme that maps inputs to these behaviors
        mControls = new ControlScheme();
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.W),          p1Up   );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.S),          p1Down );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.A),          p1Left );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.D),          p1Right);
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.UpArrow),    p2Up   );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.DownArrow),  p2Down );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.LeftArrow),  p2Left );
        mControls.AddControl(new KeyCodeControlSignal(KeyCode.RightArrow), p2Right);
        //
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.One, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.Y,  1.0f), p1Up    );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.One, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.Y, -1.0f), p1Down  );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.One, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.X, -1.0f), p1Left  );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.One, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.X,  1.0f), p1Right );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.Two, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.Y,  1.0f), p2Up    );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.Two, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.Y, -1.0f), p2Down  );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.Two, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.X, -1.0f), p2Left  );
        mControls.AddControl(new GamepadAxisControlSignal(GamepadInput.GamePad.Index.Two, GamepadInput.GamePad.Axis.LeftStick, GamepadAxisControlSignal.Dimension.X,  1.0f), p2Right );
    }
Exemple #14
0
    // Use this for initialization
    void Start()
    {
        mRandomReverter = new RandomReverter();

        GameObject ArrowIndicator = GameObject.Find("ArrowIndicator");
        ElevatorArrow ArrowScript = null;

        if (ScenarioManager.Instance.GetDifficultyInfo().name == "Easy") {
            if (ArrowIndicator != null) {
                ArrowScript = ArrowIndicator.GetComponent<ElevatorArrow>() as ElevatorArrow;
            }
        }

        Dictionary<int, string> floorMap = new Dictionary<int, string>();
        int heavenFloor = Random.Range(1, 4);
        floorMap.Add(heavenFloor, "heaven");
        string team_instructions = "";
        switch(heavenFloor)
        {
        case 1:
            floorMap.Add(2, "hell");
            floorMap.Add(3, "bathroom");
            team_instructions = "Ground floor exit!\nGo!";
            if (ArrowScript != null) {
                ArrowScript.m_FloorGArrow.SetActive(true);
            }
            break;
        case 2:
            floorMap.Add(1, "hell");
            floorMap.Add(3, "bathroom");
            team_instructions = "1st floor exit!\nGo!";
            if (ArrowScript != null) {
                ArrowScript.m_Floor1Arrow.SetActive(true);
            }
            break;
        case 3:
            floorMap.Add(2, "hell");
            floorMap.Add(1, "bathroom");
            team_instructions = "2nd floor exit!\nGo!";
            if (ArrowScript != null) {
                ArrowScript.m_Floor2Arrow.SetActive(true);
            }
            break;
        }

        GameObject instructions = GameObject.Find("team instructions");
        Text text = instructions.GetComponent<Text>() as Text;
        text.text =  team_instructions;

        GameObject leftDoor = GameObject.Find("left door");
        GameObject rightDoor = GameObject.Find("right door");

        // find key game objects
        mHand = GameObject.Find("IK_fingertip");
        //Debug.Log("hand obj name: " + mHand.name);
        mElevateKeyPad = GameObject.Find("elevator button keypad");
        //Debug.Log("mElevateKeyPad name: " + mElevateKeyPad.name);
        mCorrectButton = GameObject.Find("button.001");
        mWrongButton = GameObject.Find("button.002");
        mGameCamera = GameObject.Find("Main Camera");
        mElevatorFloor = GameObject.Find("big ground");
        GameObject elevatorWall = GameObject.Find("elevator walls");
        mHellBackground = GameObject.Find("outside environment_hell");
        mHeavenBackground = GameObject.Find("outside environment_heaven");
        mBathroomBackground = GameObject.Find("outside environment_bathroom");

        // find IK objects
        mGameObject_IK_Control   = GameObject.Find("IK_Control");
        mGameObject_RightArm     = GameObject.Find("mixamorig:RightArm");
        mGameObject_RightForeArm = GameObject.Find("mixamorig:RightForeArm");
        mGameObject_RightHand    = GameObject.Find("mixamorig:RightHand");
        mGameObject_IK_fingertip = GameObject.Find("IK_fingertip");
        mGameObject_IK_elbow     = GameObject.Find("IK_elbow");

        // sample initial state first-time through
        mRememberedTransform_IK_Control.Read  (mGameObject_IK_Control.transform);
        mRememberedTransform_RightArm.Read    (mGameObject_RightArm.transform);
        mRememberedTransform_RightForeArm.Read(mGameObject_RightForeArm.transform);
        mRememberedTransform_RightHand.Read   (mGameObject_RightHand.transform);
        mRememberedTransform_IK_fingertip.Read(mGameObject_IK_fingertip.transform);
        mRememberedTransform_IK_elbow.Read    (mGameObject_IK_elbow.transform);

        // initialize state
        Reset();

        ElevatorMoveBehavior elevatorMover = new ElevatorMoveBehavior("elevator move", mElevatorFloor, floorMap, leftDoor, rightDoor, this, mHellBackground, mHeavenBackground, mBathroomBackground, elevator_bell);
        for(int i = 0; i < mFloorSignals.Count; ++i)
        {
            mIndirectControls.AddControl(mFloorSignals[i],          elevatorMover);
            GameObject obj = GameObject.Find("button.00" + (i+1).ToString());
            //Debug.Log(obj.name);
            mIndirectControls.AddControl(mButtonPushSignals[i],          new CorrectButtonBehavior("correct button push", obj, mHand, i));
            /*
            ButtonPushBehavior pushBehavior;
            if (i == 0)
            {
                pushBehavior = new CorrectButtonBehavior("correct button push", obj, mHand, i, this);
            }
            else
            {
                pushBehavior = new WrongButtonBehavior("wrong button push", obj, mHand, i);
            }
            mIndirectControls.AddControl(mButtonPushSignals[i], pushBehavior);
            //*/
        }

        // these are not presently actually used
        //List<ButtonPushBehavior> buttonBehaviorList = new List<ButtonPushBehavior>();
        //buttonBehaviorList.Add(new CorrectButtonBehavior("correct button push", mCorrectButton, mHand, 1));
        //buttonBehaviorList.Add(new WrongButtonBehavior("wrong button push", mWrongButton, mHand, 2));

        float speed = 0.01f;
        // automatic controls
        mControls.AddControl(new TrueSignal(),          					new UnstableBehavior("unstable hand", mHand));

        // first player
        Behavior p1Up    = new TranslateBehavior("player1 move up",    mHand, new Vector3( 0,  1, 0) * speed);
        Behavior p1Down  = new TranslateBehavior("player1 move down",  mHand, new Vector3( 0, -1, 0) * speed);
        Behavior p1Left  = new TranslateBehavior("player1 move left",  mHand, new Vector3( 1,  0, 0) * speed);
        Behavior p1Right = new TranslateBehavior("player1 move right", mHand, new Vector3(-1,  0, 0) * speed);
        SetControlScheme(0, p1Up, p1Down, p1Left, p1Right);

        // second player
        mHandPushBehavior = new PushBehavior("finger push", mHand, mElevateKeyPad);
        SetControlScheme(1, mHandPushBehavior, null, null, null);

        //mControls.AddControl(new TrueSignal(),          scenario.GetBehavior("unstable hand"));
        //mControls.AddControl(new TrueSignal(),          new CorrectButtonBehavior("correct button push", mCorrectButton, mHand, 1));
        //mControls.AddControl(new TrueSignal(),          new CorrectButtonBehavior("wrong button push", mWrongButton, mHand, 2));
    }
Exemple #15
0
    public override Behavior GenerateRecordedBehavior()
    {
        //Debug.Log("UnstableBehavior GenerateRecordedBehavior");
        TranslateBehavior generated_behavior = new TranslateBehavior("auto generate unstable behavior",    mOperand, position_offset);

        return generated_behavior;
    }