/// <summary>
        /// Switch on the UI element indicating where a given defender should move, or switch it off when the defender arrives.
        /// </summary>
        /// <param name="defender">The moving defender, or null if all notices should be off.</param>
        private void ToggleMoveNotice(DefenderSandbox defender, Indicate startOrStop)
        {
            if (defender == null)
            {
                foreach (GameObject notice in moveNotices)
                {
                    notice.SetActive(false);
                }
                return;
            }

            bool newState = startOrStop == Indicate.Start ? true : false;

            switch (defender.gameObject.name)
            {
            case RANGER:
                rangerNotice.SetActive(newState);
                break;

            case GUARDIAN:
                guardianNotice.SetActive(newState);
                break;

            case BRAWLER:
                brawlerNotice.SetActive(newState);
                break;
            }
        }
Beispiel #2
0
 public static void Update(
     EPStatement statement,
     string theString,
     int intPrimitive)
 {
     Indicate.Add(new object[] {theString, intPrimitive});
     Statements.Add(statement);
 }
 private void NoteObject(string tag, Indicate startOrStop)
 {
     if (startOrStop == Indicate.Start)
     {
         foreach (GameObject obj in GameObject.FindGameObjectsWithTag(tag))
         {
             MonoBehaviour.Instantiate <GameObject>(indicator,
                                                    new Vector3(obj.transform.position.x, indicator.transform.position.y, obj.transform.position.z +
                                                                indicator.transform.position.z),
                                                    indicator.transform.rotation);
         }
     }
     else
     {
         foreach (GameObject indicator in GameObject.FindGameObjectsWithTag(INDICATOR_TAG))
         {
             indicator.SetActive(false);
         }
     }
 }
Beispiel #4
0
 public void Reset()
 {
     Indicate.Clear();
     Statements.Clear();
 }
Beispiel #5
0
        /// <summary>
        /// 表示方法の設定
        /// </summary>
        public void SetIndicate(Indicate indicate, RangeIndicate range, RadiusIndicate radius)
        {
            //3種類2つの項目を総当たり的に表現
            if (indicate == Indicate.Visible)
            {
                //表示
                converge = false;
                if (range == RangeIndicate.StartToEnd)
                {
                    //startからend
                    lerpStart.SetValues(startAnchor, startAnchor);
                    lerpEnd.SetValues(startAnchor, endAnchor);
                    //start.SetTarget(startAnchor);
                    //end.SetTarget(endAnchor);
                }
                else if (range == RangeIndicate.EndToStart)
                {
                    //endからstart
                    lerpStart.SetValues(endAnchor, startAnchor);
                    lerpEnd.SetValues(endAnchor, endAnchor);
                    //start.SetTarget(startAnchor);
                    //end.SetTarget(endAnchor);
                }
                else if (range == RangeIndicate.CenterToOutside)
                {
                    //centerからoutside
                    float center = (endAnchor - startAnchor) * 0.5f + startAnchor;
                    lerpStart.SetValues(center, startAnchor);
                    lerpEnd.SetValues(center, endAnchor);
                    //start.SetTarget(startAnchor);
                    //end.SetTarget(endAnchor);
                }

                if (radius == RadiusIndicate.InnerToOuter)
                {
                    //innerからouter
                    lerpInner.SetValues(innerAnchor, innerAnchor);
                    lerpOuter.SetValues(innerAnchor, outerAnchor);
                    //inner.SetTarget(innerAnchor);
                    //outer.SetTarget(outerAnchor);
                }
                else if (radius == RadiusIndicate.OuterToInner)
                {
                    //outerからinner
                    lerpInner.SetValues(outerAnchor, innerAnchor);
                    lerpOuter.SetValues(outerAnchor, outerAnchor);
                    //inner.SetTarget(innerAnchor);
                    //outer.SetTarget(outerAnchor);
                }
                else if (radius == RadiusIndicate.CenterToOutside)
                {
                    //centerからoutside
                    float center = (outerAnchor - innerAnchor) * 0.5f + innerAnchor;
                    lerpInner.SetValues(center, innerAnchor);
                    lerpOuter.SetValues(center, outerAnchor);
                    //inner.SetTarget(innerAnchor);
                    //outer.SetTarget(outerAnchor);
                }
            }
            else
            {
                //非表示
                converge = true;
                if (range == RangeIndicate.StartToEnd)
                {
                    //startからend
                    lerpStart.SetValues(startAnchor, endAnchor);
                    lerpEnd.SetValues(endAnchor, endAnchor);
                    //start.SetTarget(endAnchor);
                    //end.SetTarget(endAnchor);
                }
                else if (range == RangeIndicate.EndToStart)
                {
                    //endからstart
                    lerpStart.SetValues(startAnchor, startAnchor);
                    lerpEnd.SetValues(endAnchor, startAnchor);
                    //start.SetTarget(startAnchor);
                    //end.SetTarget(startAnchor);
                }
                else if (range == RangeIndicate.CenterToOutside)
                {
                    //centerからoutside
                    float center = (endAnchor - startAnchor) * 0.5f + startAnchor;
                    lerpStart.SetValues(startAnchor, center);
                    lerpEnd.SetValues(endAnchor, center);
                    //start.SetTarget(center);
                    //end.SetTarget(center);
                }

                if (radius == RadiusIndicate.InnerToOuter)
                {
                    //innerからouter
                    lerpInner.SetValues(innerAnchor, outerAnchor);
                    lerpOuter.SetValues(outerAnchor, outerAnchor);
                    //start.SetTarget(outerAnchor);
                    //end.SetTarget(outerAnchor);
                }
                else if (radius == RadiusIndicate.OuterToInner)
                {
                    //outerからinner
                    lerpInner.SetValues(innerAnchor, innerAnchor);
                    lerpOuter.SetValues(outerAnchor, innerAnchor);
                    //start.SetTarget(innerAnchor);
                    //end.SetTarget(innerAnchor);
                }
                else if (radius == RadiusIndicate.CenterToOutside)
                {
                    //centerからoutside
                    float center = (outerAnchor - innerAnchor) * 0.5f + innerAnchor;
                    lerpInner.SetValues(innerAnchor, center);
                    lerpOuter.SetValues(outerAnchor, center);
                    //start.SetTarget(center);
                    //end.SetTarget(center);
                }
            }

            //範囲の固定設定
            if (range == RangeIndicate.Fixed)
            {
                lerpStart.SetValues(startAnchor, startAnchor);
                lerpEnd.SetValues(endAnchor, endAnchor);
            }
            //半径の固定設定
            if (radius == RadiusIndicate.Fixed)
            {
                lerpInner.SetValues(innerAnchor, innerAnchor);
                lerpOuter.SetValues(outerAnchor, outerAnchor);
            }

            //処理中
            processing = true;
        }
 public static void ServerDisplay(object sender, Indicate.ServerDisplayArgs args)
 {
     Console.WriteLine ("Server was displayed");
 }