コード例 #1
0
 private ZoningTool11 CreateZoningTool()
 {
     if (Object.op_Inequality((Object)this.buildTool, (Object)null))
     {
         return(this.buildTool);
     }
     this.buildTool = (ZoningTool11)((Component)ToolsModifierControl.get_toolController()).get_gameObject().GetComponent <ZoningTool11>();
     if (Object.op_Equality((Object)this.buildTool, (Object)null))
     {
         this.buildTool = (ZoningTool11)((Component)ToolsModifierControl.get_toolController()).get_gameObject().AddComponent <ZoningTool11>();
     }
     return(this.buildTool);
 }
コード例 #2
0
 private void DestroyZoningTool()
 {
     Logger.DebugData((object)Object.op_Equality((Object)ToolsModifierControl.get_toolController(), (Object)null));
     if (Object.op_Inequality((Object)ToolsModifierControl.get_toolController(), (Object)null) && (Object.op_Equality((Object)ToolsModifierControl.get_toolController().get_CurrentTool(), (Object)this.buildTool) || Object.op_Equality((Object)ToolsModifierControl.get_toolController().get_CurrentTool(), (Object)null)))
     {
         ToolsModifierControl.get_toolController().set_CurrentTool((ToolBase)this.netTool);
     }
     if (Object.op_Inequality((Object)this.buildTool, (Object)null))
     {
         Logger.Debug("Destroying tool: " + ((object)this.buildTool).GetType().Name + " it is: " + (object)this.buildTool);
         Object.Destroy((Object)this.buildTool);
         this.buildTool = (ZoningTool11)null;
     }
     else
     {
         Logger.Debug("Destroying tool: " + typeof(ZoningTool11).Name + " it is: " + (object)this.buildTool);
     }
 }
コード例 #3
0
        public virtual void OnBeforeSimulationTick()
        {
            if (!this.enabled)
            {
                return;
            }
            if (Object.op_Inequality((Object)this.buildTool, (Object)null))
            {
                if (!this.mouseDown && this.buildTool.SegmentsTouched.Count > 0)
                {
                    this.buildTool.SegmentsTouched = new HashSet <int>();
                }
                this.buildTool.isHoveringSegment = false;
                this.buildTool.ToolCursor        = (CursorInfo)this.netTool.m_upgradeCursor;
                // ISSUE: variable of the null type
                __Null texture = ((CursorInfo)this.netTool.m_upgradeCursor).m_texture;
            }
            if (!this.mouseRayValid)
            {
                return;
            }
            ToolBase.RaycastInput input;
            ((ToolBase.RaycastInput) ref input).\u002Ector(this.mouseRay, this.mouseRayLength);
            input.m_netService         = (__Null)this.raycastService;
            input.m_ignoreTerrain      = (__Null)1;
            input.m_ignoreNodeFlags    = (__Null) - 1;
            input.m_ignoreSegmentFlags = (__Null)32;
            ToolBase.RaycastOutput output;
            if (ZoningTool11.RayCast(input, out output))
            {
                int netSegment = (int)output.m_netSegment;
                if (netSegment != 0)
                {
                    NetManager instance = Singleton <NetManager> .get_instance();

                    NetTool.ControlPoint startPoint;
                    NetTool.ControlPoint middlePoint;
                    NetTool.ControlPoint endPoint;
                    this.GetSegmentControlPoints(netSegment, out startPoint, out middlePoint, out endPoint);
                    ushort num1;
                    ushort num2;
                    int    num3;
                    int    num4;
                    if ((NetTool.CreateNode(((NetSegment) ref ((Array16 <NetSegment>)instance.m_segments).m_buffer[netSegment]).get_Info(), startPoint, middlePoint, endPoint, (FastList <NetTool.NodePosition>)NetTool.m_nodePositionsSimulation, 1000, true, false, true, false, false, false, (ushort)0, ref num1, ref num2, ref num3, ref num4) & 32L) != null)
                    {
                        this.toolError = ToolError.OutOfArea;
                    }
                    else if (this.mouseDown)
                    {
                        this.HandleMouseDrag(ref output, ref this.toolError, false, ref netSegment);
                    }
                    else
                    {
                        this.HandleMouseDrag(ref output, ref this.toolError, true, ref netSegment);
                    }
                    if (Object.op_Inequality((Object)this.buildTool, (Object)null))
                    {
                        this.buildTool.segment      = (NetSegment)((Array16 <NetSegment>)instance.m_segments).m_buffer[netSegment];
                        this.buildTool.segmentIndex = netSegment;
                        if (Object.op_Equality((Object)(((NetSegment) ref this.buildTool.segment).get_Info().m_netAI as RoadAI), (Object)null) && this.toolError != ToolError.OutOfArea)
                        {
                            this.toolError = ToolError.CannotUpgradeThisType;
                        }
                        this.buildTool.isHoveringSegment = this.toolError != ToolError.CannotUpgradeThisType;
                        this.GetSegmentControlPoints(netSegment, out this.buildTool.startPoint, out this.buildTool.middlePoint, out this.buildTool.endPoint);
                    }
                }
            }